DevOpsに、興味があるので参加してみました。
概要
実践DevOpsハンズオン 〜AWSとMackerelで構築する安心・安全なDevOps環境〜 presented by はてな、クラスメソッド
日時: 12/10 14:00~16:30
場所: 渋谷ヒカリエ11階スカイロビー Hikarieカンファレンス
以下引用
Mackerel、AWS Codeシリーズの初心者を対象とした、DevOps環境構築ハンズオンワークショップを開催します。
AWSパートナー制度においてDevOpsコンピテンシーの認定を取得したはてな(Mackerel)とクラスメソッドが、ハンズオンを通じてMackerelとAWS Codeシリーズを組み合わせたCI/CDパイプライン環境の構築方法を解説いたします。
この機会に、モニタリングとCI/CDパイプラインを組み合わせた最新のDevOps環境をぜひ体験してみてください。
mackerlハンズオン
サーバの監視とは
サーバの状態を確認・記録
- 障害発生の検知
- 復旧にいちはやく
- 状況の変化を時系列で管理
mackerlについて
Saas型の監視サービス
メリット
- フルマネージド
- コア事業への集中を促進
デメリット
- インターネット接続必須
push型の監視サービス
エージェントをインストールして、macalerサーバにpush
mackerel-agent
- コマンド一発で簡単にインストール可能
- 主要OSに対応
- オンプレでも利用可能
他サービスとの連携がスムーズ(slack,chatwork,github…)
管理対象サーバを郡として捉える
codeシリーズによるCI/CD環境構築
CI/CDとは
継続的インテグレーション
定期的にセントラルリポジトリにマージし、その後に自動化されたテストとビルドが実行されます
継続的デリバリー
ビルドやテストだけでなく、リリースプロセス全体を自動化します
メリット
- ソフトウェアの質向上
- チームの生産性向上
参考
https://cloudbees.techmatrix.jp/devops/ci/
https://cloudbees.techmatrix.jp/devops/cd/
使用するAWSサービス
CodePipeline
継続的デリバリーサービス
CodeBuild
ソースコードをコンパイルし、テストを実行し、デプロイ可能なソフトウェアパッケージを作成する
CodeDeploy
EC2、Lambda、ECSなどにソフトウェアをデプロイする
ハンズオン
AWSアカウントを渡されて、実際にハンズオンでCI/CD環境の構築及び、Macalereの操作を行いました。
Macalereで監視し、サーバの状態が正常なときのみデプロイを実施する環境を構築しました。
詳細は、リポジトリ内のgitbook参照。
https://github.com/katainaka0503/ci-cd-hands-on-codedeploy
応用機能
ハンズオンで紹介しきれなかった機能についての説明。
CodePipeline
- ステージング環境へのデプロイをパイプラインに追加可能
- 手動の承認をパイプラインに追加可能
- 自動デプロイの失敗をメールやslack通知
CodeDeploy
- BlueGreenデプロイメントも可能
所感
実際に、AWSのコードシリーズを使用して、CI/CD環境を構築しました。フルマネージド型のサービスのため、想像以上に簡単に構築することができます。
Macalereの方は、インストールが簡単でグラフも見やすかったです。(Cloudwatchエージェントをいれるより簡単でした)
ホスト5台まで監視できるフリープランもあるので、検証もしやすそうです。