プログラマでありたい

おっさんになっても、プログラマでありつづけたい

「Amazon Web Services パターン別構築・運用ガイド」の執筆環境

Amazon Web Services パターン別構築・運用ガイド

Amazon Web Services パターン別構築・運用ガイド

 今回の「Amazon Web Services パターン別構築・運用ガイド」は、会社の同僚たち4人で書き上げました。会社の同僚といっても、東京と大阪に別れていたり、日中に打ち合わせをする時間もないので、ほぼリモートのやり取りだけで完結させました。かなりスムーズにいったのですが、幾つか課題もあるので、忘れないうちにメモです。

執筆を支えるシステムの全体像



 リモートでやり取りをする為に、幾つかのツールを組み合わせて簡単な環境を作りました。方針としては、執筆に集中するために出来るだけSaaSを利用し、余計な時間を取られないようにしました。まずは全体像を見てください。

f:id:dkfj:20150321001245j:plain

 GitHubを中心にシステムを構築しています。

目次と担当割りを管理するGoogleスプレッドシート



 まず目次や担当割りなどは、Googleのスプレッドシートを利用しました。最初にテーマや想定の読者層を設定し、その上で大きく章割りをしました。そして、節単位で各テーマを配置し、さらに分解していくという作業をしています。そして、担当を決めました。今回は、アプリが得意な人間、ミドルが得意な人間、インフラ・運用が得意な人間と上手いことバラけていたので、担当もスムーズに決まりました。

システムの要、GitHub



 次にシステムの要であるGitHubです。とりあえずこれがあれば何とかなるというレベルで重宝していました。執筆のプラットフォームとしてGitHubの良い所は、MarkDownで書いておくと、そのままWebでほぼ誌面の形で見られるということです。これがために、MarkDownを使っているのかもしれません。あと、レビューの指摘事項にはIssueを使うと便利です。
※後述しますが、レビューの問題点はありました。
 今回は、節単位(3章の1とか)で分割しているので、基本的にはPush時にコンフリクトは発生することはありません。しかし、基本的には各自ブランチを作ってマージするという形でやっていました。ブランチの単位は節単位でしたが、1週間サイクルで動いてたので週単位のブランチになることもありました。いずれにせよ、執筆する際は、1週間単位で動くのがちょうど良さ気です。

CircleCIで継続的にドキュメントのビルド



 GitHubにPushすると、連携したCircleCIでPandocを使ってビルドするように設定していました。前回の反省で、MarkDownからの変換環境をローカルに持つと、他の端末で作業するときに面倒臭いという事態を避けるためです。特に今回は複数人なので、必須と考えていました。結果的には、このPandocでのビルド結果は、あまり重要にはなりませんでした。理由としては、後述のAtomです。

プレビュー付きのテキストエディタ Atom



 Atomはテキストエディタです。全員が使っていた訳ではないのですが、かなり重宝しました。何が便利かというと、MarkDownのプレビュー機能があることです。しかもリアルタイムに反映されます。執筆していると、ついつい文字ばかり書いてしまって、読むのを躊躇するくらいギッシリとしたページになってしまいます。プレビューをしながら書くと、文字が多くなってきたので画像や表、ソースを入れて調整しやすくなります。執筆時には、下記のスクリーンショットのようにプレビューしながら書くことが多かったです。

f:id:dkfj:20150321003055p:plain

 個人的には、Atomのプレビューに満足して、CircleCIのビルドしたPDFの精度を上げなかったのが少し失敗だったと思います。

連絡には、Gitter



 チャットツールとしては、Gitterを利用しました。GitHubの連携性に優れているというのが理由です。実際のところ、GitHubに連携することも少なかったので、ChatWorkやSlackでも良かったでしょう。ただ、Gitterも中々使いやすかったです。

