JAWS Festaで実施予定のハンズオンも先取り体験したぞ
サーバーレス事例たっぷりのJAWS-UG東海道 in 浜松
2016年09月26日 07時00分更新
JAWS FESTA 東海道 in 名古屋のプレイベントとして、東海道地域JAWS-UGの共同勉強会が浜松で開催された。東海道というくくりではあるが、静岡の地元企業から多数の活用事例発表があり、中身の濃いセッションが多く用意されていた。さらにJAWS FESTA 東海道で実施予定のハンズオンの一部を先取り体験できるなど、10月のイベントに向けた動きも感じられる勉強会となった。
AWSJ西谷さんが語る、サーバーレス化に当たって考えるべきこと
最初のセッションに登壇したのは、アマゾン ウェブ サービス ジャパンから招かれた西谷圭介さんだ。「Getting Started with Serverless Architectures」というタイトルで、最近どこのユーザーグループでも注目が集まっているサーバーレスについて語ってくれた。話題の中心は具体的なテクニックよりも、サーバーレスを使う意義やどういう場合にメリットがあるのかという話。自分がサーバーレス技術を学ぶメリットがあるのか? サーバーレス技術を身につけるべきなのか? という入り口にいるエンジニアにもためになる話が多く含まれていた。
「クラウド化はインフラのパラダイムシフトでした。サーバーレスは、オペレーションを含めたアプリケーション開発のパラダイムシフトです。特にフロントエンドエンジニアに、大きなメリットをもたらします」(西谷さん)
多くの企業では、アプリケーション開発とインフラ管理では部門が分かれている。従来の開発手法では、開発部門のエンジニアが実際にコードを動かしてみたいときには、インフラ部門に依頼してデプロイしてもらう必要があった。そして、トライ&エラーを繰り返すには時間がかかり、クラウドの手軽さや開発スピードという魅力をスポイルしていた。
しかし、サーバーレス化されることにより、フロントエンドエンジニアは自分でコードをアップロードして動作を検証し、短時間でトライ&エラーを繰り返すことが可能になる。開発スピードが速くなり、インフラ部門もデバッグ時の頻繁なデプロイ作業から解放される。
「開発環境向けにAWS Toolkitも用意しています。たとえばVisual Studioにnode.jsプラグインとAWS Toolkit for Visual Studioをインストールすれば、アプリケーションをローカルで実行させ、デバッグすることもできます」(西谷さん)
一方で、サーバーを使わなくなることで期待されるコスト削減については、「主たるメリットとして捉えない方がいい」とのこと。クラウド普及初期にも、機器コストがなくなることによるコスト削減効果が謳われたが、実際にはオンプレミスに比べて劇的なコスト削減は実現できなかった。同じように、サーバーレス化もコスト削減を主たる目的として取り組むと、思うほどの効果を上げられないという現実に直面することになるだろうと言う。
「サーバーレス化にも得手不得手があり、内容によってはEC2でマイクロインスタンスを立ち上げた方が低コストで済む場合も少なくありません。それよりもフロントエンドエンジニアだけで開発が進められること、インフラ管理の負担を削減できることをメリットと考えていただいた方がいいと思います」(西谷さん)
このあと西谷さんはいくつかの活用事例を紹介したうえで、サーバーレス化に取り組む際の考慮点についても言及した。
「サーバーレス技術は、既存のサーバーを単純に置き換えるものではありません。EC2で作っていたものをLambdaに置き換えようとするような案件は、うまくいかないことが多いようです。ファンクション単位で実行されるLambdaの特性を理解して、先ほど述べたようなメリットを得られるように開発手法を切り替える必要があります」(西谷さん)
また、サーバーレス技術に限ったことではないが、机上の勉強だけで学べることには限界がある。無料で使える範囲が設定されている機能も多いので、まずは手を動かしてみるのが理解の近道だという。使ってみることで、サーバーレス化に向いている案件とそうでない案件も見えてくるはずだ。サーバーレスに注目が集まっているが、サーバーレス化自体が目的になっては本末転倒だ。あくまでも目的はビジネスであるべきで、サーバーレスはビジネスを実現するための手法のひとつに過ぎない。
「開発においては、マイクロサービス全般に言えることですが、Design for Failureの考え方が重要です。1つのコンポーネントがダウンしただけでサービス全体が止まることのないように設計する必要があります」(西谷さん)
サーバーレス化によってフロントエンドエンジニアだけでできることは増えるが、「自分でできる=自分で責任を持つ」ということでもある。その事実をしっかり受け止めて、それぞれのエンジニアが運用にまで視野を広げる必要があると西谷さんは語った。
しずおかランチやしずおかオンライン、エアーズなど地元企業でのサーバーレス化事例も紹介
西谷さんのセッションに続いて、アームズの小林 秀和さん、しずおかオンラインの榊原 継太さん、エアーズの加藤 匡邦さんが登壇。それぞれのサービスでどのようにAWSを活用しているか、どのような工夫を盛り込んで構築したかという話が語られた。
アームズが提供するしずおかランチは、しずおかアプリコンテストでAWS賞を受賞しており、AWSの各サービスの長所をつかんでうまく組み合わせている点がポイントとなっている。小林氏のセッションではLambdaとElasticsearch Serviceを連携させる際の注意点や、開発時の自身の失敗談が語られた。
しずおかオンラインはサービスのバックエンドをサーバーレスで構築。VPCを希望通りに区切るためのNAT Gatewayの設定について具体的な手法を榊原氏が紹介した。コスト削減効果を含め、バックエンドをサーバーレス化することによるメリットについても語られる有用なセッションとなっていた。
「マイル手帳」というiPhoneアプリを提供するエアーズでは、バックエンドシステムの開発にServerless Frameworkを採用。登壇した加藤氏はServerless Frameworkを採用した理由や得られるメリットについて解説。フレームワークの活用は参加者にはあまりなじみのないアプローチだったが、アプリの構成や自社の開発手法を積極的に公開してのプレゼンテーションは詳細でわかりやすく、みな熱心に耳を傾けていた。
それぞれのセッションについては詳細記事をのちほど掲載予定なので、乞うご期待。
この連載の記事
-
第17回
デジタル
年末のJAWS-UG名古屋はre:Inventの振り返りLT(ただしLong Talk) -
第16回
デジタル
AWS IoTでトイレ予約システムを作った中村さんの戦い -
第15回
デジタル
CMSをフレームワークとして活用し、クイックスタートを実現しよう -
第14回
デジタル
クラウドはアジャイル開発本来の力を引き出し、エンジニアの在り方も変える -
第13回
デジタル
ライター重森が体験したJAWS Festa 東海道 2016熱狂の1日 -
第12回
デジタル
「マイル手帳」のバックエンドをServerless Frameworkで構築 -
第11回
デジタル
しずおかオンラインの榊原さん、VPC内のLambdaの苦労を語る -
第10回
デジタル
しずおかランチ開発で得たLambdaとElasticsearch連携時の認証テク -
第8回
デジタル
8月27日、JAWS-UG東海道 in 浜松に行きまーす! -
第7回
デジタル
10月22日は名古屋へ!JAWS Festa 東海道 2016の申し込み開始 - この連載の一覧へ