DXはコンテナから始めよう! その3つの理由
#クラウドネイティブ #DX #コンテナ #DevOps
この記事は1年以上前に投稿されました。情報が古い可能性がありますので、ご注意ください。
本稿はMirantisブログ「Where to Start Digital Transformation: Containerization」を翻訳・編集したものです。
デジタルトランスフォーメーション(DX)は、理論および実践の両面をもつ複雑な取り組みです。プロセスのデジタル化や適応性をはじめ、顧客に注力するためのテクノロジーや、データに基づく意思決定や企業文化の変革など、さまざまな要素が混在し気の遠くなるような課題が山積みです。そのためDXを成功させるには、最初のステップを何にするかという決定が重要になります。
イノベーションの恩恵を受けられ、今後のトレンドに適合し、導入のハードルが低いコンテナ化がよいでしょう。コンテナ化は単にインフラストラクチャの効率化だけでなく、DXの第一歩目の取り組みとして最適です。
1. イノベーションの恩恵
コンテナ化は、開発・インフラストラクチャ・DevOpsの実践に携わるエンジニアリングチームにとってゲームチェンジャーとなるものです。コンテナは軽量かつ可搬性に優れており俊敏でバージョン管理もしやすいため、優れた最新のツールや多くの事例で広く使われています。例えば最近開発されたArgoCD、Lens、FluxCDなどのツールです。またかつては巨大IT企業のみ利用可能であった多くの技術がCloud Native Computing Foundation(CNCF)により誰にでも利用可能になりました。それらにもコンテナ技術が活用されています。こういったツールには、スケーラビリティ・構成管理・サービスディスカバリ・宣言的デプロイメント・セルフヒーリングなど、世界トップクラスの機能を備えた構築と設計がなされているコンテナオーケストレーションプラットフォームであるKubernetesもあります。
エンジニアリングチームにとっては、そのまますぐに利用可能なプラットフォームなどコンテナ化がもたらす技術の相互運用性にも期待感が高まることでしょう。大規模で水平的な拡張が可能なリレーショナルデータベースの構築とデプロイは、時間も人的資源も必要なうえセキュリティリスクも高いタスクです。しかしVitessのようなコンテナベースのソリューションを利用すれば特に高い技術がなくとも対応できます。
このようにコンテナ化によって利用が容易になったものには、開発プラットフォーム以外にもCOTS(Commercial-Off-the-Shelf)があります。例えばログモニタリングのソリューションを必要とする組織での導入例を考えてみましょう。コンテナ化以前はサーバー・スケール・ネットワークなど複雑な要素が多数あり、セットアップや構成には数時間という単位ではなく、数週間または数か月もかかっていました。しかし今やKubernetes 上で Splunk のコンテナを使用することで、モニタリングソリューションを迅速に導入できるようになりました。
2. 今後のトレンド
DXは重い車輪を押すようなものです。重いので初速は出ませんが、継続して押し続けることで徐々にスピードも増していきます。DXそのものは無形であり複雑な概念なので具体的な出発点を必要とします。コンテナ化はプロセスが分かりやすいため出発点として最適です。
アプリケーションポートフォリオは時間と共に煩雑に拡大しがちです。アプリケーションは追加されては忘れられ、開発者や管理者は業務知識と共に入れ替わり、残されるアプリケーションは膨大な技術負債となります。コンテナ化はアプリケーションポートフォリオを再検討する機会になります。コンテナ化にあたって管理者と開発者は、時代遅れのアプリケーションや意味をなさないアプリケーション、そして重複しているアプリケーションがないかを綿密に調査します。
マイクロサービスアーキテクチャは、幅広いユースケースに適用できるソフトウェアへのモダンなアプローチです。コンテナ化はマイクロサービスアーキテクチャとの相性がよい技術で、スパゲッティのようにではなく、レンガを積み上げるように構築できます。マイクロサービス化をすれば、アプリケーションはチームごとに分割が可能となり、耐久性が高まり、理解しやすくなります。例えるなら、現実世界のインターモーダル輸送における物理的な「コンテナ」の発明です。
現実世界における物理的な「コンテナ」は、貨物の積み込みを簡素化および標準化し、輸送業界に革命をもたらしました。この標準化があったからこそ、高度で洗練された道具やプロセスを作ることができたのです。標準化によって世界中の出荷プロセスにおける摩擦も削減できました。同じようにソフトウェア業界においても、コンテナ化技術によってワークロードの簡素化・標準化に成功しました。これにより開発やデプロイのための洗練されたツールやプロセスの構築が可能となり、ソフトウェア業界に革命がもたらされたのです。
コンテナ化の市場における導入と普及状況をみると、コンテナ化が仮想化の主流になりつつあることから、将来を見据えたエンジニアリングリーダーや開発者が、コンテナやKubernetesを学習し経験を積んでいることがわかります。現在はコンテナ化技術を習得した開発者を見つけることは容易ではありませんが、組織にとってコンテナ化が人材を引き寄せる要因になります。今後はコンテナとKubernetesに精通した技術者層が拡大するので、技術人材の獲得が容易になり、獲得後のスキルアップもほとんど不要となるでしょう。
3. 導入が容易
運用チームやその他のチームにとっては、これまでよりも複雑なツールの設定に対応する必要が出るかもしれませんが、開発チームにとってはそれほど困難はなく、すぐにコンテナ化に着手できます。開発チームからコンテナ化を開始すれば、その勢いがDevOpsやインフラチームなどへと波及していくでしょう。開発チームはビジネスドメインに最も近いため、そこから始まるイノベーションが、開発を支える周辺のチームにも変容を促すことでしょう。
まとめ
あなたの職場のDXは、実現に時間がかかりすぎていませんか? 効果が出ていないのではないですか? 複雑すぎてはいませんか? 1つでも当てはまるのなら、最初のステップとしてコンテナ化に重点を置くことをお勧めします。コンテナ化はプロセスがシンプルで、エンジニアリングチームをワクワクさせ、大きくて重い車輪を動かし始めることができます。
コンテナ化についてもっと知りたくなりましたか?
それでは、電子書籍「Learn Containers 5 Minutes at a Time(日本語版Ebookは鋭意翻訳中)」を無料でダウンロードしてください。またはクリエ―ションラインによる「Dcker Training(日本語によるEラーニングトレーニングを鋭意準備中。2023年開講予定。)」で包括的なトレーニングの受講をお勧めします。
Mirantis製品に関するお問い合わせはこちら。