SHOEISHA iD

※旧SEメンバーシップ会員の方は、同じ登録情報(メールアドレス&パスワード)でログインいただけます

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

イベントレポート

優れたアーキテクチャを生むAWSベストプラクティス。運用者が守るべき5つの柱

「Developers.IO 2018」セッション「1000件以上の活用を見てわかった絶対に失敗しないAWSベストプラクティス」レポート

  • X ポスト
  • このエントリーをはてなブックマークに追加

【パフォーマンス】~各サービスの長所・短所をよく理解する~

 菊池氏は、3つ目の柱であるパフォーマンスについても触れた。

 「パフォーマンスに関連して、いくつかAWSのアップデート情報を紹介します。まずは、『NITRO System Architecture』と呼ばれる基盤技術について。これは2017年の年末に開催されたAWSのカンファレンス、re:Invent 2017で公開されたもので、独自に最適化された『Amazon EC2』を動かすためのハイパーバイザです。『C5』『M5』『R5』『T3』などのインスタンスタイプに搭載されています。これらのインスタンスに切り替えるだけで、パフォーマンスの改善が望めるのです。

 他にも、AWS初のベアメタルインスタンス(仮想化ハイパーバイザを使わず、物理サーバーをユーザーがそのまま利用できるサービス)である『i3.metal』も昨年発表されました。ただし、こちらは本日(登壇日である2018年10月5日)時点では東京リージョンで使えません。さらについ先日、ベアメタルインスタンスで6TB、9TB、12TBもの大容量メモリを搭載したモデルも発表されました。こちらは東京リージョンでも利用可能です」

 さらに、パフォーマンスを向上させるには、サービスに適したデータストアを用いることも重要だ。可用性や一貫性、レイテンシー、耐久性、スケ―ラビリティ、クエリ性能など、データストアごとに長所・短所は異なる。自社アプリケーションにマッチしたストレージサービスを選択することが肝要なのだ。

 AWSは数多くのデータベースサービスを提供している。リレーショナルデータベースであれば「Amazon RDS」や「Amazon Redshift」、キーバリューストアならば「Amazon DynamoDB」、グラフデータベースであれば「Amazon Neptune」などである。これらの特徴をよく学んでおくことが、高パフォーマンスのシステムを構築するカギとなってくる。

AWSが提供する豊富なデータベースサービス
AWSが提供する豊富なデータベースサービス

【コスト最適化】~マネージドサービスを最大限に活用する~

 次は、4つ目の柱であるコスト最適化について。AWS Well-Architected Frameworkでは、コストを削減することではなく、ビジネスにおけるコストの「費用対効果」を最適化することが重要であるとうたわれている。では、最適化のためには何をすべきか。その答えが「マネージドサービスを最大限に活用すること」だと菊池氏は解説する。

 「AWSは数多くのサービスを提供しています。これらのサービスを上手に活用することが、コスト最適化に結びつくのです。先ほど述べたように、データベースひとつをとってもたくさんのサービスがありますし、どれもたった数分で利用開始できます。冗長化やバックアップの設定も簡単です。パッチの適用も人がやる必要はありません。

 マネージドサービスの有効活用という観点でさらにお話しすると、近年サーバーレスアーキテクチャが流行しています。『Amazon API Gateway』と『AWS Lambda』を組み合わせ、簡単にREST APIを作ることが可能です。リクエストベースの課金になっているため、稼働していないときにはコストがかからないメリットがあります。ぜひ、アーキテクチャの選択肢に入れておいてください」

 さらには、「用途に合ったインスタンスタイプを選ぶことも重要だ」と菊池氏は語る。Amazon EC2のインスタンスタイプには、通常のオンデマンドインスタンスの他に2種類のインスタンスタイプがある。長期利用するインスタンスを予約しておくことで割引が受けられる「リザーブドインスタンス」と、安価である代わりに自分の入札価格を利用価格が上回るとインスタンスが削除される「スポットインスタンス」である。これらを適切に使い分けることが、コスト最適化に結びつくという。

【運用性】~新サービス・新機能を積極的に取り込む~

 運用において、AWS Well-Architected Frameworkで何より重要視されているのは「自動化」だ。自動化することで、人的ミスを抑制し再現性を確保できる。さらには、開発からリリースまでのスピードも向上する。

 「自動化を実現できるサービスとして、AWS上のリソースに対するオペレーションを統合管理できる『AWS Systems Manager』をおすすめします。

 さらに、運用をより良いものにしていくには、継続的な改善を行うことも重要です。そのためには、定量的なKPIの設定が不可欠となります。客観的にわかるシステムの良しあしの判断基準を設け、その指標をモニタリングしていきましょう」

 最後に、菊池氏は以下のように述べてセッションを締めくくった。

 「何より重要なのは、AWSの新サービスや新機能を積極的に取り込んでいくことです。AWSは年に1000件以上ものアップデートが行われています。そのため、かつて実現できなかったことが、しばらく時間がたつと実現できるようになっていることがよくあります。それらの更新内容について学び、自社サービスの運用に役立ててください!」

この記事は参考になりましたか?

  • X ポスト
  • このエントリーをはてなブックマークに追加
イベントレポート連載記事一覧

もっと読む

この記事の著者

中薗 昴(ナカゾノ スバル)

 週の半分はエンジニア、もう半分はライター・編集者として働くパラレルキャリアの人。現職のエンジニアとして培った知識・経験を強みに、専門性の高いIT系コンテンツの制作を行う。

※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です

この記事は参考になりましたか?

この記事をシェア

  • X ポスト
  • このエントリーをはてなブックマークに追加
CodeZine(コードジン)
https://codezine.jp/article/detail/11175 2018/11/07 14:00

おすすめ

アクセスランキング

アクセスランキング

イベント

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

新規会員登録無料のご案内

  • ・全ての過去記事が閲覧できます
  • ・会員限定メルマガを受信できます

メールバックナンバー

アクセスランキング

アクセスランキング