Submit Search
クラウドネイティブが行なういまどきWebサービス開発
Download as PPTX, PDF
4 likes
3,979 views
Yuuji Arakaki
JAWS Festa Kyusyu 2015 というイベントの九州のAWS活用事例セッションで発表しました。 JobAntennaという求人サイトをAWSを使って構築した事例を紹介しています。
Technology
Read more
1 of 45
Download now
Downloaded 10 times
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
More Related Content
PPTX
AWS & Google Cloudを使ったシステム開発/技術選定のはなし
修一 高橋
PPTX
クラウドネイティブなアーキテクチャでサクサク解析
Yuta Imai
PDF
プログラマに贈るクラウドとの上手な付き合い方
Keisuke Nishitani
PDF
AWSで実現するクラウドネイティブなアプリ開発のポイント
Keisuke Nishitani
PDF
クラウドネイティブ化する未来
Keisuke Nishitani
PPTX
jawsdays 2017 新訳-とある設計士の雲設計定石目録_3
a kyane
PDF
JAWSDAYS2017 新訳 とあるアーキテクトのクラウドデザインパターン目録 AMI Maintenance Environment
Jin k
PDF
UnityとAmazon Web Servicesで生み出す新しい価値
Keisuke Nishitani
AWS & Google Cloudを使ったシステム開発/技術選定のはなし
修一 高橋
クラウドネイティブなアーキテクチャでサクサク解析
Yuta Imai
プログラマに贈るクラウドとの上手な付き合い方
Keisuke Nishitani
AWSで実現するクラウドネイティブなアプリ開発のポイント
Keisuke Nishitani
クラウドネイティブ化する未来
Keisuke Nishitani
jawsdays 2017 新訳-とある設計士の雲設計定石目録_3
a kyane
JAWSDAYS2017 新訳 とあるアーキテクトのクラウドデザインパターン目録 AMI Maintenance Environment
Jin k
UnityとAmazon Web Servicesで生み出す新しい価値
Keisuke Nishitani
What's hot
(18)
PDF
Introducing Serverless Computing (20160802)
Keisuke Nishitani
PDF
クラウド時代のソフトウェアアーキテクチャ
Keisuke Nishitani
PPTX
20170311 jawsdays 新訳 とあるアーキテクトのクラウドデザインパターン目録
Naomi Yamasaki
PDF
クラウド・アプリケーションの作り方
Tomoharu ASAMI
PDF
DevOpsとか言う前にAWSエンジニアに知ってほしいアプリケーションのこと
Terui Masashi
PDF
JAWS DAYS 2017 LT 古きを捨て新しきに近づける
Tetsuya Mase
PDF
モバイル開発者から見た サーバーレスアーキテクチャ
Takaaki Tanaka
PDF
CTO Night & Day Morning Session "スタートアップCTOならおさえておきたいAWS基本構成"
akitsukada
PDF
AWS クラウドで構築するスマホアプリ バックエンド
kaki_k
PDF
JAWS re:Mote 2015 Nagoya
陽平 山口
PDF
Serverless Architecture Overview #cdevc
Masahiro NAKAYAMA
PDF
Scale Your Business without Servers
Keisuke Nishitani
PPTX
Jaws days2017-ops jaws-2
Serverworks Co.,Ltd.
PDF
Building Scalable Application on the Cloud
Keisuke Nishitani
PDF
2014 jaws days-最強のawsに_rtc宮崎
SachieMiyazaki
PDF
Serverless Revolution
Keisuke Nishitani
PDF
AWS Introduction for Startups
akitsukada
PDF
Serverless Architecture on AWS(20151121版)
Keisuke Nishitani
Introducing Serverless Computing (20160802)
Keisuke Nishitani
クラウド時代のソフトウェアアーキテクチャ
Keisuke Nishitani
20170311 jawsdays 新訳 とあるアーキテクトのクラウドデザインパターン目録
Naomi Yamasaki
クラウド・アプリケーションの作り方
Tomoharu ASAMI
DevOpsとか言う前にAWSエンジニアに知ってほしいアプリケーションのこと
Terui Masashi
JAWS DAYS 2017 LT 古きを捨て新しきに近づける
Tetsuya Mase
モバイル開発者から見た サーバーレスアーキテクチャ
Takaaki Tanaka
CTO Night & Day Morning Session "スタートアップCTOならおさえておきたいAWS基本構成"
akitsukada
AWS クラウドで構築するスマホアプリ バックエンド
kaki_k
JAWS re:Mote 2015 Nagoya
陽平 山口
Serverless Architecture Overview #cdevc
Masahiro NAKAYAMA
Scale Your Business without Servers
Keisuke Nishitani
Jaws days2017-ops jaws-2
Serverworks Co.,Ltd.
Building Scalable Application on the Cloud
Keisuke Nishitani
2014 jaws days-最強のawsに_rtc宮崎
SachieMiyazaki
Serverless Revolution
Keisuke Nishitani
AWS Introduction for Startups
akitsukada
Serverless Architecture on AWS(20151121版)
Keisuke Nishitani
Ad
Viewers also liked
(20)
PDF
Predefを使ったsqlのトレース
悠滋 山本
PDF
表参道.rb #1 Ruby Gold 2.1 に合格した話
Yoshiaki Yoshida
PPTX
第一回チキチキUNICORNチューニング
tabun_muri
PDF
私が見てきたあるセカイの物語 Part I & II
Koichi ITO
PDF
Action pack variantsの話
sinsoku listy
KEY
Deploying JRuby Web Applications
Joe Kutner
PDF
gemの複数バージョンカジュアルテスト #shibuyarb
Go Sueyoshi (a.k.a sue445)
PDF
1 Linux入門 第6章 Webサーバーの概要
Enpel
PPTX
awsを学ぶ上で必要となる前提知識(DB)
聡 大久保
PPTX
AWSを学ぶ上で必要となる前提知識(SSL)
聡 大久保
PPTX
3ヶ月間 IoT をやって感じたこと
kakakikikeke
PDF
Serverless Architecture on AWS (20151201版)
Keisuke Nishitani
PDF
DB2をAWS上に構築する際のヒント&TIPS
Akira Shimosako
PDF
Wiki (Printed as manuscript)
Koichi ITO
PPTX
IoT におけるシングルボードコンピュータとワンボードマイコンについて考える
kakakikikeke
PDF
"fireap" - fast task runner on consul
IKEDA Kiyoshi
PDF
SKET Servise Guide
SKET
PDF
grifork - fast propagative task runner -
IKEDA Kiyoshi
PDF
Introduction to poloxy - proxy for alerting
IKEDA Kiyoshi
PPTX
API活用で更に広がるDynamicsエコシステム
CData Software Japan
Predefを使ったsqlのトレース
悠滋 山本
表参道.rb #1 Ruby Gold 2.1 に合格した話
Yoshiaki Yoshida
第一回チキチキUNICORNチューニング
tabun_muri
私が見てきたあるセカイの物語 Part I & II
Koichi ITO
Action pack variantsの話
sinsoku listy
Deploying JRuby Web Applications
Joe Kutner
gemの複数バージョンカジュアルテスト #shibuyarb
Go Sueyoshi (a.k.a sue445)
1 Linux入門 第6章 Webサーバーの概要
Enpel
awsを学ぶ上で必要となる前提知識(DB)
聡 大久保
AWSを学ぶ上で必要となる前提知識(SSL)
聡 大久保
3ヶ月間 IoT をやって感じたこと
kakakikikeke
Serverless Architecture on AWS (20151201版)
Keisuke Nishitani
DB2をAWS上に構築する際のヒント&TIPS
Akira Shimosako
Wiki (Printed as manuscript)
Koichi ITO
IoT におけるシングルボードコンピュータとワンボードマイコンについて考える
kakakikikeke
"fireap" - fast task runner on consul
IKEDA Kiyoshi
SKET Servise Guide
SKET
grifork - fast propagative task runner -
IKEDA Kiyoshi
Introduction to poloxy - proxy for alerting
IKEDA Kiyoshi
API活用で更に広がるDynamicsエコシステム
CData Software Japan
Ad
Similar to クラウドネイティブが行なういまどきWebサービス開発
(20)
PDF
駅すぱあとWebサービスにおけるAWSとその周辺
Mikawa Kouta
PPTX
twilio-ug福岡 twilio開発環境構築ハンズオン
Yutaka Fujisaki
PPTX
ぱぱっと理解するSpring Cloudの基本
kazuki kumagai
PDF
DevLove Kansai AWS
Takuro Sasaki
PPTX
Google CardbordとLeapMotion〜お手軽VR〜
Yutaka Fujisaki
PDF
Bootstrapにちょい足しアニメーション@春のJavascript祭り
Masayuki Abe
PPTX
AWSで動画共有サイトを作成して全社に公開
ToruKubota4
PPTX
スタートアップと大規模サイトの JavaScript
Nao Yanagisawa
PPTX
Cloudpackが実現するビジネス課題の解決と新しい価値の提供
Hiroyuki Hiki
PPTX
WEBサービス開発もくもく会@北千住
尚 平岡
PDF
SkyWay で ビデオチャットサービス を構築してみた!
Tomoe Sawai
PPTX
事業会社で働くエンジニアのマインドセット - DevLOVE関西
Tomoyuki Sugita
PDF
ボクたちのWWW Webクリエイターのこれからを考える
Masakazu Muraoka
PDF
【SoftLayer事例】V-CUBE ミーティングを支えるSoftLayer
softlayerjp
PDF
続Pythonによるwebスクレイピング入門
Hironori Sekine
PDF
Rubyで操るAWS 第67回Ruby関西 勉強会
Takuro Sasaki
PPTX
[okaweb × HTML5 fun] HTML5で人気のAPIを使って 未来価値を創造しよう
Masayuki Abe
PDF
Spath for enterprise
Koichiro Sumi
PDF
Ipメッセージング勉強会
Katsumi Takahashi
PPTX
CloudSQL v2は デキる子なのか?
Kumano Ryo
駅すぱあとWebサービスにおけるAWSとその周辺
Mikawa Kouta
twilio-ug福岡 twilio開発環境構築ハンズオン
Yutaka Fujisaki
ぱぱっと理解するSpring Cloudの基本
kazuki kumagai
DevLove Kansai AWS
Takuro Sasaki
Google CardbordとLeapMotion〜お手軽VR〜
Yutaka Fujisaki
Bootstrapにちょい足しアニメーション@春のJavascript祭り
Masayuki Abe
AWSで動画共有サイトを作成して全社に公開
ToruKubota4
スタートアップと大規模サイトの JavaScript
Nao Yanagisawa
Cloudpackが実現するビジネス課題の解決と新しい価値の提供
Hiroyuki Hiki
WEBサービス開発もくもく会@北千住
尚 平岡
SkyWay で ビデオチャットサービス を構築してみた!
Tomoe Sawai
事業会社で働くエンジニアのマインドセット - DevLOVE関西
Tomoyuki Sugita
ボクたちのWWW Webクリエイターのこれからを考える
Masakazu Muraoka
【SoftLayer事例】V-CUBE ミーティングを支えるSoftLayer
softlayerjp
続Pythonによるwebスクレイピング入門
Hironori Sekine
Rubyで操るAWS 第67回Ruby関西 勉強会
Takuro Sasaki
[okaweb × HTML5 fun] HTML5で人気のAPIを使って 未来価値を創造しよう
Masayuki Abe
Spath for enterprise
Koichiro Sumi
Ipメッセージング勉強会
Katsumi Takahashi
CloudSQL v2は デキる子なのか?
Kumano Ryo
クラウドネイティブが行なういまどきWebサービス開発
1.
クラウドネイティブが行う いまどきWebサービス開発 Yuji Arakaki 琉球インタラクティブ株式会社 11/3 2015 JAWS
FESTA Kyusyu 2015
2.
自己紹介 • 新垣 雄志 •
琉球インタラクティブ株式会社 • Webプログラマー(Ruby, JavaScript, PHP) • テクノロジーグループ マネージャー • Twitter: @arakaji
3.
自己紹介 • 新垣 雄志 •
琉球インタラクティブ株式会社 • Webプログラマー(Ruby, JavaScript, PHP) • テクノロジーグループ マネージャー ← 昨日(11.2)就任した • Twitter: @arakaji
4.
きょう話すこと JobAntennaという求人サイトを AWSをつかって構築したので その開発を事例にして紹介します。
5.
そのまえに・・・ タイトルにある クラウドネイティブってどういう意味 か?
6.
Google先生に聞いてみる
7.
ICT用語時点 クラウドネイティブ[Cloud Native] 提供するサービス自体が、最初からクラウドコンピューティング をベースに構築されていること。およびそのサービスの提供企 業。 参考 http://www.ntt.com/business/techsupport/dictionary/word/071 4.html
8.
自分の場合
9.
そもそもクラウド 上でしかサービ スを構築したこと が無い!
10.
オンプレを知らな い世代のWebプ ラグラマーです!
11.
これこそ クラウドネイティ ブではないか!!
12.
そういうことで 「クラウドネイティブが行う いまどきWebサービス開発」 という発表タイトルになりました^^;
13.
JobAntennaとは • 沖縄にある働きがいのある企業を紹介する求人メディア • メインコンテンツ –
企業 – 求人 – 特集記事
14.
アプリケーション構成 • JobAntenna本体(RubyonRails) • 運営用管理画面(SPA
by React)
15.
AWS構成図 Elastic Beanstalk EC2 Elastic Load Balancing RDS ElastiCache S3 画像配信 本体 管理画面 SES LambdaS3 画像加工
16.
この構成でおいしいところ 1. Elastic Beanstalkによるデプロイフロー 2.
管理画面をSPAで実装し、S3にホスティング 3. Lambdaによる画像加工処理
17.
1. Elastic Beanstalkによるデプロイフロー
18.
自前でデプロイフローの自動化を作るのはしんどい Capistranoでデプロイフローをゴリゴリ書くの大変 (rsync、bundle install, rake
db:migrate, 再起動・・・・) デプロイ実行時も、 デプロイするサーバーをロードバランサーから外し・・ デプロイ完了したらロードバランサーに戻し・・ それをすべてのサーバーに対して行なう。
19.
そこで諸先輩方のお言葉が
20.
「オンプレの時に比べたら AWSのAPI使えるからだいぶ 自動化が楽になったんだ よ?」
21.
しかし
22.
私はオンプレの苦しみなどそも そも知らないのでもっと楽がし たいのです。
23.
Elastic Beanstalkとは PHP, Python,
Ruby, Docker・・・などを使用して開発されたウェブア プリケーションやワーカーをAWSのサービスを使って簡単にデプ ロイ・スケーリングできるサービス • LoadBalancing => EC2 x N個 のような構成が簡単に作れる。 • デプロイフローを提供(ローリングデプロイ、CNAMEスワップ) • AutoScaling
24.
ローリングデプロイ Beanstalkによるデプロイの仕組みの一つ。 Beanstalkの環境にあるインスタンスをバッチという単位で分割し、そ のバッチ毎にデプロイを行なう。 デプロイ対象のバッチはロードバランサーから外されてデプロイされ る。 デプロイが完了するとロードバランサーに接続し、ヘルスチェックに合 格するとトラフィックが流される。 デプロイ中は古いバージョンのバッチにトラフィックが流されているた め、ダウンタイムなしのデプロイが可能に!!
25.
Beanstalkが提供するデプロイフ ローにのることで自動デプロイ構 築でやるべきことを減らしてくれま した!
26.
デメリットもある • デプロイフローがBeanstalkロックイン - 他のクラウドへの移行が難しい -
デプロイフローの修正に別環境が要る
27.
2.管理画面をSPAで実装し、 S3にホスティング
28.
管理画面をSPAで実装し、S3にホスティング • SPA(HTML, CSS,
JS)で実装しているのでEC2い らない • データへのアクセスは管理者のみ許可してい るWebAPIで行なう。
29.
なぜそうしたか? • 別で管理用のアプリケーションを作りたくない。 – モデルの実装が重複するので開発コストも増える •
EC2を増やしたくない – 運用、監視などしたくない – EC2、お金もかかるし・・・ – S3なら静的ファイルを上げておいたら、心配することはほぼない。 • 本体のフロントエンド開発との分離 – 昨今のフロントエンド開発の変化は激しい – 分離しとくと、捨てやすいし試しやすい • デプロイはファイルを上げるだけになる
30.
3.Lambdaによる画像加工処理
31.
Lambdaによる画像加工処理 管理画面からS3にアップロードされる求人情報、企業情報、記 事などの画像を適切なサイズにリサイズする。 1. S3に画像をダイレクトアップロードする 2. S3に画像が作られたイベントをLambdaが受け取る 3.
画像をリサイズし、その画像をS3にアップロードする
32.
最初はアプリ側で実装していた 1. 管理画面からアプリサーバーに画像をアップロード 2. 元の画像をS3にアップロード
& リサイズを行なうタスクをタ スクキューに入れる。 3. 別プロセスで動いてるワーカーがタスクを受け取り、元画像 をリサイズした画像をS3に再アップロードする
33.
問題点 • 画像アップロードのたびにサーバーに負荷がかかる – 切り取るサイズの種類が増えると心配 –
フロントにNginxを置いているので接続時間の長いアクセスを避けた い • 実装がちょっと複雑になる – ファイルよりもテキスト(json)の方がAPI作るのが楽。
34.
Lambdaで行なうメリット • 画像アップロードをアプリを介さずに行える – S3にダイレクトアップロード –
そのイベントをうけて、Lambdaが加工処理 – アプリ側に余計な負荷は一切ない • WebAPIがシンプルになる - S3にアップロードした結果のファイル名やパスを保存しておけばいい。 - テストも簡単 • 新規メンバーに任せやすい – アプリとは関係ない、単純なnodejsアプリとして書ける
35.
事例紹介 以上です。
36.
AWSとどう付き合うべきか 自分の考えを話してみます。
37.
AWSとどう付き合うべきか 今はすでに「クラウドを使う」ことが有利 になる時代ではない。
38.
AWSとどう付き合うべきか 勝負は「クラウドサービスの特性を理解して上 手く使いこなせるか」というところにある。
39.
AWSとどう付き合うべきか クラウドサービスの種類や用途を知らないと・・・
40.
AWSとどう付き合うべきか アプリケーション開発中はどうしても コードで解決しようとしてしまう。 すべてをEC2で解決しようとする。 それじゃあ旨味が少ない。
41.
AWSとどう付き合うべきか クラウドの旨味は マネージドサービスを上手く使うこ とにある。 例: Lambda、S3、RDS・・・・
42.
AWSとどう付き合うべきか マネージドサービスを上手く使うには、 自分で使ってみるのも大事だが、 詳しい人との情報交換を積極的に行なう事も大 事! 一人で網羅するのはかなり厳しい・・・
43.
つまりは・・・・
44.
地元のAWSのコミュニティに参加しよう!!! ということですね!!!
45.
ありがとうございました!
Editor's Notes
#2:
クラウドネイティブが行ういまどきWebサービス開発
#16:
AWS構成図 JobAntennaの本体はElasticBeanstalkで構成されています。 アプリケーションサーバーは2つのEC2で稼働しており、前段においているElasticLoad Balancingでアクセスを振り分けています。 データベースはRDSのMySQLをつかっています。アプリケーションサーバーで稼働する非同期タスクのタスクキューとして、ElasticCacheのRedisを使用しています。 メール配信はSESでおこなっています。 求人情報のコンテンツを管理する管理画面はEC2ではなくS3でホスティングしています。 管理画面をSPAで開発し、本体のアプリケーションサーバーとWebAPIで求人、企業、記事やマスターデータの管理を行っています。 管理画面で作成するコンテンツの画像はS3にアップロードし、そのままS3から画像配信も行っています。 画像配信しているS3に裏にLambdaが稼働しているのですが、ここではS3に画像がアップロードしたイベントを受け取ってその画像を適切なサイズにリサイズしてまたS3にアップロードしなおしています。 DatabaseにはRDSを使っています。 ElasticCacheにはRedisを使っていて、アプリケーションサーバーで行う非同期タスクのキューと使用しています。 メール配信はSESを使っています。 管理画面のホスティングはS3で行っていて、本体のアプリケーション用意したAPIを通してコンテンツ管理やマスターデータの更新などを行っています。 管理画面からアップロードするような画像は画像配信用のS3バケットにアップロードされます。 S3に画像がアップロードされたイベントを受け取って、Lambdaが画像のリサイズなどの加工処理を行い、加工済みの画像をまたS3にアップします。 ユーザーがサイト上で見ている画像はこのS3から直接配信しています。
Download