AWSの話題を中心に、日々の業務やプログラミングの徒然を綴るエンジニアブログです。

HANDS LAB

HANDS LAB ENGINEERS BLOG

ハンズラボエンジニアブログ

作者別: Yuka Aoki

おみやげAPIの裏側〜re:Invent企画〜

Pocket

10月にラスベガスで開催された「AWS re:Invent 2015」。

AWS re:Invent 2015

参加したメンバーは考えた…。
新サービスについて紹介するだけなら、”某ブログの会社”の方が早いし詳しい…。
それなら、新サービスを使って何かを作ればいいんじゃないか!?と。

そこで、メンバーに配るおみやげを抽選できる
おみやげAPIをつくるべく、「おみやげAPIプロジェクト」が発足!
無事おみやげは配れたのか?
今回は(やっと)その全貌・開発の裏側に迫ります!

おみやげAPIの立ち上げ

チーム構成は、
re:Inventに参加した 井上、今井。そこにAWSエンジニア加藤がJoin。
さらにデザイナー田名網も加わり強力な布陣に(えっへん)。
おみやげの写真撮影などサポートを青木が担当。

過去のブログ
おみやげAPIをつくろう〜AWS re:Invent参加メンバー企画スタート!
おみやげAPIをつくろう〜絶賛開発中!re:Invent企画〜
来たよ!re:Invent〜展示エリア(Central)を楽しもう編〜

写真の数はざっと20枚。ですが、実際には同じものやサイズ違いなどもあり、商品数はもっとありました!

おみやげ配布大会(re:Invent報告会)スタート!

計3名分ともなると、長机に乗り切らないほど!
omiyage02

多くのメンバーが参加しました〜おみやげ応募は事前に案内して「応募しておいてね」と伝えていました。

reinventhoukokukai

おみやげに応募する画面はこのような感じです。
希望のおみやげを選択して、エントリー。

omiyagegamen

管理側(抽選する側)の画面です。ラスベガス風。

chuusengamen

おみやげAPIの裏側

決め事としては、以下の2つです。
・できるだけAWSの新サービス(re:Inventで発表されたもの中心)を使う
・NoEC2

また、ざっくり要件は以下のとおりです。
・ユーザー側機能
 -おみやげの一覧を見ることができる
 -欲しいおみやげに応募できる
・管理者側
 -応募状況が確認できる
 -おみやげの抽選が行える

設計したものがこちら。ついた字名が「新技術の無駄遣い」。

omiyageapisekkei

・アプリケーション
 -JavaScriptによるシングルページアプリケーション
 -iOSアプリもあり
 -配信はCloudFront(S3オリジン)
 -無駄にWAF

iOSアプリのアイコンはこちら(デザイナー田名網作)
omiyageicon

・認証
 -Facebook

・権限付与
 -Cognito

・データ
 -応募やユーザー作成はAPIGateway
 -APIGateway+Lambdaを経由してDynamoDBへ
 -LambdaはPythonを使用(JS非同期処理多い…Pythonならシンプルにいける)
-Lambda SNS使って処理が管理者に飛んでくる
 -登録状況確認 無駄にcron使いたかった
 -DynamoDBに入った応募データはLambdaからFirehoseでS3経由Redshiftへ
  (ただ、Lambdaコンテナ上のSDKが古くてFirehoseが呼び出せず→実現せず)
 -Lambdaの定期実行(CRON)を使って応募状況をSNSでサポート

やってみてよかったこと

新サービスを無理やり使う方針によって
・どんなサービスがあったか復習できた
・想定ユースケースの確認ができた

新サービスを使ってみて
・サービスの概要を把握できた
・一回手を動かしてみることで、苦手意識が低下した
・Lambda力がました
・APIGatewayが使えるようになった
・Node.jsの辛さを再認識した
・Pythonに目覚めた
・サーバレスアーキテクチャも行けそうな気がしてきた

サーバレスアーキテクチャについて
・APIGatewayの登場により、より現実感が増した
・2 Tireアーキテクチャは用途が限定的なイメージ
・デプロイ系はまだこなれてない
・開発方法、運用方法についてノウハウの蓄積が必要
 デプロイ方法の確立(JAWS frameworkなど)
 ブラウザでポチポチするのは辛い
 ログまわり(CloudwatchLogs辛い)