課題



 執筆中は上記の構成で、全く問題は発生しませんでした。しかし、編集者との校正が始まると、一転して混乱が生じました。理由としては、校正にMSのワードやPDFを利用するようになるからです。そうなると、今まで活躍してきたGitHubは、単なるファイル置き場になってしまいます。編集者からのフィードバックのフォルダや、そのフィードバックに対する修正フォルダといった感じですね。ちょっと悲しいですね。
 対策としては、紙やPDFが出てくる最終校正の前までは、MarkDownのテキストファイルでやり取りできるようにすることです。その為には、CircleCIで作ったドキュメントの精度を上げて、かつビルド後の配布方法をメールやDropBoxなど、もっと直接的なものにすべきだったと思います。

課題その2



 ビルドしたドキュメントの精度ですが、これは如何に紙の誌面と同じように見せるかという点です。この点、MarkDownの記法での表現力は、正直物足りません。画像のサイズの指定であったり、コラムや注釈の書き方などに限界があります。もう少し表現力が高いものとしては、ReVIEWがあります。今回、どちらを採用するか悩んだのですが、フォーマットの普及率から考えて、MarkDownを採用しました。恐らく今後もそうなるでしょう。
 では、表現力の不足をどう補うか。まだ検討段階ですが、CSSを試してみようと考えています。素の文章を書いたMarkDownと、それに対となるCSS、またベースとなるCSSを用意します。そしてビルドサーバで、両者を合わせたドキュメントを生成すれば、うまくいくのではと妄想しています。この辺りは、今後試してみます。実際の電子化の工程の話を聞いてみたり、Kindleの書籍化をしている人の話を聞いてみたいですね。

まとめ



 執筆時にバージョン管理システムを使うのは、もう当たり前です。今は、原稿をいかにビルドするか。その段階に入っているのではと思います。理想は、すぐにKindleで出版できるレベルですね。

See Also:
「Amazon Web Services パターン別構築・運用ガイド」の目次
AWSパターン別本の狙い。例えばAutoScalingを使えるように。「Amazon Web Services パターン別構築・運用ガイド」の裏話
『Amazon Web Services パターン別構築・運用ガイド』を書きました
『Rubyによるクローラー開発技法』を書きました
本を書く前に準備したこと、執筆中にしていたこと

Amazon Web Services パターン別構築・運用ガイド

Amazon Web Services パターン別構築・運用ガイド

JAWS DAYS 2015で「Amazon Web Services パターン別構築・運用ガイド」を展示&プレゼントします

 今週末3/22(日)は、JAWS DAYS 2015です。AWSのユーザグループであるJAWSUG(Japan AWS User Group)の全国イベントです。実は、JAWSUGの全国イベントは2種類しかなく、そのうちの1つがJAWS DAYSになります。既に1,500人以上も申し込みされて、まだまだ増えています。
Making of JAWS DAYSは、こちらが参考になります。
JAWS DAYSの作り方 - What I'm thinking about...

 先日、実行委員長の@t_konparuさんと話していて、会場にて展示させて頂くことになりました。まだどこに展示されるか決まっていませんが、手にとって中身を確認できる形になると思います。また、最後にプレゼントさせて頂きます。どのような形でプレゼントするかも鋭意企画して頂いています。3冊ほど用意できるので、是非会場で見ていただければと思います。
詳細決まりましたら、追記します。

Amazon Web Services パターン別構築・運用ガイド

Amazon Web Services パターン別構築・運用ガイド

  • 作者: NRIネットコム株式会社,佐々木拓郎,林晋一郎,小西秀和,佐藤瞬
  • 出版社/メーカー: SBクリエイティブ
  • 発売日: 2015/03/25
  • メディア: 大型本
  • この商品を含むブログを見る

See Also:
「Amazon Web Services パターン別構築・運用ガイド」の目次
AWSパターン別本の狙い。例えばAutoScalingを使えるように。「Amazon Web Services パターン別構築・運用ガイド」の裏話
『Amazon Web Services パターン別構築・運用ガイド』を書きました
『Rubyによるクローラー開発技法』を書きました
本を書く前に準備したこと、執筆中にしていたこと

「Amazon Web Services パターン別構築・運用ガイド」の目次

Amazon Web Services パターン別構築・運用ガイド

