Serverless Meetup Ryukyu #1 https://serverless.connpass.com/event/126902/ でお話した資料です。
SIerで使われるサーバレスの実際2019年4⽉26⽇ Serverless Meetup Ryukyu #1@k_nishijima
View Slide
参加者属性調査サーバレスなひと?サーバありなひと?@k_nishijima #serverlessryukyu #1 2
ならば戦争だ
ウソです仲良く情報共有しましょう
参加者属性調査B2Cなひと? Web?アプリ?B2B/B2B2Cなひと? SaaS? SIer?@k_nishijima #serverlessryukyu #1 5
今⽇はSIer/SaaS/B2B⽅⾯から現場で使われるサーバレスのおはなし@k_nishijima #serverlessryukyu #1 6
⾃⼰紹介@k_nishijima /⻄島 幸⼀郎⼤阪の会社であるアールスリーインスティテュートに、沖縄のワンコx2がいる⾃宅からリモートワークで参加。根っからのクラウド・コミュニティ⼤好き⼈間。オープンソースとクラフトビールをこよなく愛する。@k_nishijima #serverlessryukyu #1 7
コミュニティ活動⾊々やってますJAWS-UG沖縄 コアメンバーハッカーズチャンプルー 実⾏委員⻑JP_Stripes OKA@k_nishijima #serverlessryukyu #1 8
ということでサーバレスのおはなしどんな領域に適応しているのかの実異例何故サーバレスなのか何がおすすめで何がおすすめでないのかと⾔った辺りを共有したいと思います@k_nishijima #serverlessryukyu #1 9
サーバレスをどのような領域に適応しているのか?@k_nishijima #serverlessryukyu #1 10
SaaSの例 : gusuku CustominekintoneのJavaScriptによるプログラミングの柔軟性を、⾮エンジニアでもフル活⽤できる No-Codeプラットフォームgusuku Customine https://customine.gusuku.io/gusuku Deploit https://deploit.gusuku.io/@k_nishijima #serverlessryukyu #1 11
フロントはSPAAPIサーバにDropwizardバックエンドに普通のデータベース独⽴した機能群を多数サーバレスで提供@k_nishijima #serverlessryukyu #1 12
独⽴した機能群?サムネイル画像作成帳票出⼒kintoneアプリのバックアップジョブ固有の条件を指定してのファイル単位の暗号化cron的なバッチジョブなどなど@k_nishijima #serverlessryukyu #1 13
何故サーバ +サーバレス?機能ごとのデプロイが容易⾮常に負荷の⾼い処理やスケールさせたい機能はサーバレスなコードに分離⇛相対的なパフォーマンス増そもそも業務システム的なかっちりとしたRDBが後ろにある場合、スパイクしやすいサーバレスなコード群を直接つなぐのは望ましくない(コネクション溢れてDB側が死ぬ、など)@k_nishijima #serverlessryukyu #1 14
何故サーバ +サーバレス?それぞれの機能群からはデータベースを直接参照しません(させません)全てAPI経由で安⼼・安全♪マイクロサービスっぽいアーキテクチャですが、もう少し粒度が⼤きいイメージどうしても通信の分だけはオーバーヘッドが発⽣するので、レイテンシーがあまり気にならない部分には、積極的に採⽤していくのをおすすめします@k_nishijima #serverlessryukyu #1 15
もう⼀つ別の例@k_nishijima #serverlessryukyu #1 16
業務システム開発の例どこでサーバレスなコードを使っているか?@k_nishijima #serverlessryukyu #1 17
Everywhere!アールスリーインスティテュートが⾏っているシステム開発においては、どこもかしこもサーバレスです
例えば?フロントは kintoneや SPA、モバイルアプリビジネスロジックは API Gateway + Lambdaデータストレージは DynamoDB / S3バッチは Lambda + CloudWatch Events※伝統的なRDBが出てきていないところに注意(何年も続いている保守案件では、オンプレだったりのお守りをしているチームも勿論あります )@k_nishijima #serverlessryukyu #1 19
何故伝統的な3層構造ではないのか?何故フルスクラッチでサーバを⽴ててチューニングしてDBをセットアップしてひとまとめにしてシステムをデリバリしていないのか?@k_nishijima #serverlessryukyu #1 20
「価値」を出す部分以外の要素が多すぎるシステムの価値は、それを使って諸問題を解決してはじめて価値があるそれを動かすためのものは、すべておまけむしろ楽しくて仕⽅ないだけに、スピードの⾯においては害悪ですらある@k_nishijima #serverlessryukyu #1 21
天の声「DockerでKubernetesにデプロイすればいいじゃん?」単純にそれすらも運⽤保守⾯倒⾃分のコード以外はメンテしたくないんですっ|⼺サッ@k_nishijima #serverlessryukyu #1 22
もっとも速く価値を出すにはマネージドなサーバレスを活⽤するのが最短なのでリソース(時間やコスト)の無いかた速く結果だけが⾒たいかたにはサーバレスアーキテクチャをオススメします@k_nishijima #serverlessryukyu #1 23
SI案件でサーバレス環境を使うノウハウピタゴラスイッチ問題(⇛ある程度まではパターンで解決)Observability問題(⇛もともとバッチなんかはtraceability命なんで…)↑もっと⼩さい粒度が欲しければOpenCensusとか⾏く必要ありメッセージング基盤どうするの問題この辺話しだすには時間が⾜りないので次回(あればw@k_nishijima #serverlessryukyu #1 24
Thank you!@k_nishijima #serverlessryukyu #1 25