先週のAWS関連ブログ 〜10/10(月) - ServerlessConf Tokyoなど

セクションナイン吉田真吾@yoshidashingo)です。

先週までの暑さがウソのように急激に気温が下がってきました。短い秋を迎え、季節はどんどん移り変わっていくものです。私はまたひとつ歳を重ねました。もうめでたい歳でもないですがワクワクできることを続けていきたいですね。

それでは行ってみましょう。

AWS公式

1. EC2のX1インスタンスにx1.16xlargeが登場

  • 既存のx1.32xlargeより1サイズ下のインスタンスのx1.16xlargeがローンチした。
  • X1はCPUに「Intel Xeon E7 8880 v3 (Haswell)」を2つ搭載し、64 vCPU、976 GiBのメモリと、1 x 1,920 GB SSDストレージを搭載しており、SAP HANAのようなインメモリデータベースの稼働などに2TBまでメモリは使わないワークロードをこなすインスタンスとして適している。
  • オンデマンド/スポット/RIで、東京リージョンを含む複数のリージョンに対応している。

リンク:Introducing new Amazon EC2 X1 instance size, x1.16xlarge, and expansion of X1 instances to new regions

2. Snowball HDFS のインポート

  • HDFS上にホストしているデータを直接クライアントで指定してImport/Export Snowballにコピーできるようになった。

リンク:Snowball HDFS のインポート | Amazon Web Services ブログ リンク:Announcing the Hadoop Distributed File System Support for AWS Import/Export Snowball

3. IPv6 サポートの更新 – CloudFront、WAF、S3 Transfer Acceleration

  • S3についでCloudFront(エッジロケーションも含む)、WAF、S3転送高速化にもIPv6対応した。

リンク:IPv6 サポートの更新 – CloudFront、WAF、S3 Transfer Acceleration | Amazon Web Services ブログ リンク:Announcing Internet Protocol Version 6 (IPv6) support for Amazon CloudFront, AWS WAF, and Amazon S3 Transfer Acceleration

4. 新しい collectd の CloudWatch プラグイン

  • collectdとCloudWatchプラグインをもちいることで、今までトラックできていなかったマシンのメモリ状態やミドルウェアのログなどを収集してCloudWatchのカスタムメトリクスとして見られるようになった。

リンク:新しい collectd の CloudWatch プラグイン | Amazon Web Services ブログ リンク:Amazon CloudWatch Releases CloudWatch collectd Plugin

5. AWS Lambda と Amazon API Gateway で Express アプリケーションを実行

  • Express(Node.jsフレームワーク)アプリケーションをAPI Gateway+Lambdaで稼働させるためのパッケージを公開
  • 手元にコンフィグを生成してデプロイするところまで対応されており、マイグレーションの手順も記載されている。

github.com

リンク:AWS Lambda と Amazon API Gateway で Express アプリケーションを実行 | Amazon Web Services ブログ リンク:Introducing a Node.js Library for Porting Express Applications to Amazon API Gateway and AWS Lambda

6. EC2 リザーブドインスタンスの更新 – Convertible RI とリージョン単位の利点

  • AZ固定ではない(いずれかのAZのインスタンスに割引が適用される)RIが追加された。従来どおりのAZ固定のものもあり、こちらは引き続きキャパシティの予約(確実にこのRI分は起動できる)がされる。
  • Convertible RIといって、無料で別の組合せのインスタンスファミリーやより新しい世代のインスタンスファミリーに無料で変更できるRIが追加された。

リンク:EC2 リザーブドインスタンスの更新 – Convertible RI とリージョン単位の利点 | Amazon Web Services ブログ

7. Amazon EC2 の新しい P2 インスタンスタイプ – 最大 16 GPU

  • G2インスタンスのより新しい世代であるP2世代のインスタンスファミリーがローンチした。

リンク:Amazon EC2 の新しい P2 インスタンスタイプ – 最大 16 GPU | Amazon Web Services ブログ

