インフラ

「 実践DevOpsハンズオン 〜AWSとMackerelで構築する安心・安全なDevOps環境〜 presented by はてな、クラスメソッド」に参加してきた

devops

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台まで監視できるフリープランもあるので、検証もしやすそうです。