Amazon Web Services パターン別構築・運用ガイド

  • 作者: NRIネットコム株式会社,佐々木拓郎,林晋一郎,小西秀和,佐藤瞬
  • 出版社/メーカー: SBクリエイティブ
  • 発売日: 2015/03/25
  • メディア: 大型本
  • この商品を含むブログを見る


 「Amazon Web Services パターン別構築・運用ガイド」ですが、いよいよ来週発売です。校正も終わり、あとは発売日を待つばかりとなりました。少し時間も余裕が出てきたので、この本の紹介をしていこうと思います。
 まずは、目次です。全部で5章構成となっています。1章が、AWSの概念的な説明。2章が、手を動かしながらAWSを触ってみるという章です。3章からが実践的な内容で、まずはパターン別の構築例。4章がセキュリティ、5章が運用となっています。

Chapter1 AWSの基本
1-1 AWSとは
 クラウドとは
 物理サーバ(オンプレミス)とAWSの違い
 レンタルサーバ(共有サーバ)とAWSの違い
 プライベートクラウドとAWS
 AWSのサービス全体像

1-2 AWSのネットワークサービス
 リージョンとアベイラビリティゾーン
 Virtual Private Cloud (VPC)
 Route53
 AWSネットワークとVPCネットワーク

1-3 コンピュータ基盤としてのAWS
 Amazon Elastic Compute Cloud(EC2)
 Amazon Elastic Block Store(EBS)
 EC2におけるバックアップ
 Amazon Simple Storage Service(Amazon S3)
 Amazon Glacier

1-4 アプリケーション基盤としてのAWS
 Relational Database Service(RDS)
 Elastic Beanstalk
 ElastiCache

1-5 サービスとしてのAWS
 AWSのアプリケーションサービスの概念
 SESとSQS
 SNSとCloudWatch

1-6 AWS利用のコスト
 AWSの料金体系
 AWSの料金計算の仕方

Chapter2 AWSを利用する

2-1 AWS利用の準備
 AWSアカウントの作成
 ユーザアカウントの作成(IAM)

2-2 AWS CLI
 AWS CLIのインストールと設定
 AWS CLIの基本的な使用方法

2-3 AWS SDK
 サポートされる言語とバージョン
 AWS SDKのインストールと設定
 AWS SDKの基本的な使用方法

2-4 VPCネットワークの作成
 Default-VPC
 Custom-VPCを作成する

2-5 仮想コンピュータ(Amazon EC2)の利用
 AWS操作用の公開鍵・秘密鍵の作成(KeyPair)
 Security Groupを作成する
 EC2を起動する
 AMIを作成する
 ElasticIP(EIP)の利用

2-6 ELB(Elastic Load Balancer)を使用する
 ELBのサービス詳細
 ELBの作成

Chapter3 パターン別構築例

3-1 EC2を利用した動的サイトの構築
 WordPressを使ったブログサイトの構築
 ロードバランシングとHTTPSサイトの構築
 Marketplacesを利用して、構築済みのインスタンスを利用する

3-2 Elastic Beanstalkによる動的サイトのサーバレス構築
 Elastic Beanstalkを利用した再構築
 Elastic Beanstalkを利用したロードバランシングとHTTPSサイトの構築

3-3 S3による静的サイトのサーバレス構築
 S3による静的サイトの構築
 Route53を利用してDNSを設定する
 Route53へドメインの移管
 CloudFrontとの連携

3-4 Auto Scalingによる自動スケーリングシステムの構築
 Auto Scalingの設定
 Auto Scalingを利用するためのアプリケーション構成
 Auto Scaling使用時のEC2インスタンスの初期化処理
 Immutable Infrastructure

3-5 Elastic BeanstalkとLambdaによるバッチサーバの構築
 Elastic Beanstalkによるバッチサーバの冗長化構成
 Lambdaによるサーバレスな処理システムの構築

3-6 CloudFormationによるテンプレートを利用した自動構築
 CloudFormationの概要
 CloudFormationによるネットワーク構築
 CloudFormationによるサーバ構築