8. Amazon Redshiftがタイムスタンプでローカルタイムゾーンをサポートするデータタイプをサポート

  • TIMESTAMPTZ というカラムのデータタイプをサポートした
  • COPYコマンドのデフォルトではUTCに変換して取り込むので、表示の際にセッション/ユーザー/接続単位レベルでタイムゾーンをセットすればそれに合わせた表示になる。

リンク:Amazon Redshift introduces new data type to support time zones in time stamps

ServerlessConf Tokyo

今回は10/1(土)に開催された ServerlessConf Tokyo のスライドを一覧にしておこうと思います。

IMG_7412

www.youtube.com

togetter.com

togetter.com

youtu.be

キーノート

DSC_1255

  • AWSのOlyからはAWSが提供するServerless Computing Platformの話と、Alexa(中身のAlexa Skill SetsはLambdaで動作している)のデモ。

www.slideshare.net

Serverless with a native application for Newspass

DSC_1309

  • Gunosyの松本さんからニュースパスでのモバイル開発をサーバーレスにした背景とハマったポイントなどの共有

speakerdeck.com

IBM Bluemix OpenWhisk: Serverless Conference 2016, Tokyo, Japan: The Future of Cloud Programming

DSC_1364

  • AndreasからはBlueMixのイベントアクションプラットフォームであるOpenWhiskの話。非常にテクニカルな中身を披露しています。
  • 彼らは驚くほど前のめりに開発を進め、フィードバックを取り込んでます。

www.slideshare.net

Unlimited Frameworks

DSC_1395

  • サーバーレスな開発にかかせないフレームワークの話
  • サーバーワークスさん、次回のスポンサーお待ちしています。

www.slideshare.net blog.serverworks.co.jp yoshidashingo.hatenablog.com

Firebase を使った Web アプリケーション開発

DSC_1433

  • 今回「BaaSはサーバーレスなのか?」という論争を巻き起こしたラインナップのこちらですが、Firebase限定でオーダーしたのは私です。サーバーレスな開発の目的と照らし合わせると現在のServerlessブームのきっかけであるFaaSのみでなく、Functional SaaSまで含めてServerlessなプラットフォームであるという見方が私の見方です。ただし、現状ここの合意形成などは欧米の議論に量的質的に圧倒的に不足しているためまずは今回のカンファレンスではFaaSが大勢になるだろうというのは想定の範囲でした。ただしそれに対する楔としてFirebaseの話をしてくれたきはるさんと、Realmの話をしてくれた岸川さんにとても感謝しています。
  • なんにせよFirebaseはいろいろと便利ですよね。
  • Googleさん、次回のスポンサーお待ちしております。

speakerdeck.com yoshidashingo.hatenablog.com

サーバレスとマイクロサービスで変わるゲームサーバ開発

DSC_1459

  • FaaSであるLambdaやAPI Gatewayを駆使してFunctional SaaSを今後展開していこうというGS2の丹羽さんからは彼が目指しているゲームサーバーをサーバーレスで構築し、サーバーレスで提供するという世界の話。
  • 今後彼といくつかのイベントで一緒に登壇することが増えるのでそのサービスの成長に今後も要チェックです。

speakerdeck.com gs2.hatenablog.com yoshidashingo.hatenablog.com

Operability in Serverless Environments

DSC_1474

  • コンウェイの法則よろしく、サーバーレスアプリケーションも組織の形により負債化するし、コミュニティのサポートなどが成熟して操作性が改善していくという流れに着目しましょうという話。

speakerdeck.com yoshidashingo.hatenablog.com

Serverless Patterns with Azure Functions

DSC_1542

  • MSの牛尾さんと佐藤さん、野村さんからはAzure Functionsを使ったサーバーレスな実装パターンの話
  • MSさんも前のめりにサーバーレスなシーンと関わり始めていて、今後楽しみですね。
  • 次回のMeetupのスポンサーもありがとうございます。

docs.com simplearchitect.hatenablog.com

IoT/GPSトラッキングプラットフォームがサーバレスだからこそ2ヶ月で構築できた話

DSC_1567

  • StyleZの高橋さんからは、Trackrr.ioというFunctional SaaSの開発をサーバーレスをベースにして行ったときに、自律的な開発はできるがコードベースがバラバラになって大変だったなどのポイントの話