・認証まわりがまだふわっとしてる(自分の中で)
・うまくいけばコストダウンになりそう

・新しい技術を学ぶのには”しばり”があると面白い
新サービスしばり、Lambdaしばり、EC2レスしばり…

エンジニア井上が資料にまとめておりますので、こちらをご覧ください。
AWS活用の今までとこれから-東急ハンズの事例-

なお、抽選にはちゃんとドラム音が鳴り、無事おみやげたちはメンバーの手に渡っていきました!

Pocket

おみやげAPIをつくろう〜絶賛開発中!re:Invent企画〜

Pocket

エンジニアブログからこんにちは、マーケ担当の青木です。

AWS re:Invent 2015に参加したエンジニア、井上&今井のアイディアから生まれた
「おみやげAPIをつくろう」というプロジェクト。
re:Inventでゲットしたおみやげは無事メンバーの手に渡るのか!?
スーパーAWSエンジニアの加藤もJOINし、プロジェクトは進行中。
中間報告をレポートします!

omiyageicon

アイコンはデザイナー田名網作 Amazon風?

前回のブログでお伝えしたように、今回はre:Inventでゲットしてきたおみやげを
メンバーに配ることが目的。

事前準備として、以下の項目が入った「おみやげリスト」を青木が作成。

・おみやげの内容(例:DockerTシャツ)
・サイズや量(例:Lサイズ、2枚)
・商品写真 (例:DockerTシャツの写真)
dockertshirt

おみやげAPIは、ざっくり以下のようなイメージです。
・web&iPhoneアプリ対応
・Facebookでログイン
・商品一覧が出てきて、3つまで応募できる
・抽選ボタンが出てくる
・当選かどうか確認できる

10/23時点では以下AWSサービスを利用して構築しています。
1) API Gateway
2) Lambda/Pythonの利用
3) Cognito / Facebook認証
4) WAF
5) サーバーレス(NoEC2)

また、以下も考えています。

1) Firehose の利用
entry -> DynamoDB stream -> lambda -> s3 -> redshift
2) Lambda cron の利用
entry 状況をメールでお知らせする

構成図については近日公開予定!お楽しみに!

これが当たっちゃったらどうしよう…

snowball

注:SnowBallの重さは約23kgらしいです

Pocket

おみやげAPIをつくろう〜AWS re:Invent参加メンバー企画スタート!

Pocket

ラスベガスで開催された「AWS re:Invent 2015」。

参加したメンバーは、基調講演や各セッションはもちろん、
re:Inventグッズや、ブース出展している企業のノベルティ獲得に奔走…。

そして集まった大量のおみやげたちを目にし、漢(おとこ)たちは立ち上がった。

そう、「”おみやげAPI”をつくる」と—-。

omiyage

注:おみやげはこの写真の約3倍あります。

おみやげAPIとは?

ざっくり説明すると、ハンズラボメンバーがおみやげ目的で争うことがないように、
希望商品の応募→複数応募の場合は抽選→結果を返すという仕組みとなる予定です。
絶賛設計・開発中!!
re:Inventで発表された新サービスを無駄にどんどん活用しようと思っています!

使う(予定)のサービス一覧はこちら

・Amazon Kinesis Firehose (new!)
・Lambda Scheduling(new!新機能)
・Amazon API Gateway(祝東京リージョン)
・S3 website
・DynamoDB
・Redshift
・Amazon SNS
・EC2は方針として使わない

注:あくまで予定なので、使うサービスが変更になる場合があります。

エンジニア井上・今井は現地でもmeetingして、今日も始業前の朝早い時間から集まって会議するほどやる気です。

meeting

いったいどんなものができるのか?乞うご期待!
なお社内でのおみやげ抽選会は10/26(月)に開催予定。
今後もPJTの進行状況をUPしてまいりますので、お楽しみに!

おみやげAPIプロジェクト事務局 青木(エンジニア:井上、今井)

Pocket