3-7 SESによるメール送信システムの構築
 SESを使ってメールを送信する
 EC2インスタンスにメールサーバを構築する
 外部のメール送信サービスを利用する

3-8 AWS上に開発環境を構築する
 開発環境の構築と運用
 継続的インテグレーション(CI)を実施する

3-9 モバイルアプリからAWS上のリソースを利用する
 Cognitoによるユーザ認証と2-tierアーキテクチャ
 AWSのモバイル開発プラットフォーム
 SNSによるモバイルプッシュ通知

Chapter4 AWSのセキュリティ

4-1 AWSのセキュリティへの取り組み
 責任共有モデル
 第三者認証

4-2 IAM(AWS Identity and Access Management)
 AWSのアカウント種類
 IAMユーザとIAMグループ
 IAMロール

4-3 データ暗号化
 AWSが提供するデータ暗号化サービス・機能

4-4 WAF・IDS・IPSによる外部からの攻撃対策
 外部からの攻撃の種類と防御方法
 エージェント型とリバースプロキシ型のサービス導入例

4-5 VPCでネットワークセキュリティを高める
 VPCによるSubnet構成
 SecurityGroupとNetworkACL

4-6 AWSと脆弱性診断
 侵入(ペネトレーション)テスト
 侵入(ペネトレーション)テストツール

Chapter5 管理と運用

5-1 ジョブ管理
 ジョブ管理システムの概念
 サービス型のジョブ管理システム

5-2 システムを監視する
 AWSのなかから監視する
 AWSの外から監視する

5-3 アラートを通知する
 AWSの機能を利用した通知方法
 Twilioを利用した電話通知

5-4 データをバックアップする
 EBSのデータバックアップ
 S3とGlacierを使ったバックアップと管理
 AMIの運用方法

5-5 AWSにおけるログ管理
 AWSのサービスログ/操作履歴のログを収集保存する
 EC2インスタンスのログを収集保存する

5-6 AWSにおけるコスト管理
 AWSにおけるコスト管理
 AWSのコストを節約する

5-7 AWSの利用を支えるサポートの仕組み
 AWSサポート
 AWS Trusted Advisor

 各章のサブタイトルを見ていただくと解ると思いますが、AWSを普通に利用して運用するには必要不可欠なことを網羅していると思います。これ見て、物足りないぜという方は、直接ご相談ください。あまり一般的ではない事例や、かなり厳し目のセキュリティポリシーに基づくものなど、色々あります。
 ちなみに、4人による共著という形になっておりますが、章単位ではなく節単位で分担しております。3-9については誰の担当といった形ですね。このあたりも、ちょっと面白い形で次回紹介したいと思います。

See Also:
AWSパターン別本の狙い。例えばAutoScalingを使えるように。「Amazon Web Services パターン別構築・運用ガイド」の裏話
『Amazon Web Services パターン別構築・運用ガイド』を書きました
『Rubyによるクローラー開発技法』を書きました
本を書く前に準備したこと、執筆中にしていたこと

Amazon Web Services パターン別構築・運用ガイド

Amazon Web Services パターン別構築・運用ガイド

  • 作者: NRIネットコム株式会社,佐々木拓郎,林晋一郎,小西秀和,佐藤瞬
  • 出版社/メーカー: SBクリエイティブ
  • 発売日: 2015/03/25
  • メディア: 大型本
  • この商品を含むブログを見る

「Rubyによるクローラー開発技法」の電子書籍化&増刷しました

Rubyによるクローラー開発技法  巡回・解析機能の実装と21の運用例