www.slideshare.net

Disrupting old business models: the story of a serverless startup

DSC_1572

  • AWS認定試験のオンライン教育プラットフォームを展開するA Cloud GuruのPeterからはサーバーレスな開発をする場合の原則などの話

www.slideshare.net

紙面ビューアーを支えるサーバーレスアーキテクチャ

DSC_1606

  • 早い段階からLambdaで相当なジョブ数をこなしてきた日経さんからは、紙面ビューアのコンテンツの生成ジョブで朝刊近くには18,000ジョブ/分も実行しているというLambdaを用いたアーキテクチャの話

speakerdeck.com

Building Serverless Machine Learning Models in the Cloud

IMG_7171

  • Cloud AcademyのエンジニアであるAlexからはMLaaSや自作のMLモデルをサーバーレスアーキテクチャに載せる場合などの選定ポイントの話から、単語のポジティブ/ネガティブ判定を行うモデルのデモまで。

www.slideshare.net yoshidashingo.hatenablog.com

using MQTT, we can make our apps SERVERLESS. but...

IMG_7199

  • LT募集したときとちょっと違う結末になっていたLT... w
  • MQTTPRESS自体はGitHub Pagesにアプリをホストしておけるのでとても便利です。

speakerdeck.com github.com

WordPress shift Serverless. ~ ServerlessアーキテクチャはWordPressの何を解決したのか ~

IMG_7221

  • コンテンツの配信は常時CF+S3から行い、コンテンツ作成に必要なときだけWordPressをDockerで立ち上げて編集→ジェネレートしてDockerをストップすることでサーバーレスなWordPress環境を手に入れることができるスゴいSaaS「Shifter」のインフラの話。

speakerdeck.com

Realmで実現するサーバーレスアプリケーション

IMG_7245

  • Realm SDKというツールから始まり、先日デバイス間同期を仲介するプラットフォームサービスをリリースしてFunctional SaaSのプラットフォーマーとして展開を始めたRealmの岸川さんのLT
  • イベント直前にこんなのがあると聞いてこれはとてもサーバーレスだなと感じてねじ込んだ形にはなりましたが、おおむね好調な反応でとてもよかったです。

speakerdeck.com

A Cloud GuruのRyanの感想ブログ

  • ServerlessConfのオーガナイザーであるA Cloud Guru(現在オーガナイザーは別会社に切り出されて Serverless Heroes がやっています※関わってる人は変わらないけど)のCEO Ryanの感想ブログ

read.acloud.guru

Serverless Geeks Panel

IMG_7251

  • ちょうどこの内容は翌日のRebuildで直也さんが直接話をしてくれています。

rebuild.fm

ということで今後もサーバーレスの業界動向が非常に楽しみですね

ちなみに次回は Serverless Meetup を品川で開催します。当日キャンセルが100人くらい発生するんじゃないかと見積もっていますのでまだの人はぜひ補欠登録しておきましょう。

serverless.connpass.com

ではでは

soundcloud.com

先週のAWS関連ブログ〜9/25(日) - EMRのデータ暗号化、API GatewayやCFnのアップデートほか

セクションナイン吉田真吾@yoshidashingo)です。

ServerlessConf Tokyo がとうとう今週末に迫ってきました。早めに準備ができていたとは言え、本業もやりながらだとちょっと大変なものがありますね。あと2、3仕事を片づけたら今週はイベントの最終準備に追われることになりそうです。

それでは今週も行ってみましょう。

AWS公式

1. AWS エンタープライズサポートの更新 – トレーニングクレジット、オペレーションレビュー、最良アーキテクチャ(Well-Architected)

AWSのサポートには以下のようにベーシック(無料)、開発者、ビジネス、エンタープライズの4種類があり、それぞれサービス内容やサポート初回応答時間の目安の厚さに違いがあります。

Compare Support Plans | Developer, Business, Enterprise On-Ramp, Enterprise | AWS Support

