(Photo by:Intel Free Press)
AWS(Amazon Web Services)とGCP(Google Cloud Platform)を筆頭に各社のクラウド環境が成熟してきました。
プライベートクラウドの利用実績も増えつつあり、現在はエンタープライズの現場でクラウド環境の利用やサービス・アプリケーションの運用を積極的に検討している企業が増えてきました。
このクラウド環境の成熟に伴い、クラウドへの移行と一緒にエンタープライズの開発と運用を効率化しようという、DevOpsの導入によるメリットが注目されています。エンタープライズの現場で、クラウド導入による多くのメリットをさらに強化する「Infrastructure as Code」としてDevOpsとクラウド環境を同時に検討する話も増えてきています。
ここでは何故「クラウド環境とDevOpsは相性が良いのか?」を考えてみます。
Dockerコンテナとそのサービスの発展
Dockerに代表される仮想コンテナを使うと、サーバー環境への依存と副作用を抑えた形で独立したサービス・アプリケーションを動かせます。
2016年に入ってからコンテナをクラウド上で動かすサービスが充実しつつあり、例えばDocker Cloudを使うとDocker Hubに登録しているプライベートリポジトリをそのままAWSやAzureにデプロイできます。
AWSを使っている企業であればAmazon EC2 Container Serviceを使うとDockerコンテナを使ったスケーラビリティの高いサービス運用ができます。
Red Hat Linuxを利用している企業であればレッドハットのコンテナPaaSにあたるOpenShiftを利用する選択肢もあります。
CD(継続的デリバリー)サービスベンダーが提供するプロダクトの強化
CD(継続的デリバリー)を行うツールの多くは、手動で行われていたデプロイ作業手順や検証作業手順をRuby等のスクリプト言語やBash等のシェルスクリプトに書き換えてデプロイ作業を自動化します。
CDツールにはスケジューリング機能や、デプロイ中にエラーが起こった場合の復帰処理や再実行処理等の例外的な状況に対応するフレームワークは含まれていないので、これらを考慮した運用を行う仕組みを自前で準備する必要がありました。
Ansible Tower や Chef Automate には上で述べたCDで必要な補助的な機能が一定数含まれています。またこれらのプロダクトにはベンダーによる技術サポートが含まれているため、導入時に問題になることが少ないです。
オープンソースをエンタープライズの現場で利用した場合、予期せぬエラーや運用上の解決が難しい問題を見つけた場合は、ベンダーやその代理店に連絡をして有償サポートを受けることが可能です。エンタープライズ向けのサービス強化により、オープンソースプロダクトの利用を心配している企業でも導入し易くなっています。
マイクロサービスアーキテクチャの一般化
10年前はサービス稼働単位で物理サーバーを購入する必要がありましたが、昨今はマイクロサービスアーキテクチャ・サーバーレスアーキテクチャで大規模なサービスを素早く低コストに構築することが可能になっています。実現する要件次第になりますがこのような新しいアーキテクチャはクラウドでの運用が前提となります。
マイクロサービスアーキテクチャで作られたサービスは、AmazonEC2のようなVPSやDocker等のコンテナをPaaSで稼働させるのに適した設計のため、必然的にクラウド環境が採用され易くなり、合わせてDevOpsが注目され始めています。
ミドルウェアのクラウド対応
例えばログ収集・管理ツールのFluentdはクラウド環境でログを収集・分析する用途で多くの企業で採用されています。
メールの一括・大量送信もSendGridやMandrillやAmazon SESの様にクラウド上で動作するミドルウェアの採用が増えつつあります。
このようにクラウドに対応した、またはクラウド上で動作するミドルウェアが増えるにつれ、運用する上でもクラウドの利用頻度が高くなりつつあります。
インテグレーションインフラの充実
AWSやGCP等のプラットフォームは、ベンダーや外部サービスがプラットフォーム内に環境構築するためのAPIを提供しています。
サービス動作環境構築のため物理サーバーをセットアップしていたのと同じように、APIを使ってクラウド上にサービス動作環境を構築できます。この環境構築が自動化されて属人性が薄まると、DevOpsを取り入れた運用が行われている事になります。
まとめ
エンタープライズ向けのクラウド環境が整備されつつあり、今まで主流だったオンプレミスな運用からクラウド環境上での運用に移行する中でDevOpsのプラクティスやツールが開発現場で使われるようになって来ています。
今のクラウド押し潮流の中で、クラウドプラットフォームを提供している各社がDevOpsと関連付けた事例紹介や実績紹介を数多く打ち出して来ている事も影響しています。
業種によっては20年・30年と運用する前提で開発されるソフトウェアもあります。そしてDevOpsやクラウドは登場して10年も経過していない単語です。今後長期間にわたりクラウド環境やDevOpsツールを同じまま利用し続けられる保証はどこにもないので、今までと変わらない話になりますが運用に合わせた技術を採用するのがベストです。
本ブログは、Git / Subversionのクラウド型ホスティングサービス「tracpath(トラックパス)」を提供している株式会社オープングルーヴが運営しています。
エンタープライズ向け Git / Subversion 導入や DevOps による開発の効率化を検討している法人様必見!
「tracpath(トラックパス)」は、企業内の情報システム部門や、ソフトウェア開発・アプリケーション開発チームに対して、開発の効率化を支援し、品質向上を実現します。
さらに、システム運用の効率化・自動化支援サービスも提供しています。
”つくる情熱を支えるサービス”を提供し、まるで専属のインフラエンジニアのように、あなたのチームを支えていきます。
No Comments