Rubyによるクローラー開発技法  巡回・解析機能の実装と21の運用例


 昨年の8月末に出版された「Rubyによるクローラー開発技法」ですが、ついに電子書籍化されました。Kindleや楽天のkobo紀伊國屋書店のKinoppyと主要なところは押さえている模様です。達人出版会さんからも出ないものですかねぇ。
 今まで、何度も電子書籍化されないのと聞かれましたが、その度に解りませんと答えていました。電子書籍化や書名などは、ほぼ出版社側の意向によって決まるので著者としては、ほぼ決定権がない事項になります。そんな中で、ようやく電子書籍化して嬉しい限りです。願わくば、紙の本の発売日と同時に電子書籍化されているのが標準になってものですね。


 また、紙の方の本も依然好調で、3回目の増刷で累計9,000部となります。技術書の世界では、10,000部いけばヒットと呼べるようです。というところで、後一息です。電子書籍が出ているので、今後はペースは落ちると思いますが、ロングセラーになってくれればと思います。順位の推移をみると、1日平均で10,000位を落ちることなく維持しています。ありがたいことです。
f:id:dkfj:20150308125907p:plain


もうすぐ発売される、
Amazon Web Services パターン別構築・運用ガイド』ともどもよろしくお願いします。

See Also:
『Amazon Web Services パターン別構築・運用ガイド』を書きました
『Rubyによるクローラー開発技法』を書きました
本を書く前に準備したこと、執筆中にしていたこと

『Amazon Web Services パターン別構築・運用ガイド』の表紙ができました

連日ご案内している『Amazon Web Services パターン別構築・運用ガイド』。ついに表紙ができました。見てください!!


 デザイン全体は、メカニカルでしっかりとした感じに仕上がっています。高価格帯の本なので、イメージにあっていると思います。そして、中心の写真(絵)なんですが、これ何でしょうか?タイプライターっぽいですが、秤に見えなくもないです。私も帯を取って判断しようと思います。
 もうひとつの注目は、サブタイトルが変更されていました。

Before
プロの知識が絶対に身に付く

After
一番大切な知識と技術が身につく

 出版社や企画の出し方によると思いますが、一般的には書名とか表紙に関しては出版社側が決める事項となります。なので、書名の理由とか、表紙の意味を聞かないでくださいね。私も類推しているところなので。

Amazon Web Services パターン別構築・運用ガイド

Amazon Web Services パターン別構築・運用ガイド

See Also:
2015/03/04/102003
AWSパターン別本の狙い。例えばAutoScalingを使えるように。「Amazon Web Services パターン別構築・運用ガイド」の裏話
『Amazon Web Services パターン別構築・運用ガイド』を書きました
『Rubyによるクローラー開発技法』を書きました
本を書く前に準備したこと、執筆中にしていたこと

私とAWSの9年間


 新幹線の中で、もうすぐ発売される「Amazon Web Services パターン別構築・運用ガイド」の前書きを考えています。ふと、AWSとの出会いはどうだったのかなと思い、過去の記録と記憶をサルベージしてみました。

AWSとの出会い



 AWSとの出会いは、2006年のAmazon S3です。当時はアメリカのシリコンバレーで働いていて、レンタルサーバのようなものを探していました。幾つか探している時に、ちょうどAmazonがWebサービスを出すというニュースが飛び込んできました。ストレージのWebサービスとは何か、さっぱり見当つかなかったものの、とりあえず惹かれるものを感じ使いだしたのが最初です。実はそれ以前から、Amazon Web Serviceという名称は存在して、当時は商品を操作するAPIとして提供されてました。今でいうProduct Advertising APIですね。がっつり使っていたので、AmazonのAPIの延長という間隔で、それほど違和感は感じていませんでした。何か全く別の方向性で来たなぁくらいの感覚だったと思います。
 プログラムからストレージ自体を操作できるということで、面白がって用途を考えていました。一方で、米国の一般家庭での回線は結構遅いので、オンラインでストレージ使うのはバックアップ以外は厳しいなぁと感じました。また、当時はストレージ単価も今より高く、データのアップロードにも課金されてたような気がします。個人ユースで使うには少し高いとの感想を持ち、結局その後は積極的に利用しなくなりました。
 ちなみに過去のブログみたら、初めてS3の概念に触れた時のことがそのまま残っていました。後半、自分でも何を書いているか解らないけど。