その最上位プラン:エンタープライズプランにおいて、以下の3つのサービスメニューが追加されることとなったそうです。

  • トレーニングクレジット:qwikLabsと組んだセルフトレーニングの500クレジット(コースにより消費クレジットが1〜15で設定されている)および追加クレジットの30%割引
  • クラウドオペレーションレビュー:アカウントマネージャー(TAM)を通じて、オペレーションに抜け漏れがないかレビューとマネジメントプロセス(具体的にどんなものかは不明)を受けることができる
  • 最良アーキテクチャ(Well-Architected)レビュー:AWS Well-Architected Frameworkを用いたレビューを受けることができます。

http://d0.awsstatic.com/whitepapers/architecture/AWS_Well-Architected_Framework.pdf

Are You Well-Architected? | AWS News Blog

リンク:AWS エンタープライズサポートの更新 – トレーニングクレジット、オペレーションレビュー、最良アーキテクチャ(Well-Architected) | Amazon Web Services ブログ

2. Amazon EMR に保存データと転送中データの暗号化オプションを追加

  • EMR 4.8.0または5.0.0以降のApache Spark、Apache Tez、Hadoop MapReduceで以下のストレージタイプにデータを保存する場合に保存データの暗号化とデータ転送時の暗号化に対応した。
    • EMRFS 経由で S3 に保存したデータは、SSE-S3(S3で管理された暗号化キーによるサーバーサイド暗号化)、SSE-KMS(KMS管理の暗号化キーを用いたサーバーサイド暗号化)、CSE-KMS(KMS管理の暗号化キーを用いたクライアントサイド暗号化)などに対応
    • 各ノードのローカルファイルシステムおよびHDFSクラスターのファイルシステム内はAWS KMSによる暗号化に対応
    • 転送中のデータの暗号化にはPEMなどに対応しており、PEMはZipに固めてS3に保存しそのロケーションを指定することで利用可能。

docs.aws.amazon.com

リンク:Amazon EMR に保存データと転送中データの暗号化オプションを追加 | Amazon Web Services ブログ

3. Amazon RDS for OracleでOracle UTL_MailとJuly 2016 PSU Patchesがご利用可能になりました

  • RDS for OracleでUTL_MAILパッケージを使って直接メール送信ができるようになった。
  • また利用可能な同バージョンにおいてはJuly 2016 Oracle Patch Set Updates (PSU)が配布されている。

リンク:Amazon RDS for OracleでOracle UTL_MailとJuly 2016 PSU Patchesがご利用可能になりました | Amazon Web Services ブログ

4. API Gateway のアップデート – API 開発を簡素化する新機能

  • greedyパス:/store/{proxy+}と指定すると/store配下のすべてのURLをひとつのリソースにルーティングできる
  • ANYメソッド:HTTPリクエストを個別指定する必要なく、すべてのメソッドをひとつのリソースにルーティングできる
  • Lambda 関数統合:組み込みの Lambda 統合テンプレートを利用することでHTTPリクエストを簡単に関数で直接利用できる形式にマップできるようになった
  • 上記を駆使することで、たとえば「/store/?name=hoge」といった特定のGETパラメータを埋めておいてアクセス解析に使ったり、「/location/東京/ や /location/京都/」をひとつの検索リソースをワード違いで実装することでSEO対策などに利用ができそう。

リンク:API Gateway のアップデート – API 開発を簡素化する新機能 | Amazon Web Services ブログ

5. Amazon RDS for SQL Serverがローカルタイムゾーンをサポートしました

  • RDS for SQL Serverのインスタンス作成時にローカルタイムゾーンを指定できるようになった、これはOSレベルのタイムゾーンの変更なので、date系の型によってそれぞれどういった影響を受けるか事前に検証することが推奨されている。

リンク:Amazon RDS for SQL Serverがローカルタイムゾーンをサポートしました | Amazon Web Services ブログ

