概要
DevOps に AWS を使用する利点
すぐに使用できる
AWS アカウントをお持ちのお客様は、すべての AWS のサービスをすぐに使用できます。事前のセットアップや、ソフトウェアのインストールは必要ありません。
フルマネージドサービス
完全マネージド型サービスを使用して、AWS リソースをより素早く活用できます。インフラストラクチャのセットアップ、インストール、運用について心配する必要はありません。これによって主要な製品の開発に集中することが可能です。
スケールを考慮した構築
AWS のサービスを使用して、単一のインスタンスを管理したり、数千単位までスケールしたりできます。これによって、プロビジョニング、設定、スケーリングを単純化し、ほとんどの柔軟なコンピューティングリソースの作成をサポートします。
プログラム可能
AWS コマンドラインインターフェイス、または API や SDK 経由でそれぞれのサービスを使用できます。宣言型の AWS CloudFormation テンプレートを使用して、AWS リソースと、すべての AWS インフラストラクチャをモデリングしたり、プロビジョニングしたりすることも可能です。
DevOps に AWS を使用する利点
オートメーション
AWS では、オートメーションを使用して構築の高速化と効率化を達成できます。AWS のサービスを使用して、デプロイ、開発とテストのワークフロー、コンテナ管理、設定管理などの、手動で実行するタスクやプロセスを自動化できます。
セキュア
AWS Identity and Access Management (IAM) を使用して、ユーザーのアクセス許可とポリシーを設定できます。これにより、リソースにアクセスできるユーザーや、リソースへのアクセス方法をきめ細やかにコントロールできます。
使用した分だけお支払い
AWS では、使用を予定している期間のみ、必要とするサービスを購入します。AWS の料金には、初期費用、解約違約金はありません。AWS 無料利用枠を利用して AWS の使用を開始できます。詳細は各サービスの料金表ページを参照してください。
AWS による DevOps ツール
AWS では、企業で DevOps を実践し、AWS の使用を開始するためのサービスを提供しています。これらのツールを使用して、手動タスクの自動化、規模に応じた複雑な環境を管理するチームのサポート、エンジニアによる DevOps で達成可能な高速性の制御を可能にします。
継続的インテグレーションと継続的デリバリー
AWS デベロッパーツールを使用すると、アプリケーションのソースコードを安全に保存してバージョン管理し、アプリケーションを自動的にビルド、テスト、AWS またはオンプレミス環境にデプロイできます。AWS CodePipeline から始めて、AWS CodeBuild、AWS CodeDeploy、その他のツールを使用する継続的インテグレーションまたは継続的デリバリーのワークフローを構築するか、各サービスを個別に使用してください。
ソフトウェアリリースのワークフロー
AWS CodePipeline
AWS CodePipeline は継続的統合と継続的デリバリーのためのサービスで、アプリケーションとインフラストラクチャを短時間かつ信頼性の高い方法でアップデートできます。CodePipeline は、お客様の定義するリリースプロセスモデルに基づいて、コードの変更があるたびに、コードのビルド、テスト、デプロイを実施します。これにより、機能とアップデートを素早く、信頼性の高い方法で配信できます。
コードのビルドとテスト
AWS CodeBuild
AWS CodeBuild は、完全マネージド型のビルドサービスです。ソースコードをコンパイルし、テストを実行し、デプロイできるようにソフトウェアパッケージを作成できます。CodeBuild により、ビルドサーバーのプロビジョニング、管理、スケーリングが不要になります。CodeBuild は連続的にスケールされ、複数のビルドが同時に処理されるので、ビルドが待機状態でキュー内に残されることがありません。
デプロイのオートメーション
AWS CodeDeploy
AWS CodeDeploy では、Amazon EC2 インスタンスやオンプレミスサーバーを含む、さまざまなインスタンスへのコードのデプロイが自動化されます。AWS CodeDeploy を使用すると、新しい機能をすばやく簡単にリリースできます。また、アプリケーションのデプロイ時のダウンタイムを回避し、アプリケーションの複雑な更新を処理できます。
Instacart
Instacart は AWS CodeDeploy を使用して、フロントエンドとバックエンドサービスのすべてのデプロイを自動化しました。AWS CodeDeploy の使用により、Instacart の開発者は製品に集中でき、デプロイオペレーションについて心配する必要が軽減されました。

