BLOG

DevOpsライフスキル:インフラストラクチャチームとの連携

 サムネール
Published December 12, 2019

アプリケーション開発者にとって、大規模なインフラストラクチャプラットフォームチームと一緒に仕事をするということは、日々良い面もあれば、悪い面もあります。チームがマネージド型のセルフサービスモデルを用いたインフラストラクチャ、ネットワーキング、セキュリティのサービスを提供している場合――これによって、開発者は面倒なインフラストラクチャの管理から解放されます――こんなに有難いことはありません。これに対して、インフラストラクチャチームの主要デリバリーが1週間以上のバックログを抱え、次々に担当が引き継がれていくようであれば、アプリ開発者はうんざりしてしまうことでしょう。

問題は、後者の場合にどうすればいいかということです。率直に言って、開発者に求められる生産能力を制限しているとしか思えない、対応が遅く、煩雑なインフラストラクチャチームとうまく付き合っていくにはどうすればいいのでしょう?

この葛藤自体がそうであるように、答は極めてオーソドックスです。まずは全体像をしっかりと把握するところから始め、十分な共感を示し、互いに尊重し合いながら、共通の目標のもと一丸となって取り組むようにします(平和賞級のプランだと思いませんか?)。

ことはそう簡単には運ばないかもしれません。ですが、手始めとして、これは絶好のプランです。

 

全体像をしっかりと把握する

アプリケーション開発者は多くの場合、動かせない(または動かしにくい)多くの制約に縛られています。企業のインフラストラクチャ、ポリシー、セキュリティ要件、監査要件はいずれもビジネスの重要な検討事項であり、つまりはアプリケーションの重要な検討事項ということになります。しかし、多くの組織において、これらの重要要素を担当するNetOpsやSecOpsのチームは、DevOps のチームに比べて動きが遅い場合が多く、摩擦を生むことになります。

ある意味、NetOpsチームがDevOpsチームに比べて遅いと言うことは、リンゴとミカンを比較するようなことなのかもしれません。ここ数年、DevOps分野は劇的な変化を遂げており、いたる所でアジャイルなワークフローや自動化が採用されています。これに対して、ではようやく独自の自動化ツールへのアクセスが可能になってきているところです。その結果、多くの組織が再びスピードと生産性を大きく向上させようとしていますが(今回はインフラストラクチャサービスにおいて)、そのためにはNetOpsチームがスキルを進化させ、新しいネットワーキング自動化ツールを活用できるようになることが必要です。

十分な共感を示す

DevOpsチームがNetOpsチームよりも随分早くから自動化ツールにアクセスしているという事実は、両者を分ける大きな違いとなっています。しかし、DevOpsチームがインフラストラクチャチームについて知るべきことは、この違いだけではありません。

NetOpsについて知っておくこと(場合によっては、覚えておくこと)が推奨される5つの事柄を以下に紹介します。

  • NetOpsプロフェッショナルはベンダーテクノロジーをマスターし、自分達が管理するプラットフォームに熟達しています。皆さんはこれまでに、「ハイブリッドクラウド」やこれに似たような言葉を聞いたことがあると思います。これは、多くの組織がさまざまな調達先から入手したリソースを利用しており、今後、オンプレミスのインフラストラクチャ、プライベートクラウドリソース、およびAWS、Google Cloud、Microsoft Azureといったパブリッククラウドサービスを用いて1つのソリューションを構築していくであろうことを示すものです。NetOpsチームはこれら全てを理解し、マスターしなければならないわけですが、これは決して容易ではありません。
  • ネットワーキングの運用が、パフォーマンスの低いアプリケーションか優れたカスタマーエクスペリエンスとなるかの違いを生んでいる場合が少なくないことを、NetOpsプロフェッショナル達は理解しています。ウィンドウサイジング、輻輳制御アルゴリズム、セグメントサイジングなどの重要な機能がバックグラウンドで実行されていることを、ほとんどのアプリケーション開発者は考えてもいません。しかし、NetOpsチームはちゃんと知っています。
  • CLIがNetOpsのプロに付属しており、一般的に、スクリプトの記述は難なく行えるものの、非同期実行やコールバックなどのプログラミング技術には対応しないケースがほとんどです。
  • (誰もがそうであるように)彼らは良い仕事をしたいと思っていますが、物事が悪い方向へ進んでいるという話ばかりが耳に入ってくる環境で働いています。これは多くの場合、一部のチームがそれらを回避してしまったことによるものです。
  • 何があっても、BGPルーティングの説明を求めてはいけません。真面目な話、これはインターネットの存在の根幹に関わることです。このワームホールを開けたら最後、二度と抜け出せなくなってしまうかもしれません。

互いに尊重し合い、共通の目標を持つ

周知のとおり、導入の加速の鍵を握っているのが自動化です。NetOpsチームに共通の理解を持ってもらうよう働きかけましょう。アプリケーション開発ライフサイクルにおける自動化の価値について彼らに話し、自動化がワークフローの改善にいかに有効であるかを探るよう促します。異なるチーム間の相互交流を促進するプログラムやイベントが、このような共通の項目に光を当てるのに役立つ場合があります。F5は、ランチアンドラーン(ランチと学習)セッションを通じて、これまでつながりのなかった部門を結びつける活動で大きな成果をあげています。

加えて、F5は各種の無料Super-NetOpsオンラインコースを通して、ネットワーキングプロフェッショナルが自動化を進め、スキルを高められるよう手助けしています。このSuper-NetOpsプログラムは、ネットワークオペレーションプロフェッショナルを対象としたもので、重要なアプリケーションサービスを標準化し、自動化ツールチェーンを有効活用するための能力を得るのに必要なスキルの習得を支援します。ちなみに、自動化ツールチェーンはサービス開始に要する時間を数日から数分に短縮するだけでなく、全てのアプリケーションで必要なコンプライアンス、ポリシー、パフォーマンス標準を確実に満たせるようにします。

進むべき道

自動化の促進やセルフサービスインフラストラクチャといった話題に同僚を引き込む際には、全員が同じ成果を目指して取り組んでいるのだということを念頭に置くようにしましょう。チーム間で摩擦が生じている場合や、他に比べて動きの遅いチームがある場合、ついつい自分の同僚を成功を阻む敵だと思ってしまいがちです。実際には、摩擦が解消(あるいは、少なくとも大きく緩和)され、全ての部門が他の部門を支援しながら前進することによって、持続可能な成功がもたらされるのです。