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
jhashimoto
February 07, 2017
Programming
0
360
クラウド最初の一歩
クラウド初心者をターゲットにした社内勉強会のスライドです。
jhashimoto
February 07, 2017
Tweet
Share
More Decks by jhashimoto
See All by jhashimoto
初めてのAWS / The first AWS
jhashimoto
0
200
AWS Data Pipelineを本番投入してみた話
jhashimoto
1
1.1k
AWS Lambdaで始めるサーバーレスアーキテクチャ
jhashimoto
0
200
Amazon S3の紹介
jhashimoto
0
240
Other Decks in Programming
See All in Programming
Djangoの開発環境で工夫したこと - pre-commit / DevContainer
hiroki_yod
1
290
Remix on Hono on Cloudflare Workers
yusukebe
1
320
Contemporary Test Cases
maaretp
0
140
受け取る人から提供する人になるということ
little_rubyist
0
260
A Journey of Contribution and Collaboration in Open Source
ivargrimstad
0
1.2k
距離関数を極める! / SESSIONS 2024
gam0022
0
310
CSC509 Lecture 11
javiergs
PRO
0
180
TypeScriptでライブラリとの依存を限定的にする方法
tutinoko
3
740
型付き API リクエストを実現するいくつかの手法とその選択 / Typed API Request
euxn23
8
2.4k
Enabling DevOps and Team Topologies Through Architecture: Architecting for Fast Flow
cer
PRO
0
370
エンジニアとして関わる要件と仕様(公開用)
murabayashi
0
310
React CompilerとFine Grained Reactivityと宣言的UIのこれから / The next chapter of declarative UI
ssssota
5
830
Featured
See All Featured
Intergalactic Javascript Robots from Outer Space
tanoku
269
27k
How To Stay Up To Date on Web Technology
chriscoyier
788
250k
Build your cross-platform service in a week with App Engine
jlugia
229
18k
Easily Structure & Communicate Ideas using Wireframe
afnizarnur
191
16k
Large-scale JavaScript Application Architecture
addyosmani
510
110k
Typedesign – Prime Four
hannesfritz
40
2.4k
個人開発の失敗を避けるイケてる考え方 / tips for indie hackers
panda_program
93
17k
Six Lessons from altMBA
skipperchong
27
3.5k
Raft: Consensus for Rubyists
vanstee
136
6.6k
CoffeeScript is Beautiful & I Never Want to Write Plain JavaScript Again
sstephenson
159
15k
The Pragmatic Product Professional
lauravandoore
31
6.3k
Building Flexible Design Systems
yeseniaperezcruz
327
38k
Transcript
クラウド 最初の一歩 橋本 淳一 2017/02/03 1
はじめに 2
このセッションのターゲット まだクラウドを使ったことがない 人 クラウドをよく知らない人 3
このセッションのゴール 皆さんにクラウドを使ってみたいと思ってもらえるこ と 4
今日話すこと AWSだけでも情報は膨大です。 目的を持たずにやみくもに情報収集しても、つらいだけで効果が上 がりません。 そうならないように、クラウドを導入するメリットを中心にお話し します。 5
今日話さないこと AWSの個々のサービスの説 明 6
アジェンダ クラウド基礎知識 クラウドを使うメリッ ト まとめ 7
クラウド基礎知識 クラウドを使うメリッ ト まとめ 8
用語 インフラ “ITインフラとは、パソコンやサーバー、プリンタなどの各種ハー ドウェア、インターネットやLANなどのネットワーク、さらには データベースやOSのことを指します。” ITインフラの基礎知識 | 株 式会社プレオン(http://www.pleon.co.jp/fan_contents_02/) 9
オンプレミス “オンプレミス ( 英語: on-premises(オン・プレミシズ))[注 1] と は、 情報システムを使用者(通常は企業)自身が管理する設備内 に導入、設置して運用することをいう。”
https://ja.wikipedia.org/wiki/オンプレミス 10
クラウド “実際に処理が実行されるコンピュータおよびコンピュータ間のネ ットワークは、サービスを提供する事業者側に設置されており、 それらのコンピュータ本体およびネットワークの購入・管理運営 費用や蓄積されるデータの管理の手間は軽減される。このような 出来合いのサーバ群をクラウドと呼ぶ” https://ja.wikipedia.org/wiki/クラウドコンピューティング 11
利用形態 クラウドの利用形態は、3種類あります。 IaaS Infrastructure as a Service PaaS Platform as
a Service SaaS Software as a Service 12
サービス例 IaaS AWS EC2(仮想サーバ ー) PaaS AWS RDS(リレーショ ナルデータベース) SaaS
Salesforce 柔軟性と管理コストのトレ ードオフ オンプレミス > IaaS > PaaS > SaaS https://www.cloud-ace.jp/report/detail01/ 13
はじめに クラウド基礎知識 クラウドを使うメリッ ト まとめ 14
用語 アーキテクチャ “コンピュータ・アーキテクチャ(英: computer architecture) は、コンピュータ(特にハードウェア)における基本設計や設計 思想などを意味する。” https://ja.wikipedia.org/wiki/コンピュー タ・アーキテクチャ 15
機能要件 “機能要件とは、情報システムやソフトウェアの開発に際して定義 される要件のうち、機能に関するもの。” 非機能要件 “機能面以外の要件を「非機能要件」(non-functional requirement)と呼び、性能や信頼性、拡張性、運用性、セキュリ ティなどに関する要件が含まれる。” http://e-words.jp/w/機能 要件.html http://e-words.jp/w/機能要
件.html 16
オンプレミスとクラウドの比較 17
インフラ構築のスピード オンプレミス < クラウド 18
EC2インスタンスを作成する 19
EC2インスタンスを作成する 20
EC2インスタンスを作成する 21
開発者が書くコードの量 クラウド < オンプレミス オンプレミス フレームワークやライブラリなどの部品を組み合わせて、使用す る。 それ以外の部分はすべて開発者が書く。 クラウド クラウドのサービスを組み合わせて、システムを構築する。
開発者が書くのは、ビジネスロジックだけでよい。 開発者が書かなくてはいけないプログラムの量は、かなり減り ます。 22
自由度・柔軟性 クラウド < オンプレミス オンプレミス システム構成要素(OS、ミドルウェア、フレームワーク、ライブ ラリ、開発言語、etc.)は、好きなものを選べる。 自由度が高くて、柔軟性がある。 クラウド クラウドサービスを組み合わせて、システムを構築する。
クラウドサービスは便利な反面、オンプレミスの自由な開発と比 べると制約があります。 つまり、クラウドでは制約を前提にシステムを構築しなければな りません。 23
制約が生まれることのメリット オンプレミス 「自由度が高い」とは、見方を変えれば、選択肢が無数にあるこ とです。 すべての選択肢の中から最適なものを選び、機能要件、非機能要 件を満たせるアーキテクチャを自分で設計しなくてはならない。 つまり、自由度が高い反面、設計のコストが高く難しい。 24
制約が生まれることのメリット クラウド 制約があるので、自由度の高さと引き換えに選択肢を減らせま す。 制約がある中で、ベストなアーキテクチャを構築する方法は、 パターン化されています。 Amazonで”クラウド・デザインパターン”で検索 制約を前提とし、パターンを採用することで、開発者が悩まな ければいけないことがかなり減ります。 クラウドサービスの制約を積極的に受け入れれば、開発者が楽をし
て、システムの完成度を高めることができます。 AWS-CloudDesignPattern (http://aws.clouddesignpattern.org/index.php) 25
アーキテクチャ変更の容易性 オンプレミス < クラウド オンプレミス 一度決定したアーキテクチャを変更するのは、困難です。 書いてしまったコードを捨てることは、コスト面でも心理面で も痛みを伴います。 要件は変化します。アーキテクチャが要件の変化に追随できない と、プログラムで無理をして解決することになります。
26
アーキテクチャ変更の容易性 オンプレミス < クラウド クラウド 一度決定したアーキテクチャをためらわずに変更することができ ます。 なぜなら、クラウドサービスを使ったアーキテクチャは開発者が プログラムを書かずに実現されているからです。 つまり、クラウドならアーキテクチャを継続的に改善していくこ
とができます。 27
非機能要件実現の容易性 オンプレミス < クラウド オンプレミス アーキテクチャを決定するときには、機能要件・非機能要件とも に技術検証が終わっていなければいけません。 クラウド 非機能要件を後から作り込むことができます。 28
EC2インスタンスのスペックを上げる 29
EC2インスタンスのスペックを上げる 30
EC2インスタンスのスペックを上げる 31
はじめに クラウド基礎知識 クラウドを使うメリッ ト まとめ 32
まとめ オンプレミスとクラウドはトレードオフの関係にあります。特徴を 理解して要件に応じて使い分けましょう。 クラウドのサービスを使うと、 素早くインフラを構築できます。 クラウド・デザインパターンを採用することで、開発者が悩まな くてはいけないことが、かなり減ります。 開発者が書かなくてはいけないプログラムの量がかなり減りま す。 アーキテクチャを継続的に改善していくことができます。
つまり、開発者が楽になります。 クラウドとても楽しいです! 33
ご清聴ありがとうございました 34