Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
クラウドネイティブ アプリケーション概論
Search
Sponsored
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
Nao_Saino
April 08, 2022
Technology
0
160
クラウドネイティブ アプリケーション概論
Nao_Saino
April 08, 2022
Tweet
Share
More Decks by Nao_Saino
See All by Nao_Saino
結局requestsとlimitsはどう設定すればいいのか
nao_saino
1
730
Other Decks in Technology
See All in Technology
22nd ACRi Webinar - NTT Kawahara-san's slide
nao_sumikawa
0
100
Cloud Runでコロプラが挑む 生成AI×ゲーム『神魔狩りのツクヨミ』の裏側
colopl
0
140
制約が導く迷わない設計 〜 信頼性と運用性を両立するマイナンバー管理システムの実践 〜
bwkw
3
1k
日本の85%が使う公共SaaSは、どう育ったのか
taketakekaho
1
240
今こそ学びたいKubernetesネットワーク ~CNIが繋ぐNWとプラットフォームの「フラッと」な対話
logica0419
5
450
AIエージェントに必要なのはデータではなく文脈だった/ai-agent-context-graph-mybest
jonnojun
1
250
AzureでのIaC - Bicep? Terraform? それ早く言ってよ会議
torumakabe
1
610
茨城の思い出を振り返る ~CDKのセキュリティを添えて~ / 20260201 Mitsutoshi Matsuo
shift_evolve
PRO
1
400
Cosmos World Foundation Model Platform for Physical AI
takmin
0
970
Red Hat OpenStack Services on OpenShift
tamemiya
0
130
外部キー制約の知っておいて欲しいこと - RDBMSを正しく使うために必要なこと / FOREIGN KEY Night
soudai
PRO
12
5.6k
Greatest Disaster Hits in Web Performance
guaca
0
290
Featured
See All Featured
Color Theory Basics | Prateek | Gurzu
gurzu
0
200
Test your architecture with Archunit
thirion
1
2.2k
How People are Using Generative and Agentic AI to Supercharge Their Products, Projects, Services and Value Streams Today
helenjbeal
1
130
Noah Learner - AI + Me: how we built a GSC Bulk Export data pipeline
techseoconnect
PRO
0
110
世界の人気アプリ100個を分析して見えたペイウォール設計の心得
akihiro_kokubo
PRO
66
37k
"I'm Feeling Lucky" - Building Great Search Experiences for Today's Users (#IAC19)
danielanewman
231
22k
How to Talk to Developers About Accessibility
jct
2
140
Lightning talk: Run Django tests with GitHub Actions
sabderemane
0
120
The Invisible Side of Design
smashingmag
302
51k
Code Reviewing Like a Champion
maltzj
527
40k
Cheating the UX When There Is Nothing More to Optimize - PixelPioneers
stephaniewalter
287
14k
Reflections from 52 weeks, 52 projects
jeffersonlam
356
21k
Transcript
クラウドネイティブ アプリケーション概論 仮想マシン コンテナ サーバレス
- 「クラウドネイティブ」という言葉は、徹底的なクラウドの利活用によるビジネス価値の 提供を意図する。弊社もこれを志向している。 - そもそも、なんでクラウドを使うとビジネス価値に繋がるのかというと、開発者が物理 サーバの開発保守運用コストから開放されることで、プロダクトの差別化に繋がるビ ジネスロジックの開発に注力できるようになるからである。 - 一方でパブリッククラウドを使う者にとってそれは、クラウド事業者への依存度を高め ることとのトレードオフでもあり適切な責任分界の設定が望ましい。
- 一言にクラウドといえどIaaS, CaaS, PaaS, FaaS, SaaSなどクラウド事業者の管理範 囲に応じて、様々な種類のサービスが存在する。 - クラウド利用を前提としたアプリ開発にはどのような選択肢があり、開発者がどんな 恩恵を受けることができるかについて、今回はその一般論をまとめた。 今日のお話(最初から文字が多い)
要するにこの図の話 https://www.devopsplatform.co.uk/blogs/cloud-services
キーワード - クラウドネイティブ - オンプレミスとクラウド - 物理マシンと仮想マシン - ハイパバイザ型仮想化とコンテナ型仮想化 -
マイクロサービスとコンテナオーケストレーション - サーバレス - IaaS, CaaS, PaaS, FaaS, SaaS
1. 「クラウドネイティブ」とは? 2. 仮想マシンからコンテナへ 3. サーバレスとは 目次
「クラウドネイティブ」 とは?
クラウドネイティブとは、 回復性、管理力、および可観測性のある疎結合システムを 堅牢な自動化と組み合わせることで、 インパクトのある変更を最小限の労力で頻繁かつ予測どおりに行う設計思想 「クラウドネイティブ」とは? https://github.com/cncf/toc/blob/main/DEFINITION.md#%E6%97%A5%E6%9C%AC%E8%AA%9E%E7%89%88 CNCFの定義によれば、、、 「ネイティブ」という言葉通り、 クラウドの利用は当たり前の前提として、「どう活用するのが最適か」に重点を置いた言葉。
パブリッククラウドのメリット - パブリッククラウド = GCPやAWSなどクラウド事業者が提供するクラウド https://aws.amazon.com/jp/cloud/
https://www.devopsplatform.co.uk/blogs/cloud-services IaaS CaaS PaaS FaaS SaaS EC2 EKS Beanstalk Lambda
Athena など GCE GKE GAE Cloud Functions BigQuery など 仮想マシン コンテナオーケスト レーション アプリケーション開 発のプラットフォー ム サーバレス開発環境 を提供するサービス 独立した機能を持 つサービス
バックエンドの構造
IaaS - ハードウェアを抽象化。 - いわゆるクラウド仮想マシン(VM) - クラウド上にすぐ立てられるサーバ。 - 数分で起動できる。 -
オートスケールもできるが、リソース的にはやや大きい 単位での抽象化。 - GCE, EC2が代表例。
弊社にもかつてVM時代があった。
仮想マシンから コンテナへ
- コンテナはOSの仮想化をしない点で従来 の仮想化と異なり,「迅速な起動」と「高い 可搬性」を可能に。 - 数分(VM)→数秒でのデプロイ。 - Linuxがあればどこでも動く(Docker)。 - 環境依存度の低さと、高速起動を両立。
- リソース的にもVMより小さな単位での仮 想化を可能に。 「仮想マシン(VM)」と「コンテナ」 https://psc-smartwork.com/topics/2021/08/162.html
クラウドネイティブの鍵を握る「コンテナ」 - 迅速な起動→k8sのオートスケール、セルフヒーリングへの応用。 - 高可搬性→コンテナを軸とした高速で再現性のあるCI/CDパイプラインの構築。 - VMに比べリソース効率が向上。 - 機能ごとにアプリケーションを分割するマイクロサービス構成との相性も良い。
- コンテナアプリのプラットフォーム - コンテナオーケストレーションのデファクトであるk8sを、 クラウド事業者の用意する環境で実行できるマネージド k8sが主な例。 - GKE, EKSが代表例。 CaaS
サーバの抽象化が進むと - 物理マシン→VM→コンテナ - 「サーバの抽象化が進む」 = 「クラウド事業者に委託する部分が増える」ほど開発者 の管理する範囲は減りビジネスロジックに注力できるとされる。 - 一方で「クラウド事業者への依存が高まる」「低いレイヤ部分の拡張性が失われる」
こととのトレードオフ。 - コンテナよりもさらに一段抽象化を進めたのが「サーバレス」
サーバレスとは
サーバレスとは https://www.slideshare.net/AmazonWebServicesJapan/202107-aws-black-belt-online-seminar-con350/11
サーバレスとは - サーバの存在を意識することなくシステムを構築できるサービスの総称。 - サーバ構築保守運用はクラウド事業者が行い、開発者はプログラムの部分にだ け注力することができるのがメリット。 - ◦aaSとはまた別の区分の言葉。 - AWS
Fargate(サーバレスコンテナ)、AWS Lambda(FaaS)などが代表例。 https://blog.qbist.co.jp/?p=2654
FaaS(Function as a Service) - 開発者はアプリケーションのコードだけ書く。 - インフラのことはほぼ考えなくていい。 - 関数単位でアプリを分割し、その組み合わせでサービス
を構成する。 - 関数の実行時間中のみ課金が生じる。 - AWS Lamda, GCP CloudFunctionsが代表例。
https://www.devopsplatform.co.uk/blogs/cloud-services IaaS CaaS PaaS FaaS SaaS EC2 EKS Beanstalk Lambda
Athena など GCE GKE GAE Cloud Functions BigQuery など 仮想マシン コンテナオーケスト レーション アプリケーション開 発のプラットフォー ム サーバレス開発環境 を提供するサービス 独立した機能を持 つサービス
まとめ - パブリッククラウドの提供するサービスには、その責任範囲に応じて様々な種類 がある。 - 弊社はIaaS (GCE) → CaaS (GKE)を辿ってきた。
- パブリッククラウドの利用により開発者は様々な恩恵を受けられるが、一方で拡 張性やクラウド事業者への依存とのトレードオフでもある。
みなさんに質問 - オンプレや仮想マシンでの開発のことを知らないので、クラウドのメリットを感じた 実体験などあればお願いします。
有益なリンク - コンテナ技術概要 https://www.scsk.jp/sp/openshift/about_container.html - 20190402 AWS Black Belt Online
Seminar Let's Dive Deep into AWS Lambda https://www.slideshare.net/AmazonWebServicesJapan/20190402-aws-blac k-belt-online-seminar-lets-dive-deep-into-aws-lambda-part1-part2 -