6. AWS CloudFormation の更新 – YAML、クロススタック参照、簡略化された置換

  • テンプレートをYAMLで記述できるようになった。
  • 1つのスタックから値を Export して別のスタックから !ImportValue で参照することが可能になった。入れ子にしたテンプレートのOutputsを使うような方法とはまた違った変数のスコープで制御ができる。
  • 置換関数 [Fn::Sub](https://docs.aws.amazon.com/ja_jp/AWSCloudFormation/latest/UserGuide/intrinsic-function-reference-sub.html) が利用できるようになり、${変数} を評価された実際の値に置き換えることができるようになった。

リンク:AWS CloudFormation の更新 – YAML、クロススタック参照、簡略化された置換 | Amazon Web Services ブログ

※こちらも参考に

www.slideshare.net

7. Apache BigtopとAmazon EMRでカスタムアプリケーションを構築しデプロイする方法

  • コミュニティベースでメンテナンスされているHadoopコンポーネントやツールのリポジトリであるApache Bigtopを利用してEMRクラスタ上にカスタムアプリケーションを稼働させる方法の手順説明

aws.typepad.com

AWS関連

8. Linux Bastion Hosts on the AWS Cloud: Quick Start Reference Deployment

  • 以下のHTMLのリンクからクイックスタートで実際にLinuxの踏み台を起動することができるガイドとテンプレート

https://s3.amazonaws.com/quickstart-reference/linux/bastion/latest/doc/linux-bastion-hosts-on-the-aws-cloud.pdf

docs.aws.amazon.com

リンク:Linux Bastion Hosts on the AWS Cloud: Quick Start Reference Deployment

その他

9. ISUCON関連エントリー

実際のアプリケーション実行環境は見てませんがどれも参考になりました。

dsas.blog.klab.org

tagomoris.hatenablog.com

inokara.hateblo.jp

10. PythonでもPythonじゃなくても使える汎用的なMicroservice実行環境

  • 日経さんのRest Frameworkを使ったAPI環境の話と、それらを取り巻くCI/CDパイプラインの話や監視運用の話など

speakerdeck.com

11. Who Is "YOUR" Customer?

  • 自分にとっての顧客が誰かを見極めないで競合の真似とか業界の流行りとかゆるふわなことやってると、いつまでも本当に相思相愛になりたいほんとうの顧客に届きませんよ、という話。
  • マーケターに限らずエンジニアも経営者も、「顧客」を意識しないといけないすべての人がつねに胸に刻んでおきたい訓示だと思いました。

stilldayone.hatenablog.jp

12. Full Stack Fest 2016

  • CSSやReact周りで盛り上がったような面白そうなイベントがやってたようです。

www.youtube.com

13. Velocity Conference in New York 2016

  • O'Reilly主催のVelocityconfのNY版が開催されていたようで、DevOpsやServerlessなど多岐にわたる話題のセッションが行われていたようです。

www.oreilly.com

それではまた来週。

Operability in Serverless Environments (ServerlessConfセッション紹介)

セクションナイン吉田真吾@yoshidashingo)です。

第5弾も海外のスピーカーの紹介です。PaaS の老舗 Engine Yard で DevOpsサポートエンジニアをしている Allan Espinosa さんから、サーバーレスを活用していくための組織の話を伺ってみます。

プロフィール

  • 名前:Allan Espinosa
  • 会社名:Engine Yard
  • 役職:DevOps Support Engineer

f:id:yoshidashingo:20160925110652j:plain

Allan は Engine Yard で働き、カスタマーが Deis や Docker、Kubernetes を本番環境で利用するためのサポートをしています。以前は世界で最も巨大な CloudFoundry 環境で Chef を使ってデプロイする管理をしていました。Allan は Packt Publishing から Docker High Performance という本も出版しています。この本にはさまざまな実例や、本番環境で Docker を up して run するようなハイレベルな概念について書いてあります。

Quick Chat

---- ようこそ日本にお越しくださいました。日本でのご予定は?

親戚や家族に会うためにすでに1ヶ月ほど日本に滞在しており、ServerlessConfの数日後に日本を発つ予定です。 数年前に実際に日本に住んでいたので、その頃のなつかしい場所も訪ねています。

---- どおりで日本語が上手なわけですね。それでは ServerlessConf Tokyo でのセッション概要を教えてください

