AWS
が世に出てもう 10年以上です。Azure
も10年超えました。
いまだに幾つものプロジェクトでの製品・サービス選定が、ソフトウェア製品時代と同じようです。その考え方に加えて、クラウドの選定で考えたい点をまとめてみました。ソフトウェアも商用ソフトウェアと、オープンソース ソフトウェア とで分けてみました。
あくまで個人の見解ですー
項目 | 商用ソフトウェア | オープンソース ソフトウェア | クラウド サービス |
---|---|---|---|
開発主体 | 企業 | コミュニティ -自分も参加できる | 企業 |
ハードウェアの選択 | 可能 | 可能 | 限界がある |
データの置き場所 | 選択可能 (オンプレミスもクラウドも) | 選択可能 (オンプレミスもクラウドも) | クラウドのみ |
変更の速さ | 年単位 | 月-週 | 月-週 |
ソフトウェア費用 | ライセンス | 無料 | 使用料 |
サポート費用 | 開発元あるいはサポート企業 | 自己責任 | 開発元あるいはサポート企業 |
運用主体 | 自社 (不足していたら外部へ協力) | 自社 (不足していたら外部へ協力) | 自社 と クラウド企業 |
注: クラウドサービスは、いわゆる パブリック クラウド
を指します。
見えてくるもの
特にオンプレミスとクラウドの違いという観点で列挙してみます。
- クラウドサービス と オープンソース の変化は速い
- もはや、機能比較 は、殆ど意味がない!
- どうせ半年もすれば、AWS, Azure, GCP は、ほぼ同じサービスを出す
- 強いて言うなら、現時点で、GCPに PaaSの
動画配信
と(YouTubeがある?)、全文検索
(Google Searchがある?) が無いくらい
- 強いて言うなら、現時点で、GCPに PaaSの
- 値段もほぼ一緒
- どうせ半年もすれば、AWS, Azure, GCP は、ほぼ同じサービスを出す
- 機能追加の要望は出しやすい
- 例えば、議事録作成のために、Speech to Text にて文字起こし機能を実装するのは構いませんが。いずれ、Office 365 に実装されるのでしょう。実際に議事録ソフトウェアとして OneNoteがあり、Web会議機能をもった Teams がありますからね
- サービス利用期間は、クラウドサービス企業が決定する
- 本当の社会インフラの様な20-30年同じものを使うことは大変難しい
- 直球で。「いつまでも同じものが動くわけではない」
- 必然的に変化に対応できる体制が必要
- 必然的に DevOps を考える
- バージョン管理は超大事
- Unit Test は必然
- 結果、自動化は進む
-
疎結合 は常に意識したい
- 自分のコードと、DBなどのミドルウェア
- コードの呼び出しとしての REST と HTTP
- もはや、機能比較 は、殆ど意味がない!
- ソフトウェア + クラウド サービス という構造
- 商用もしくはオープンソース ソフトウェア を相手に動くものは、オンプレミスとクラウドの両方で動く
- 特に
PaaS
には クラウド サービス のみで存在しているサービスがある。ベンダーロックインの始まりでもある- Azure: Azure Data Factory, IoT Hub, Azure Machine Learning, Azure Monitor, Azure Media Services など
- AWS: RedShift, IoT Core, SageMaker, Elemental など
- GCP: Big Query, IoT, AI Platform など
- 費用の違い
- 直接費だけでの比較が目に付く
- 人、電気料金 は無料ではない。GPU使うとなれば、猶更
- クラウドは初期費用が0円
- 直接費だけでの比較が目に付く
- クラウドでのデータの扱いのメリットを、オンプレミスで実現が難しい
- クラウドでは、データは3重持ちの原則
- 1TBのストレージを買ってきても、300GBしか使えない
- バックアップ込み
- 事実上容量無制限、バックアップ付き、監視は最低限のみというメリットを金額換算できるのか?
- 単独で、1KBのファイルと、動画のように1TBのファイルを同じように管理できるのか?
- クラウドでは、データは3重持ちの原則
クラウドで採用しやすいもの
以下原則は使用量課金に由来するものが多い
- ビジネス・技術検証
- 一定の時期に多くの コンピューターリソース が必要なもの
- テレビの番組連動。季節もの、など
- micro services
- Polyglot Persistence
- 用途に合わせたデータサービスの選択
- クラウドでは容量に応じた課金だから
- 100 GB の DB 1個と、1 GB のDB 100個は 同じ料金
- 小さなDBの方が検索が速いわけで
- RDB Only での限界を突破する
- クラウドでは容量に応じた課金だから
- 用途に合わせたデータサービスの選択
備えたい事
- 常に学ぶ姿勢
- 変化への対応
- 公式ドキュメントを読めるように
- クラウドはメーカーが作って運用しており、ドキュメントは必ずある
- オープンソースのソフトウェアも、ドキュメントは必ずある
- 英語は必然
- 日本語ドキュメントが出るのを待っていると、オープンソースのソフトウェアの恩恵はほぼ受けられない