パブリッククラウドのDevOps強化：実践と原則

**DevOps**に最適なのは**パブリック・クラウド**です。**DevOps**の原則と実践は、プライベート・クラウドや**パブリック・クラウド**にも適用でき、その恩恵を受けることができます。

*本ブログは英語版からの翻訳です。オリジナルは[こちら](https://www.alibabacloud.com/blog/how-the-public-cloud-increases-devops-success_438388)からご確認いただけます。一部機械翻訳を使用しております。翻訳の間違いがありましたら、ご指摘いただけると幸いです。*

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/647921/ebe2ccc1-645e-7533-7ca6-de3b5e2e3a64.png)

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/647921/defc055e-a4f0-8df7-c60b-d106644d6877.png)

DevOpsに最適なのはパブリック・クラウドです。DevOpsの原則と実践は、プライベート・クラウドや社内アプリケーションにも適用でき、その恩恵を受けることができますが、パブリック・クラウドにアプリケーションを持つ組織では、DevOpsの実践者がさらに大きな恩恵を提供できることがわかります。

###DevOpsの入門編
まず、DevOpsが何を意味するのかを明確にする必要があります。DevOpsには主に2つの側面があります。実践としてのDevOpsと、DevOpsの原則です。実践では、スクリプト化されたインフラストラクチャ、ChatOps、インシデント管理、監視、その他のあらゆる自動化に焦点を当てて、DevOpsエンジニア、ITマネージャ、サイト信頼性エンジニア（SRE）、品質エンジニア、開発者による非常に具体的な戦術が必要になります。

DevOpsの原則が戦術を導きます。一般的に、DevOpsという言葉を聞いたとき、それは持続可能で効率的な開発環境を作るすべての要素を包括することを意味します。組織構造、DevOpsの実践、哲学などが含まれます。DevOpsは達成されるものではありません。開発環境がある時点でプライムを超えて、特定のパイプラインのツールセットやプロセスにロックされないように運用するための手段です。

パブリッククラウドがDevOpsを強化するという話になると、実践と理念の交差点で何ができるかという話になります。


###DevOpsの主張を貫く
DevOpsの原則的な定義を考えると、ある企業がやっている、あるいはやっていないとは言えません。より良いアプリケーションを構築し、より頻繁でより効率的なリリースを行うことに焦点を当てている限り、あなたはDevOpsマインドセットを持っています。しかし、より高度な DevOps プラクティスに到達するためには、技術スタックが制限要因になることがあります。これには以下が含まれます。

1.) 自動化されたテストと継続的なテスト
2.) 継続的な統合
3.) 継続的な配信とカナリアのリリース

これらは、パブリッククラウドに見られるような柔軟性とサービスがなければ、実装するのは難しい。パブリッククラウドは、ハードウェアの障害をすべて取り除き、ソースリポジトリと本番環境の関係をシームレスにすることで、これらのプラクティスを採用するための障壁の集合体を取り除きます。

"パブリック" クラウドは、アプリケーションがパブリックであることを前提としていません。社内のビジネスラインのアプリケーションは、パブリック・クラウドでも本番環境で動作させることができ、商用アプリケーションを構築しているわけではないので、パブリック・クラウドは自分たちには向いていないと主張する組織もあるかもしれませんが、そのような障壁を取り除くことができます。

現代の開発プラクティスの原則はすべて、プライベート・クラウドで実装することができます。しかし、採用率や柔軟性は、パブリック・クラウドに展開されたアプリケーションのそれには及びません。

###パブリッククラウドが提供するもの
パブリッククラウドは、2つの次元でDevOpsを後押しします。1つ目は組織やプロセスを重視したもので、2つ目は技術的なものです。パブリッククラウドでは、インフラストラクチャのリクエストからそのインフラストラクチャにアクセスするまでの時間が、一般的にプライベート・クラウドよりも大幅に短縮されます。この可用性は、チームを束縛するものではありません。IT部門は、開発者が受けるリクエストに大きなプレッシャーを感じることなく開発者にサービスを提供することができ、開発者は必要なリソースを入手するのに手間がかかるために、機能や機能を敬遠することがなくなります。