Amazon S3 - Simple Storage Service - プログラマでありたい


 その後EC2が出て来たのですが、名前だけみてアマゾンのショップ関係のサービスなのかと思ってスルーしていました。たぶん使いだしたのは、2007年になってから。ルートアカウントのアクセスキーの生成日をみたら、2007年4月になっていたので少なくともその辺りでは使ってたっぽいです。ただ本格的に使い出すようになったのは、2007年末。どうやらSimpleDBに触発されて、再度使いはじめた模様です。自分は何をしようとしてたんだろう?そこからは、ちょくちょく使っていた模様です。

サービスごとの感想



 過去ログを見る限り、EBSが出たり固定IPが使えるようになったりで、狂喜してたみたいですね。今だと当たり前の機能だし、逆にないとどうやって使ってたんだろうと謎にもなります。ちょっと面白いので、当時の感想を引っ張りだしてみます。
aws カテゴリーの記事一覧 3ページ目 - プログラマでありたい

週末プログラマに朗報 Amazon Elastic Block Store(EBS)
 S3を使わずにデータを永続化できることが、画期的なことと捉えています。

エンタープライズ分野に本気で殴り込み Amazon EC2でOracle
 AWS上にOracleのライセンスを持ち込めるようになったことに、ひどく驚いていた模様。当時のクラウドは、許されざる者だったのか?

Amazon EC2をGUIで操作する公式管理ツール AWS Management Console
 GUIが使えるようになったのは、3年近く立ってからなんですね。
エンタープライズ分野でガチンコ勝負!!Amazon Virtual Private Cloud
 この辺りからビジネスで使うことを意識しだしてた模様

最大の失敗



 AWSの最初期から見続けてきた訳ですが。そんな中で失敗したなぁと思うことがあります。それは、今みたいに誰もがAWSを使うようになるとは全く予想しなかったことです。当初のAWSは、GUIのコンソールがないことからも解るように、ユーザビリティも最小限でした。機能的にも足りないことが多く、今でいうオンプレミスのインフラに比べるとナイナイ尽くしでした。クラウドというのは便利で凄いという認識はあったものの、単なるニッチなカテゴリーにとどまり続けると思っていました。先を見通す力が無かったと改めて思います。
 一方で、個人的には面白くエンジニア同士には勧め続けていました。社内にも布教し、2009年には社内ユースではそれなりに利用していました、また、2010年に発表した自社サービスのインフラに使ったりとしながら、なぜもっとビジネス展開を考えなかったんだろうなというのが反省です。
 ちなみに、この記事にあるように、2009年段階で後発のクラウドに対してAWSの圧倒的な優位性は認識してた模様です。(優位であるという論拠は、殆ど間違っていましたが。)


ITベンダー製のクラウドは、Amazon EC2に対抗出来るのか? - プログラマでありたい

感想



 振り返ってみると、どっぷりイノベーションのジレンマにハマっていたことに気が付きました。AWSのような破壊的イノベーションは、持続的イノベーションと同じ尺度で比較してもダメだということを身をもって体感しました。一方で、クラウドというカテゴリの誕生から、その成長の過程を見続けることにより多くのことを学んできています。見るだけではなく、プレイヤーとしても活動してきている訳ですし。最近、LambdaやCognitoなど、アーキテクチャを根本的に変えるサービスがでてきています。これこそが、次の破壊的イノベーションの最有力候補と考えています。これ使って色々企みたいところですね。
 前書きを考えようとしたら反省文になってしまいました。そっちの方は頭を切り替えて、考えます。どんな前書きが来るか、楽しみにしていてください。3月25日発売です!!

See Also:
AWSパターン別本の狙い。例えばAutoScalingを使えるように。「Amazon Web Services パターン別構築・運用ガイド」の裏話
『Amazon Web Services パターン別構築・運用ガイド』を書きました
『Rubyによるクローラー開発技法』を書きました
本を書く前に準備したこと、執筆中にしていたこと

AWSパターン別本の狙い。例えばAutoScalingを使えるように。「Amazon Web Services パターン別構築・運用ガイド」の裏話

Amazon Web Services パターン別構築・運用ガイド

