【レポート】SIer流!大規模運用の現場を変えるクラウドネイティブDevOps #AWSSummit
こちらは2019年06月27日に開催された AWS Summit Osaka 2019 のセッション「SIer流!大規模運用の現場を変えるクラウドネイティブDevOps」をレポートします。
スピーカー
TIS株式会社
プラットフォームビジネスユニット プラットフォームサービスコンサルティング部
主任
横井 公紀
セッション概要
AWSの利用においても「クラウドネイティブ」の概念が注目され、開発の現場ではコンテナ等の利活用によるクラウドネイティブ化のニーズが高まっています。 しかし、単にクラウドネイティブ化するだけでは、開発後の大規模運用を回すことは困難で、開発現場の意向で突き進んだ結果、逆に辛さが増したケースもあります。 本セッションでは、実際にAWSの大規模運用の現場で起きた、様々な辛い課題を振り返ると共に、DevOpSの観点も交えて、課題を改善するために現場で考え抜いたクラウドネイティブ化の技法についてお話しします。
レポート
会社紹介
- 2009年 AWSビジネス立ち上げ
- インフラからアプリまで、作っては運用、作っては運用のくりかえし
これまでのAWS運用
- 過去50年のノウハウをもってしても運用が難しいシステムが増えてきている
- 一筋縄ではいかない
- 運用の歴史
- 約10年前からオンプレミスのAWS移行が始まった
- 当初、オンプレミスの物理サーバからEC2への移行が進んだ
- オンプレミスからの運用、監視など単純移行は従来方式を採用できた
- 既存の監視/運用方式の踏襲が、何かと都合よく捉えられた
- オンプレ時代のソフトウェアの流用
- 教育コストがかからない
- トラブルシュートも容易
- 多くの事例でコストと生産性の観点を踏まえ、方針が選択された。
- 逃げではなく、合理的な判断
統合運用管理基盤
- TISもビッグウェーブにのって「統合運用管理基盤」リリース
- AWS監視/運用に必要な機能をまとめて調達でき、接続すれば運用開始
- 厳しい運用要件にも対応するため、提供機能が選ばれた
- PCIDSS 対応
- 通信制限
- 監査対応 など
- 統合運用管理基盤を中心に、スター側に接続して監視/運用
- 近年、サーバレスなシステムを監視、運用したいニーズが登場。徐々に、運用上のつらみが増え始める
- エージェントが導入できない
- ユーザからはどうにかして統合運用管理基盤で出来ないか?という声が増える
- 近年、サーバレスなシステムを監視、運用したいニーズが登場。徐々に、運用上のつらみが増え始める
- 運用改善ヒストリー
- サーバレスを監視するためアドオンが増え、監視運用が複雑化&肥大化
- 悩み1:エージェントレスなSaaS/PaaSを監視するための作り込みが増えた
- CloudWatch メトリクス値を既存の監視マネージャに連携
- EC2 連携パターン
- Lambda 連携パターン
- CloudWatch メトリクス値を既存の監視マネージャに連携
- 悩み2:ログの運用管理
- AWSのサービスが出力するログを既存の監視マネージャに連携
- 悩み1:エージェントレスなSaaS/PaaSを監視するための作り込みが増えた
- ところが
- システムの外側からシステムにログへのアクセス禁止!ダウンロードも禁止!
- 厳しいセキュリティポリシーに対応できない!
- Lambda 連携(pushパターン)
- ダウンロードじゃなくてアップロードだからOKとなった。
- 厳しいセキュリティポリシーに対応できない!
- システムの外側からシステムにログへのアクセス禁止!ダウンロードも禁止!
- ところが
- データベースのログが取れない!
- CloudWatch Logs で取れない!
- 個別スクリプトが増えていく・・・。
- ところが
- ログが増えすぎて処理ができない!
- 容量がたりない!
- インスタンスタイプを格上げし、ディスク容量を増強。弐号機も爆誕!
- やばくなったらすぐ増やせる。AWSのメリットではある。だが辛い。
- ところが
- 作業対象を間違えた・・・
- 手作業が多すぎて辛い・・・
- あらゆる設定をコード化し、作業の単純化を図った
- CloudFormation
- Terraform
- あらゆる設定をコード化し、作業の単純化を図った
- 設定がコード化できないシステムは使わない!と誰かが言った。
- コード管理の仕組みが追加された
- CodeCommit
- コード管理の仕組みが追加された
- サーバレスを監視するためアドオンが増え、監視運用が複雑化&肥大化
- いつまで経っても工事が終わらない、どこかの都市開発のようだ。。
- そんな中、リアルタイム現在進行形で要望は追加されていく
溢れ出した運用上の課題
- それは教訓であり、次に目指すべき方向性を指し示してきた
- サービスとの連携は容易であるべき
- スケールできるのではなく、しなくて良い仕組みにすべき
- 設定の差分確認は容易にすべき
次世代型の統合運用管理基盤
- そもそもクラウドネイティブとはなんなのか?
- コンテナでも、サーバレスでもクラウドネイティブとは言えない
- クラウドを使って楽が出来ている状態。それがクラウドネイティブ。
- 何が楽になるのか?
- コード管理
- CI/CD
- あらゆるものをコードで管理し、Before/Afterの変更点の差分確認を手早く実施し、リリース!
- Cloud9 を使った開発環境
- インフラチーム、アプリチーム、運用チームへの引き継ぎも容易に
- テストも自動化
- DevOps の環境が根付いてくる
- 踏み台
- Cloud9 が踏み台を兼ねる(Windows は EC2)
- セキュリティ診断
- セキュリティ管理
- Security Hub
- ウイルス対策
- DeepSecurity as a Service
- 監視
- sumologic
- 監視基盤自体を SaaS にすることで容易にピークに耐える環境ができ、管理が楽に。
- Proxy
- コンテナセキュリティ
- aqua
- テレオペレーション
- Connect
- Lambda連携
- 遠隔に居ても運用ジョブをキック
- 処理結果はメールでお知らせ
- コミュニケーション
- Slack
SIer 流とは?
- 製品サービスを組み合わせて柔軟に対応できることは、SIerの強みであり本質。
- 何でもAPIでつながるクラウドネイティブな時代こそ、この思想が重要だと気づいた
- これからはクラウドネイティブらしく、容易につがなれることが強み
- DevOpsからDevSecOpsに進化するための取り組みもスタートした
- SIerならではの泥臭い悩みと苦しみから解放を目指し、本当に辛かったからこそ現場で考えだされたものが「次世代型の統合運用管理基盤」
さいごに
悩み、苦しみがあったからこそ、新しいものが生み出された良い例でした!コンテナ、サーバーレスなど、どんどん進化していくお客様の環境において、運用管理、監視の相談はよくいただくので、とても共感できるセッションでした。
以上!大阪オフィスの丸毛(@marumo1981)でした!