サーバーレスな環境にWebアプリケーションをホストしたとしてもオペレーションを忘れていいわけではありません。他の多くの人がサーバーレスな環境におけるオペレーションのしやすさの面で気をつけるべき点を強調されてきました。テクノロジースタックやAPIの抽象レベルが変化しても、カスタマーのためにサービスを稼働し、運用し、保守するための大原則は変わりません。

これらの考え方はサーバーレスなアプリケーションをサポートする組織にも適用されます。つまりたとえば、短期的には組織の形を変えずにサーバーレスなチームを構成することは可能ですが、そのうち技術的負債に支払いを求められるようになり、最後には元どおりになってしまっていることに気づくことでしょう。

このトークでは、私がPlatform-as-a-Serviceソリューションを稼働するバックエンドサービスチームやベンダーとして学んだ教訓を共有します。開発者への価値提案とその他の組織への価値提案はどちらも似ていることから、たくさんの類似点が見いだせることでしょう。コンウェイの法則は未だに健在で、あなたがサーバーレスなアプリケーションの構築・稼働のためのチームを作るときにきっと役に立つことでしょう。

---- ありがとうございます。それではもう少しつっこんで話を聞かせてください。まず、あなたはサーバーレスでオペレーション作業を減らすことはできるが、それでも責任(responsibilities)は自分たちで負う必要がある、つまりサービスマネジメントは忘れてはいけないと解釈しました。合ってますか?またそれはなぜでしょうか?

はい、組織においては、自分たちの顧客に対する責任(responsibilities)と保障(guarantees)が伴います。我々のサービスがダウンしたとしてそれを他人のせいにすることはできません。利用しているFaaSやサーバーレスのプロバイダーがダウンしていたとしても、われわれは顧客の期待に応える責任があります。このマインドセットはどうやってサーバーレスなアプリケーションを構築するかという点に影響します。

---- あなたはバックエンドサービスチームの一員、またベンダーの一員として得た知見を共有してくれるとのことですが、開発者とそれ以外の組織でも共通している点というのはどういうものでしょうか?

たいていの組織はサービス開発チームとバックエンドサービスチームが分離されています。これらの分断の影響で、バックエンドサービスチームが組織に付随したチームではなく顧客とは関係ないベンダーのように振る舞ってしまうことがあります。こうやってバックエンドサービスチームが組織外のものであるかのように振る舞ってしまうことで組織の管理レベルにおいてさまざまな軋轢を生んでしまうことがあるのです。

ベンダーの中には非常に厳格に「これは対応し、これは保障しない」といった明確な範囲を決めているところもあります。また、中にはカスタマーサクセス部門を持つことで、ベンダーがカスタマーのチームの一部であるかのように感じさせてくれるところもあります。

ベンダーやバックエンドサービスチームといかにコミュニケーションを取るかによって、アプリケーションの設計は影響を受けるのです。

---- 組織をもっと素早くてアジャイルな組織に変えるためにおすすめの方法はありますか?

組織の古い構造の中には変化に対する抵抗力があります。ミッションの変更や、組織全員に影響があるような状況の変化(たとえばサービスの閉鎖や企業の倒産など)によって、人々ははじめて新しいアイデアに対してオープンになり始めるのです。これは組織における継続的なプロセスです。

DevOpsや継続的デリバリーの分野には、環境を変えるリスクを和らげながらアジャイルでハイパフォーマンスな組織に変えていくためのたくさんの文化の訓練方法があります。

---- ありがとうございました。お会いできるのを楽しみにしています。

こちらこそ。 カンファレンスでみなさんにお会いできることも楽しみにしています!

まとめ

短いチャットではありましたが、サービスマネジメントにおける責任分解点の話や、組織の構造やコミュニケーション方法がアプリケーションのアーキテクチャに影響を及ぼすという話は、Microservicesの文脈においても耳にすることが多く、サーバーレスにおいても今後議論のひとつとしていきたい内容ですね。

また、実際に開発者に近い立場でサポートをしているAlanさんの知見も非常に興味深いので、当日はさらにさまざまな視点から話を聞きたいと思いますね。

それでは当日をお楽しみに。