Amazon Web Services パターン別構築・運用ガイド

 先日、『Amazon Web Services パターン別構築・運用ガイド』を書きましたというエントリーで、執筆のご案内をしました。せっかくの機会なので、もう少し踏み込んで目標などを解説していきたいと思います。ちなみにタイトルを「AWSパターン別本」と省略していますが、今勝手に考えました。元のタイトル長すぎで、覚えられません。

本書の目標



 今回書いた本の目標として、例えば「読んだ人がAutoScalingくらいを苦もなく使えるようになる」というのがあります。AWSを使いこなしている人にとっては、AutoScalingなんて当たり前と思うかもしれません。しかし、意外に敷居が高いものなのです。AutoScalingを実現するには、最低限、次の事項を理解していて設定できる必要があります。

  • MultiAZ,SingleAZにしろ、ある程度ネットワークを理解している
  • セキュリティグループの設定できる
  • 自分が作成したインスタンスからAMIを作成できる
  • CloudWatchの設定ができる。
  • 動的サイトの場合、アプリのセッションの維持の方法について方針を立てられる

 これだけでも結構たいへんです。実際、JAWSUGの初心者向けセッションに登壇した際に、何度かアンケートをとったことがあります。大体40人位の受講者で実施することが多いのですが、AutoScalingについて聞いたことがある人は、いつも9割くらいです。また使えるようになりたいと聞いてみると、7〜8割くらいの人が挙手します。それに対して実際に構築したことがある人はせいぜい2〜3人です。
 まずはこのギャップを埋めることができれば、結構役立てて貰えるのではと考えました。AWSは、ハンズオンなどで直に学べる機会や、マイスターシリーズやブラックベルトシリーズなど良質のコンテンツが提供されています。一方で、そういったものがあると知らない人も多いのも事実です。本というアプローチは、そういった人たちの何割かにリーチできるのではと思います。

本書のステップ例



 仮に目標をAutoScalingとしたら、この本では次のような要素で解説をしています。まず2章の「AWSを利用する」の部分で、アカウントの作り方からネットワークの作成とセキュリティグループの説明をしています。そしてEC2の使いかたとして、起動からAMIの作成まで取り扱っています。そしてELBの説明です。3章の「パターン別構築例」で、みんな大好きWordPressを例に、Web複数台+DB構成でシステムを構築しています。一旦基本のシステムが出来たあとに、AutoScalingに変更するといった塩梅です。順を追って説明しているので、じっくり読んで貰えればきっと出来るようになると思います。また、例えAWSのコンソールが多少変わったとしても、何のためにするのかということも併せて書いているので、そこの部分は役に立つはずです。

AutoScalingの先に



 次に、この本がAutoScaling使えない初心者向きかというと、そうでもないです。もう一歩先まで目指しているで、例えばAutoScalingで利用するインスタンスは、ElasticBeanstalkを使ったらどうなるのかや、それ以前に静的サイトであればS3 WebHostingで良いよねという話も載せています。
 また後半では、AutoScalingは良いけどアプリケーションのセッションはどう考えるのかとか、デプロイどうするのかとか、そもそもインスタンス起動時の初期化処理はどうなっているのかなどについても触れられています。あとは、AutoScaling時のログをどう考えるかなどですね。ここまで行くと、けっこう中上級者の人でも楽しんで頂けるのではないでしょうか。この辺りの方式については、ただ1つの正解はないと思っています。1つの考え方として、自分の考えるアーキテクチャと較べて貰えればと思います。

まとめ



 改めて見返してみると、いろいろなテーマを取り上げています。社内の教育やお客さんへの説明に使いたいと考えていたので、かなり網羅的になっています。その辺りどう反応して貰えるか、楽しみです。次は、SIerという立場である私が、この本を出したりJAWSUGで登壇していることについて書いてみたいと思います。


Amazon Web Services パターン別構築・運用ガイド

Amazon Web Services パターン別構築・運用ガイド


See Also:
『Amazon Web Services パターン別構築・運用ガイド』を書きました
『Rubyによるクローラー開発技法』を書きました
本を書く前に準備したこと、執筆中にしていたこと