Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
クラウド入門/Introduction Cloud
Search
y-ohgi
September 26, 2019
150
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
クラウド入門/Introduction Cloud
社内で行ったクラウドインフラLT会の公開資料です
y-ohgi
September 26, 2019
More Decks by y-ohgi
See All by y-ohgi
実践!Cloud Run ハンズオン!! / Cloud Run handson
y0hgi
2
280
JAWS-UG 東京支部が始める、JAWS-UG支部コラボ / JAWS-UG lunchtime LT Collaboration
y0hgi
0
280
SREの越境 / SRE Collaboration
y0hgi
2
310
ランチタイムLT会3周年!ランチタイムLT会を3年間続けられたお話
y0hgi
1
180
EKS Auto-Mode with Kro
y0hgi
0
270
AWS Cloud Control API & AWSCC Provider
y0hgi
1
100
AWSとSRE 〜サービスの信頼性〜
y0hgi
2
410
re:Invent 2024 re:Cap コンピューティング&コンテナ
y0hgi
3
510
クラウドを今から学ぶには
y0hgi
0
800
Featured
See All Featured
個人開発の失敗を避けるイケてる考え方 / tips for indie hackers
panda_program
123
22k
Designing for Timeless Needs
cassininazir
1
530
Visual Storytelling: How to be a Superhuman Communicator
reverentgeek
2
710
Navigating the Design Leadership Dip - Product Design Week Design Leaders+ Conference 2024
apolaine
2
480
Balancing Empowerment & Direction
lara
6
1.3k
How to Align SEO within the Product Triangle To Get Buy-In & Support - #RIMC
aleyda
2
1.8k
Chrome DevTools: State of the Union 2024 - Debugging React & Beyond
addyosmani
10
1.4k
Let's Do A Bunch of Simple Stuff to Make Websites Faster
chriscoyier
508
140k
Agile Leadership in an Agile Organization
kimpetersen
PRO
0
280
Getting science done with accelerated Python computing platforms
jacobtomlinson
2
540
We Analyzed 250 Million AI Search Results: Here's What I Found
joshbly
2
2k
Skip the Path - Find Your Career Trail
mkilby
1
260
Transcript
クラウド入門 ゆるめのクラウドインフラ LT会 #8
• 大木 裕介 (24) • Twitter ◦ @_y_ohgi • すき
◦ アニメ/Docker/Kubernetes だれ
• クラウドとは • クラウドネイティブ • 個人的に意識するポイント • まとめ はなすこと
• 必要なときに必要なだけのリソースを所有する事が可能 ◦ 不要なリソースはすぐに返却できる • 使った分だけ課金 ◦ 時間単位やリクエスト単位で課金 • 代表的なベンダーとしてAWS、GCP、Azure
◦ OpenStackのようなプライベートクラウドも クラウドとは
• オンプレと比較したときクラウドは... ◦ 自由度が低い ◦ セキュリティをハンドリングできない • クラウドからオンプレに移行する事例も ◦ 規模が大きくなるとオンプレに軍配が上がるイメージ
◦ DropboxのAWSからオンプレ移行の事例 ◦ https://tech.nikkeibp.co.jp/atcl/nxt/column/18/00141/030900007/ オンプレとクラウド
• クラウドとは • クラウドネイティブ • 個人的に意識するポイント • まとめ はなすこと
• クラウドを前提に構築するアプリケーション クラウドネイティブ
• 色んな所で使われてるワード ◦ CNCFやGCPやAzureや、それぞれが掲げている ◦ 参考: CNCFの定義 https://github.com/cncf/toc/blob/master/DEFINITION.md • ざっくりいうと...
◦ コンテナ化 ◦ 自動化 ◦ 可観測性 クラウドネイティブ
• クラウドとは • クラウドネイティブ • 個人的に意識するポイント • まとめ はなすこと
• どのクラウドでも意識するポイントは近い気がする 個人的に意識するポイント
• (個人的な見解で)整理してみる ◦ 想定するのは一般的なWebサービスのバックエンド 個人的に意識するポイント
• コンテナ化 • 可観測性 • 自動化 個人的に意識するポイント
• コンテナ化 • 可観測性 • 自動化 個人的に意識するポイント • Design for
Failure • ステートレス • マネージドサービス
• コンテナ化 • 可観測性 • 自動化 個人的に意識するポイント • Design for
Failure • ステートレス • マネージドサービス この6つは、何が嬉しいのか? なぜ採用するのかについて個人的な見解を話します
• ポータビリティの獲得 ◦ 開発者間・環境間の差異を吸収してくれ、開発の効率化が期待できます。 • ベストプラクティスへの追従 ◦ コンテナはVMより制約が多いです。 ◦ この制約(レール)があることでより良い環境を実現しやすくなります。
コンテナ化
• 可観測性とは ◦ 「可観測」という用語はよく見るけど定義は曖昧なイメージ ◦ 個人的に、監視するためのデータが取得可能 な状態を指す認識 • そもそも監視とは ◦
ユーザーにサービスが提供できているか観測する行為 ◦ 最近はSLO/SLIが意識されがち • まずは 可観測性の3つの柱 を意識する ◦ メトリクス・ログ・トレース 可観測性
• Infrastructure as Code ◦ インフラをコードで定義し、構築の自動化をする ◦ Ansible・Terraform・Chef・etc… • CI/CD
◦ テストやデプロイの自動化 • セルフヒーリング ◦ 障害を自動的に検知し自己復旧するアプローチ • 自動化はしすぎない ◦ 過度な自動化は開発速度や運用をする 際の足かせとなる。 自動化
• 障害は起きる(前提) ◦ デプロイしたらアラートが鳴った経験はありませんか? ◦ アラートを鳴らした経験がなくても、サーバーは経年劣化しますしネットワークは確実じゃないです しクラウドは落ちますし、 どっかで障害は起きます 。 •
Design for failure ◦ 障害が起きることを前提に設計する考えのもと開発する ◦ HA構成・リトライ処理・エラー時の挙動を定義・アラートの設定・ etc... • カオスエンジニアリング ◦ プロダクション環境で障害を発生させ、常日頃からセルフヒーリングを行う Design for failure
• ステートレスにする ◦ ファイルの作成やログの書き込みなど、 コンテナ内の更新を行わない ◦ ステートを持つと、その管理やドレイニングのコストが高くなり 開発/運用難易度が上がる ◦ ステートレスであればデプロイが容易かつスケーラビリティや耐障害性が高くなる
• ステートフルなものは ◦ マネージドサービスを使う ◦ マネージドサービスのないソフトウェアはコンテナ化と IaaS、同時に選定する ◦ 可能であれば設計段階でステートフルな箇所はマネージドサービスを前提に設計する ステートレス
• 一般的なものは最初から提供されている ◦ ベンダーが常に運用してアップデートしてサポートしてくれる • ロックインを許容する ◦ 本当に「 ロックインされて移行できない」ことが負債になるのか •
ロックインをどのレベルで許容/依存するか ◦ コードレベル ▪ 特定のサービスを利用するためのライブラリやコードを組み込むようなケース ◦ アーキテクチャレベル ▪ 特定のサービス(Lambda/DynamoDB/Datastore)があることを前提とした設計を行う マネージドサービス
• クラウドとは • クラウドネイティブ • 個人的に意識するポイント • まとめ はなすこと
• 設計のフェーズで気をつけることはいっぱいある ◦ どの領域にも言える気はしますが、インフラは取り返しが付きづらい領域だと思うので、学んでか ら実践したほうがよいとおもいます • 先人の知恵から学ぶ ◦ CNCFや12 factor
appなど、デザインパターンを学習する • レールにのる ◦ コンテナやマネージドサービスやサーバーレスなど、より制約(レール)が定義された方向に進む と設計・開発・運用・チームのコミュニケーションが楽になるでしょう まとめ