lululemon athletica
lululemon athletica は、さまざまな AWS のサービスを利用して、完全に自動化された継続的インテグレーションおよびデリバリーシステムを構築しています。また、Amazon S3 から AWS CodePipeline を使用して配信されるアーティファクトをデプロイしています。この段階で、アーティファクトは AWS Elastic Beanstalk にデプロイされます。

マイクロサービス
コンテナまたはサーバーレスコンピューティングを使用して、マイクロサービスアーキテクチャを構築およびデプロイします。
Docker プラットフォームの運用
Amazon Elastic Container Service
Amazon Elastic Container Service (ECS) は、非常にスケーラブルで高性能なコンテナ管理サービスで、Docker コンテナに対応しており、Amazon EC2 インスタンスのマネージドクラスターでアプリケーションを簡単に実行することができます。
サーバーレスコンピューティング
AWS Lambda
AWS Lambda を使用することで、サーバーのプロビジョニングや管理をすることなく、コードを実行できます。Lambda を使用すれば、実質どのようなタイプのアプリケーションやバックエンドサービスでも管理を必要とせずに実行できます。コードさえアップロードすれば、高可用性を実現しながらコードを実行およびスケールするために必要なことは、すべて Lambda により行われます。
Coursera
Coursera では、Amazon Elastic Container Service を使用して、アプリケーションのためのマイクロサービスベースのアーキテクチャを管理しています。これによって、ソフトウェアへの変更のデプロイを数分以内に完了できるようになり、数時間かけてリソースが隔離された環境でデプロイを行うことはありません。

Localytics
Localytics では AWS Lambda を使用して、毎月約 1,000 億のデータポイントから構成される Amazon Simple Storage Service のファイルや Kinesis のデータストリームを取り込む、マイクロサービスを作成します

