多くの人は、DevOps に関連する「文化的」要素を避けています。 しかし、「文化」には「コミュニケーション」が深く関わっており、コミュニケーションは DevOps の成功だけでなく、企業内のあらゆる自動化およびオーケストレーションの取り組みの成功にも不可欠です。
ポート 7243 を開く必要があるとは知りませんでした。
新しい DNS エントリが必要であることは知りませんでした。
クライアント IP アドレスが必要だとは知りませんでした。
必要だとは知りませんでした…
知りませんでした。
この 3 つの短い言葉は、おそらく他のどの言葉よりも痛烈に、今日の多くの企業に存在するコミュニケーションの課題を説明しています。 フレームワークとスクリプトは、自動化するように指示されたものだけを自動化できるため、ある時点でそれを知る必要があります。 どうして知っていますか? それがコミュニケーションです。
IT の世界では、ネットワーク担当者は開発者と話をせず、運用担当者はセキュリティを好まないというのが常套句ですが、現実には、運用環境を管理する各運用ドメインが、アプリを運用環境にデプロイするために何が必要かを把握していない限り、オーケストレーションを行うことはできません。
ファイアウォールやロード バランサーの構成などの個々のタスクは簡単に実行できますが、それぞれが役立つためにはアプリケーション固有の情報が必要です。 アプリがどのポートを使用しているかがわからない場合は、ポートを開くことはできません。 2017 年 1 月の iHealth データによると、6,000 社を超える顧客で 36,731 個の異なる (固有の) ポートが使用されています。 企業で使用されているプロトコルはそれほど多くありません (多くはありますが、それほど多くはありません)。つまり、さまざまなサイトが「ネイティブ」ポート以外のプロトコルを使用しているということです。 Web アプリも複数のポートに分散されています。 HTTP/S と言えば、間違いなく思い浮かぶのがポート 80 と 443 です。 また、これらのプロトコルでは、ポート 8080 と 8443 という代替ポートもよく使用されます。 次に、8081 (およそアプリを表す 4605 個の異なる仮想サーバーで使用) と 8082 があります。 そしてもちろん、特権範囲 (0 ~ 1024) より上のポートの多くは、(私のデータからは) 関連アプリが識別できない状態で使用されています。ポート 10203 には「標準」プロトコルが割り当てられていないためです。
ここでのポイントは、特定のアプリケーションのデプロイメントに対して特定のポートを想定することはできないということです。 誰かがパブリック API のバックエンドを別のポートで実行したい場合に備えて、その情報を伝達する必要があります。 難読化によるセキュリティは今でも重要です。
このような単純なデータに加えて、ロード バランサーが使用しているパブリック IP アドレスまたはホスト名、または各クラスターに含める必要があるバックエンド サービスがわからない場合は、ロード バランサーを構成することはできません。 これは必要な情報であり、その情報は開発または運用から、通常はネットワーク運用でシステムを管理する人々に伝わる必要があります。
それはコミュニケーションを意味します。 その情報を収集するためのツールやフォームを構築できないわけではありません。 (その他の) API エコノミーと社内のデジタル変革の取り組みでは、このようなやり取りが本質的にデジタルであることがほぼ必須となっています。 しかし、データを収集するためのフォームや API を構築するには、収集するデータを把握している必要があります。
座って話し合わなければなりません。 ピザとコーヒーを飲みながら。 ビールと手羽先を食べながら。 電子メールまたは電話で。 何らかの方法で、アプリケーションの展開を担当するさまざまなグループすべてと実際にコミュニケーションを取り、必要な情報を確実に把握する必要があります。
人々が DevOps の文脈で文化とコミュニケーションについて話すとき、これは彼らが伝えようとしていることの 1 つです。
もちろん、それだけではありません。しかし、ビジネスと消費者の要求を満たすために物事をスピードアップする根底には、コミュニケーションという単純な前提があることを無視することはできません。 アプリをより高速に、よりスマートに、より安全に動作させるために何が必要かを知ること。 知らないことは自動化できず、自動化できないものは手動による介入が必要となり、展開プロセスに遅延や課題が生じる可能性があります。 アプリをより高速かつ安全にしたい場合は、より一生懸命働くのではなく、より賢く働く必要があります。そして、それはすべて、さまざまな関係者間でコミュニケーションを取り、何が必要かを把握することから始まります。
デジタル変革が進む世界では、知ることが戦いの半分を占めます。 残り半分はテクノロジーです。 両方がなければ、開発と展開に対する DevOps アプローチを部分的に含むデジタル戦略を正常に実行することはできません。