技術的な観点から見ると、アリババクラウドのようなパブリッククラウドサービスプロバイダの方が、インフラ面では最新かつ高度な技術を持っています。これが彼らの仕事であり、報酬を得ているのです。Alibaba Cloudは、[統合されたパフォーマンス監視](https://www.alibabacloud.com/product/cloud-monitor?spm=a2c65.11461447.0.0.3059437d9rrClo)や、[継続的なデリバリーチェーンを簡単に設定](https://www.alibabacloud.com/solutions/devops/CI-CD?spm=a2c65.11461447.0.0.3059437d9rrClo)できるなど、DevOpsに適した機能を提供しています。ほとんどの企業はデータセンターのビジネスをしていないため、アリババクラウドのようなクラウドプロバイダーができるようなレベルで運用していないのが現状です。

具体的には、以下パブリッククラウドがDevOpsのためにやっていることです。

- オンデマンドのリソース：組織は、開発者に提供するリソースのプールを心配しています。しかし、パブリック・クラウドでは、開発者はオンデマンドでリソースを提供することができます。必要なときには、リソースの交渉が可能です。そのため、IT 部門は、開発者が必要とするリソースを確保するために時間を費やすのではなく、コンプライアンスやポリシーの検討を自由に行うことができます。

- セキュリティの向上：ほとんどの組織では、最新のエクスプロイトに常に対応している24時間365日のメンテナンススタッフはいません。パブリック・クラウド・プロバイダーは、インフラストラクチャが可能な限り安全であることを確認しなければならないため、通常、一般的な企業よりもはるかに高度なセキュリティを備えています。プライベート・クラウドがオフィスビル内でしかアクセスできず、パブリック・ウェブに接続されていない場合は、パブリック・クラウドよりも安全性が高いかもしれません。しかし、ほとんどの場合、プライベートクラウドはここまで隔離されているわけではありません。

- アクセス性の向上：複数の地域でパブリッククラウドにアクセスできるようになると、多くのメリットがあります。開発者はどこからでもアプリケーションを構築することができます。アクセシビリティの向上により、開発チームは静的な開発環境への依存度が低くなり、より多くのオプションを利用して仕事をこなすことが可能になります。

- より多くの専門知識：パブリック・クラウド・プロバイダーは、開発者のアプリケーションの作成、デプロイ、実行をより簡単にするために、新しいサービスを積極的に探しています。これらはすべて、開発者がより多くの機能をより迅速に作成し、アプリケーションのデプロイと監視のためのよりシームレスなプロセスを作成できることを意味します。一般的な企業が開発者に同じサービスを提供するには、専用のクラウドサービス開発チームが必要になりますが、これはコストが高く、競争力がない可能性が高いです。

パブリック・クラウドだけがDevOpsへの唯一の道ではなく、（特にセキュリティの高い環境では）プライベート・クラウドを利用することが理にかなっている場合もあります。また、ハイブリッド・クラウドを利用することで、両方のメリットを享受できる場合もあります。

それでも、一般の人がアクセスできない非商用アプリケーションを構築している企業であっても、パブリック・クラウドを活用することで、DevOpsの導入と成功を加速させることができます。

パブリッククラウドを活用してDevOps戦略を推進したい場合は、現在提供中のAlibaba Cloudの[300ドルの無料クレジット](https://www.alibabacloud.com/campaign/free-trial?spm=a2c65.11461447.0.0.3059437d9rrClo)を利用することができます。

*アリババクラウドは日本に２つのデータセンターを有し、世界で60を超えるアベラビリティーゾーンを有するアジア太平洋地域No.1(2019ガートナー)のクラウドインフラ事業者です。
アリババクラウドの詳細は、こちらからご覧ください。
[アリババクラウドジャパン公式ページ](https://www.alibabacloud.com/ja)*