LoginSignup
2
3

More than 5 years have passed since last update.

S先輩にきいてみたっ!- Amazon Web Serviceの拡張性と伸縮自在性 - 第9話 真実

Last updated at Posted at 2016-07-13

さて、連載も佳境に入ってきました。

これまでの連載はご覧になっていただけましたか?
第1話
第2話
第3話
第4話
第5話
第6話
第7話
第8話

第9話の今回のテーマは「拡張性と伸縮自在性」です。
なお、ストーリーはフィクションであり、実在の人物・団体とは一切関係ありません。

第9話 真実

「さてと…。」

いつもより少し硬く感じるキーボードを叩きながら、Aはつぶやいた。

「今日は、、、拡張性と伸縮自在性?」

AWS 認定ソリューションアーキテクト – プロフェッショナルレベル試験要覧を読むと、次のようにある。

7 ドメイン 7.0: 拡張性と伸縮自在性
7.1 疎結合されたシステムを設計する能力をデモンストレーションする
7.2 最も適切なフロントエンドスケーリングアーキテクチャを実装する能力をデモンストレーションする
7.3 最も適切な中間層スケーリングアーキテクチャを実装する能力をデモンストレーションする
7.4 最も適切なデータストレージスケーリングアーキテクチャを実装する能力をデモンストレーションする
7.5 垂直スケーリングと水平スケーリングの間のトレードオフを判断する

「…。恋は拡張しますか?愛は、伸縮自在ですか?」

夜の帳がもたらす気だるさからか、記憶が呼び起こす忌々しさからか、Aは独り言をつぶやき続けている。

「…。疎結合な僕らの関係。恋愛デモンストレーション。Wow。」
「…。さっぱりだな。さっぱりわからん。もう、僕には何も分からない。」

Aは、PCをそっと閉じた。

「S先輩、結婚するんだ。。。」
大通りの喧騒が漂う部屋の片隅で机に向かってAが思い出していたことは、たまたま聞いてしまった、S先輩の電話だった。
…ええ、わかったわ。それじゃぁ式場はそこね!そうね。…

苦い感情とともに、先週立ち聞きした内容を思い出す。

「そうだよな。S先輩、素敵だもんな。そういう話もあるよな。」

鉛を飲み込んだような感覚。悔やまれるのは、自分の自信のなさ。
少しでも、先輩に追いつこう。せめて仕事だけでも。

PCを開き、再び試験要項を読む。
「拡張性と伸縮自在性と聞いて、最初に思い浮かぶのは、利用のされ方によってサーバを増減させることだよな。」
「疎結合とは、サービスをサブシステム化して、各システム間をAPI通信、たとえばRESTで結合することによって、サービスの拡張性、および信頼性を担保することだよね。インフラ面でいうと、メモリ負荷がおおいサービスとCPU負荷が多いサービスをわけて、スケールアウトとスケールアップをわけて検討できるようにしておくとか。マイクロサービスアーキテクチャという言葉もはやってるし、多分そのことだよね。」
「フロントエンドスケーリングアーキテクチャとは何だろう?フロントエンド、つまりUI周りのアーキテクチャだよね。いまだと殆どのアプリはWebで作るだろうから、WebUI周りのアーキテクチャ、それのスケーリング?あとは、中間層、つまりはビジネスロジックを持つ、コントラーとなる処理のスケールと、データ保存のスケールが出来るようなアーキテクチャが作れればいいのか。」
ーーググッて見る。
「お?アーキテクチャセンター?いろんなリファレンスアーキテクチャが載ってるのか。フムフム。e コマースウェブサイト向けに伸縮自在なウェブフロントエンドを構築か。みてみよう。」
PDFを見ると、以下の様な構成を担保していることが伺える。

  • CloudFront経由でサービスにアクセスすることで、ユーザから近いエッジロケーションで処理を受け付けることで高パフォーマンスを実現する。
  • Beanstalkを使うことによって容量のプロビジョニング、負荷分散、スケーリングが自動化される。
  • サービスごと(MARKETING AND RECOMMENDATION SERVICE、E-COMMERCE WEB SITE、CHECKOUT SERVICE)にBeanstalkを分けることによって、サービスごとに負荷が偏った時にも正しくスケールが行われる。MARKETING AND RECOMMENDATION SERVICEとE-COMMERCE WEB SITEはAPI結合、CHECKOUT SERVICEはユーザが直接アクセス可能なようにフロントエンドの処理を委譲する。
  • ElastiCacheを使い、Sessionデータを保存することで、可用性を上げ、スケールアウトが可能な構成とする。
  • DynamoDBを使い、高可用性やスケーラビリティーを担保する。

「フムフム。勉強になるな。他のアーキテクチャも見てみるか。次はe コマースウェブサイトパート 2: チェックアウトパイプラインだ。」
…こうして、Aはアーキテクチャセンターのドキュメントを読み込んでいった。
「あ、もうこんな時間か…。」
「よく分からないところもあるな…。とくに『デモンストレーションする』ってなんだろう…。」
「…。」
「S先輩に聞いてみるか…。」
「うぅ…。いつもどおりに話せるかな…。」

-翌日----

(うぅ…。話せないまま、業務時間が終わっちゃった…。)
(S先輩ももう席にいないし、帰るか…。)
Aは重い足取りでエレベーターホールに向かった。
(なんか、今日は、いつもより疲れたたな…。)

「あ、A君、いま帰り?」
今日、一日中、話をする機会を伺いつつも話せなかった相手がそこにいた。
「うぉっっ!S先輩!?」
「あはは。驚きすぎ。いま帰りなの?晩ごはんでも一緒にいく?」
え?あれ?いいんですか?
「はい!お願いします!ちょうど、AWSで聞きたいこともあったので!」

会社近くの飲み屋にはいり、ビールで乾杯をした。

「そうなんです。「デモンストレーションする」っていうのがよくわからなくて。」
「あぁ、それはね。そんなにこだわらなくてもいいよ。」 S先輩は、英語の原文を教えてくれた。
「だから、デモンストレーションするっていうのは、能力が備わっていること、くらいに読み替えてもいいと思うよ。」
「言葉に迷ったら、英語を見てみるといいよ。」

「なるほど。」
「…。そういえば、結婚されるらしいですね。おめでとうございます。」
ジョッキを握ったS先輩の動きが止まった。
「…。誰に聞いたの?」
「あ、先輩が電話で話しているのを小耳に挟んでしまって…。」
冷たい沈黙が続く。AはS先輩の手元を見つめるしかなかった。
「ぶっ、あははははは!」
S先輩が急に吹き出した。
「あ、ごめんごめん。すごい切羽詰まった顔してたよ。A君。」
「そう。結婚するの。妹が。海外で結婚式するから。そのためにお休みもらうの。」
「え!そうなんですか!あ、勘違いしました!」
トーンが急に明るくなったAの声を聞いて、S先輩がまた笑い出した。
「あははは!ふふふ…。はぁ。。。んー。すごい暗い顔してたね。…。どうして暗い顔してたの?」
小悪魔のような顔で覗きこんでくるS先輩。Aはその前では顔を真赤にして下を向くしかなかった。

さて!次回は最終回。
「クラウド移行およびハイブリッドなアーキテクチャ」をテーマにお送りします。よろしくお願いします

2
3
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
3