Infrastructure as Code
コードとテンプレートを使用して、AWS インフラストラクチャリソースをプロビジョニング、設定、管理し、インフラストラクチャコンプライアンスのモニタリングと適用を行います。
テンプレート化されたインフラストラクチャプロビジョニング
AWS CloudFormation
AWS CloudFormation は、関連する AWS リソースの集約を整った予測可能な方法でプロビジョニングおよび更新し、開発者やシステム管理者が容易にそれらを作成、管理できるようにします。 AWS CloudFormation のサンプルテンプレートを使用したり、自分のテンプレートを作成したりできます。
Chef による設定管理
AWS OpsWorks
AWS OpsWorks は設定管理サービスであり、Chef (サーバー設定をコードとして 処理するオートメーションプラットフォーム) を使用します。OpsWorks は、Chef を使用することで、Amazon Elastic Compute Cloud (Amazon EC2) インスタンス間またはオンプレミスのコンピューティング環境でのサーバーの設定、デプロイ、および管理を自動化します。OpsWorks には、AWS OpsWorks for Chef Automate と AWS Opsworks スタックという 2 つのサービスがあります。
シンプル
Simple では、AWS でオンライン銀行業務プラットフォームを構築しました。AWS CloudFormation を使用することで、以前は数か月かかっていた処理の自動化に成功し、IT インフラストラクチャの管理ではなく、カスタマーサービスに集中できています。
Toronto Star
Toronto Star は、カナダ最大のオンラインニュースサイトです。AWS OpsWorks を使用することで、コンテンツ管理アプリケーションのデプロイに必要な時間を 3 時間から 20 分にまで短縮しました。これにより、コストが削減され、生産性が向上しました。
設定管理
AWS Systems Manager
AWS Systems Manager は、ソフトウェアインベントリの収集や OS パッチの適用、システムイメージの作成そして Windows や Linux のオペレーティングシステム設定などのプロセスを自動化する管理サービスです。これらの機能は、システム構成を定義および追跡し、変動を防ぎ、EC2 およびオンプレミスの構成のソフトウェアコンプライアンスを維持する上で役立ちます。
コードとしてのポリシー
AWS Config
AWS Config は、セキュリティとガバナンスのためのフルマネージド型のサービスであり、ご利用の AWS リソースのインベントリ、構成履歴、構成変更通知の機能を備えています。Config Rules を使用して、AWS Config によって記録された AWS リソース設定を自動的にチェックするルールを作成できます。
Prezi
Prezi では AWS Config を使用して、AWS リソースへの設定の変更を追跡しています。AWS Config は、リソースが作成、変更、削除された場合に通知を送信します。また、AWS Config ルールを使用して、AWS 内のリソースのプロビジョニングと設定を管理しています。
詳細
AWS CloudFormation テンプレートを使用したインフラストラクチャのプロビジョニングでは、AWS Systems Manager を呼び出してソフトウェアインベントリの追跡やインスタンスの設定を行い、AWS Config を使用して設定のドリフトの自動修正を実行します。
モニタリングとログ記録
ログを記録し、アプリケーションとインフラストラクチャパフォーマンスをほぼリアルタイムでモニタリングします。
クラウドとネットワークのモニタリング
Amazon CloudWatch
Amazon CloudWatch は、AWS クラウドリソースと AWS で実行されるアプリケーションのモニタリングサービスです。Amazon CloudWatch を使用して、メトリクスの収集と追跡、ログファイルの収集とモニタリング、アラームの設定、および AWS リソースへの変更に対する自動的な対応が可能です。
分散トレース
AWS X-Ray
開発者は、AWS X-Ray を使用して、本番環境や分散アプリケーション (マイクロサービスアーキテクチャを使用して構築されたアプリケーションなど) を分析およびデバッグできます。X-Ray を使用すると、アプリケーションやその基盤となるサービスの実行状況を把握し、パフォーマンスの問題やエラーの根本原因を特定して、トラブルシューティングを行えます。
The Globe and Mail
Globe and Mail はカナダで最も読まれている新聞で、毎週カナダ中の 470万人の読者がデジタル版にアクセスしています。Amazon CloudWatch を使用して、システムのパフォーマンスをモニタリングし、インフラストラクチャのオートメーションのための DevOps のアプローチを採用しました。
アクティビティと API 使用状況の追跡
AWS CloudTrail
AWS CloudTrail は、アカウントに対する AWS API 呼び出しを記録し、ログファイルを配信するウェブサービスです。記録される情報には、API 呼び出し元の ID、API コールの時刻、API 呼び出し元のソース IP アドレス、リクエストのパラメータ、および AWS サービスから返された応答の要素が含まれます。
アプリケーションの可用性
Amazon DevOps Guru
Amazon DevOps Guru は、アプリケーションの運用パフォーマンスと可用性の改善を容易にするように設計された、機械学習 (ML) を利用したサービスです。DevOps Guru はアプリケーションの異常な動作を検出するのに役立つため、運用上の問題が顧客に影響を与えるずっと前に、その問題を特定できます。
Slack
Slack は、多様なコミュニケーションサービスを一元化するためのメッセージングプラットフォームを提供しています。Slack のプラットフォームは AWS で実行されていて、幅広い種類のクラウドサービスが活用されています。Slack では AWS CloudTrail を使用して、Amazon EC2 インスタンスに関係するログをモニタリングしています。
Platform as a Service
インフラストラクチャとアプリケーションスタックのプロビジョニングと管理を必要としないウェブアプリケーションのデプロイ。
ウェブアプリの実行と管理
AWS Elastic Beanstalk
AWS Elastic Beanstalk は、Java、.NET、PHP、Node.js、Python、Ruby、Go、Docker で開発されたウェブアプリケーションとサービスを、Apache、Nginx、Passenger、IIS などの使い慣れたサーバーにデプロイおよびスケールできる使いやすいサービスです。コードをアップロードするだけで、容量のプロビジョニング、負荷分散、自動スケーリングからアプリケーションヘルスモニタリングまで、デプロイが Elastic Beanstalk によって自動的に処理されます。同時に、お客様のアプリケーションが稼動している AWS リソースの完全な制御を保持でき、いつでも基盤となるリソースにアクセスすることができます。
Zillow
Zillow では、パフォーマンスの問題を解決し、スケーラビリティを実現するために、画像処理と配信システムを AWS に移行しました。Elastic Beanstalk を使用して、画像処理に Python 画像処理ライブラリーとカスタムコードを実行しています。
Rachio
Rachio は、Smart Sprinkler Controller という WiFi ベースの散水栓コントローラを開発しています。Rachio は、ウェブサイト、アプリケーション、API のデプロイと管理に AWS Elastic Beanstalk を使用しています。

バージョンコントロール
クラウドで、安全で高度にスケーラブルな Git リポジトリをホストします。
プライベート Git ホスティング
Edmunds.com
Edmunds.com の開発者は、AWS CodeCommit を使用してスケーラブルで可用性の高いソースコントロールサービスを活用することで、コストを削減しながら、管理を簡略化させています。
