マイクロサービスの現在
継続的デリバリへ移行し、スピードアップするためには、変化率を上げるとともに、変化のコストや大きさ、リスクを減らす必要がある。そこで、今やDevOpsやアジャイルへの移行やコンテナ化が注目をせざるを得ない、とAdrian Cockcroft氏は、11月にアムステルダムで開催されたDockerカンファレンスの基調講演で発表した。
継続的デリバリを活用して製品開発プロセスをスピードアップする方法を探るため、Adrian氏はOODAサイクル (Observe – Orient - Decide – Act)について、このサイクルを速く回せば回すほど、顧客やマーケットについて新しいことが早く学習でき、アジャイルが増し、競争力が増す。Adrian氏によれば、この通り実行している企業は製品の品質や学習能力が改善しているのを実感している。氏の経験では、これを達成するための課題は、多くの組織がプロダクトマネージャや開発者、品質担当者などの独自チームで構成されており、何かを成し遂げるためには、多くのミーティングやウォーターフォールのアプローチを取らざるを得ないことだ。一般的な解決策としては組織を横断するひとつのデリバリグループを構築することだが、Adrian氏はこのやり方は効率的ではないと考えている。各グループが独自のプラットフォームを再発明するからだ。氏は分離されたプラットフォームチームが他のすべてのチームが利用できるAPIを公開するマイクロサービスの周囲にチームを構成するべきだと考えている。Adrian氏はこれがまさにDevOpsであり、チームの再組織化ということだ。
2014年に起こったのはDockerが標準のポータブルコンテナになり、2015年の多くの人のロードマップに表れたということだ。Dockerが普及した重要な理由は、Adrian氏によれば、移植性とコンテナを使ったデリバリによるスピードアップだ。数時間、数十分かかっていたのもが秒単位になった。また、氏は次のように言っている。
スピードは新しいマイクロサービスアーキテクチャを実現します。
現在のウェブのスケールとマイクロサービスアーキテクチャにはいくつかの共有の特性がある、とAdrian氏は言う。
- 新しいマイクロサービスは配置される頻度が少ない。
- 新しいバージョンは自動的にあ頻繁に配置される。
- システム全体のすべての部分が同時に配置されることはないため、汎用的な目的のオーケストレーションは必要ない。
- アーキテクチャは多くのマイクロサービスを使う。
- 各配置はかなりカスタマイズされている。
次のステップとしてAdrian氏が想定しているのは、標準的なポータブルアプリケーションのオーケストレーションで、おそらく、数多くのマイクロサービスで構成される。新しいバージョンは自動的に配置され、スケーラビリティと可用性に注意が必要だ。また、モノロジックからマイクロサービスアーキテクチャへの移行も起こると考えている。
特集コンテンツ一覧
実例で学ぶGS Collections – Part 2
Donald Raab 2014年11月20日 午後8時3分
実例で学ぶGS Collections – Part 1
Donald Raab 2014年10月23日 午前2時24分
プロジェクトインセプション - 協力体制を作るミーティングの方法
James Bayer 2014年10月14日 午後7時57分
カンバンはどのように動作するか
Amr Noaman Abdel-Hamid 2014年9月7日 午後7時43分
自己組織化チームはなぜ必要か?
Sigi Kaltenecker and Peter Hundermark 2014年8月31日 午前2時2分
効果的なテストの文化を創る
Wes McClure 2014年8月31日 午前1時54分
こんにちは
コメントするには InfoQアカウントの登録 または ログイン が必要です。InfoQ に登録するとさまざまなことができます。アカウント登録をしてInfoQをお楽しみください。
あなたの意見をお聞かせください。