小杉がAWS Well-Architectedについて話したよ。
AWS Well-Architectedというものがある。
要はAWSで最適なアーキテクチャを構築するためのガイドラインを体系的にまとめたもの、という感じ。
などに対応したいときに活用できそう。
ざっくりした構成は以下。
全体的に初心者が取り組んでも具体的なイメージが沸かないし、対処も厳しいと思う。(自分のことを言っている)
なので、技術マネージャーとかがAWSアーキテクチャを俯瞰してチェックしたいときなどに活用するものと理解している。
Well-Architectedの骨子となるドキュメント。(PDFは
ここ)
90ページ弱あるが、基本の部分は最初の半分くらい。
残りの後半は後述のWell-Architected Toolでチェックされる質問集とそれに対するベストプラクティスが記載されており、正直これらは読んでもよく分からない気がする…(日本語も分かりづらい)
この後半をマジメに読むくらいなら、後述の
Well-Architected Toolを実際に使ってみたら良いと思う。
Well-Architecteフレームワークは以下の5つの柱で構成されている。
ぶっちゃけ内容はざっくりしすぎていて、具体的なイメージは湧きづらい。
AWSをある程度触ってみてから、知識を体系的にまとめたいときに読むと良いかも。
また、AWS初心者でも最初に読むと「AWSってこういう感じで使うのか」の感覚は伝わるかもしれない。(ご多分に漏れず、AWSドキュメント特有の用語群につまづく可能性は大)
誤解を恐れずに超絶簡素にまとめると、
「CloudFormation, IAM, CloudWatch, Auto Scaling, マネージドサービスをちゃんと使えよ」になると思う。(これらのサービス名が随所に出てくる)
もし初心者がこれらを手っ取り早く習得したい場合、超絶おすすめなのが
Architecting on AWSの研修を受けること。
お値段は高い…20万くらいする。
個人的に出費するのは大変だが、会社負担で研修を受けられる企業はあると思うし、費用の価値は十分にあると思う。
APNに参加している企業に勤めていたら半額以上の割引キャンペーンが行われることもあるので要チェック。
3日間のトレーニングで、AWSのアーキテクチャをハンズオンありで学んだ後、Well-Architectedについても学習するので知識の定着度が高い。オススメできる数少ない研修だと思う。
ちなみにこの研修は
AWS認定ソリューションアーキテクト - アソシエイトの資格対策としても代表的なものであるし、資格受験用のバウチャー付きコースもあったはず。
少し蛇足で何を今更という話を…
「なんでクラウド?」に対して、これも超絶誤解を恐れずに言うと「落ちないシステムを構築するため(落ちないとは言ってない)」だと思っている。
(※個人の見解)
当然オンプレで落ちないものを構築できないという意味ではないし、クラウドを使えば落ちなくなるという意味でもない。
Twitterの「バルス」祭りを思い浮かべると分かりやすいが、急激なスパイクが起こり得るサービスで
その最大値に合わせたシステムを物理的に構築しようとすると、あらかじめ膨大な数のマシンを用意する必要がある。
また、それらのマシンは平常時には供給過多となり無駄なコストである。
代わってクラウドのインフラストラクチャを使えば「必要なときに必要なだけ使える」という特性を活かし、過負荷に耐えうるシステムを現実的なコストで構築可能である。
もちろんシステムが落ちる原因は過負荷だけではない。
データの消失、ネットワークダウン、セキュリティの穴など様々あるが
これらの対処も物理的に冗長化するより現実的なコストで、 クラウドで構築できることが多いと思う。
まぁいくら現実的なコストとは言っても、その見極めは難しく
コスト以外にもシステムにはいろいろな問題が介在するため
実際にはクラウド使っておけば良いという話ではないのは、言うまでもないが…そんなこんなで今日もどこかのクラウドシステムが落ちている。
閑話休題、そんな落ちないシステムアーキテクチャをAWSで構築するためのガイドラインがWell-Architectedであると言える。
Trusted Advisorみたいに自動で各チェックをしてくれるようなものではなく、
手動で質問に答えていって、チェックリストを作るもの。
よく日本の大企業で、幹部の承認を得るために「セキュリティチェックリスト」みたいなの作ると思うけど、それのAWS版って感じ。リストをExcelで管理し、
「ヨシ!」が蔓延り、形骸化待ったなしのリストを作るよりは1000倍良いと思われる。
適用領域ごとにホワイトペーパーが用意されている。
前述のフレームワークやToolは抽象的なチェックをするためのものだと感じるが、
レンズは少し具体的になっており、実際に使えるホワイトペーパーという感じがする。
「○○なシステム組みたいけど、使えそうなAWSサービス・アーキテクチャはどんなんだ?」というときに読むと良さそう。
2020年6月現在、提供されているのは以下。(PDF資料にリンクしている)
PDF版とKindle版の資料リンクがある。
サーバレスアプリケーションだけ日本語対応しており、あとは全部英語。
ちなみにサーバレスのレンズについては、前述のWell-Architected Toolのチェックリストにも組み込むことができるようになっている。(参考: AWSブログ)
ここまで書いておいて何だが、Well-Architectedは利用必須なものではないと思う。
AWSと長く付き合っていくうえで、たまにこういうのがあったなと思い返し読んでは
自分の構築したアーキテクチャを見直してみると、何らかの反省や新しい発見があるかもしれない。
また、Well-ArchitectedはAWS利用前提で書かれたドキュメントであるが
その根底にある考え方は他ベンダのクラウド(GCP, Azureなど)でも使えるし
ひいてはオンプレミスだろうが役に立つものだと思うので、どこかで一読しておいても損はないと思った。
あと AWSソリューション良さそうだから、ちゃんと利用しよう。