◯クラウドネイティブへの解釈
こんにちは、オルターブースの小島です。
今回はThe Twelve-Factor Appのエッセンシャル版ということで、全体的な話をしていければと思います。
The Twelve-Factor Appを知っている方もいるかと思いますが、まだそこまで浸透しているワードでもないんですね。
まず押さえた方がいい前提は、クラウドネイティブへの解釈です。
様々な解釈があるんですが、一般的なクラウドネイティブの解釈は以下のようなものになります。
最近は勘違いと言いますか、ちょっと違うんじゃないかな?っていう解釈を聞くこともあります。
例えば全部OSSで作られているからクラウドネイティブだとか。
そういった要素はもちろんあるんですが、それだけではクラウドネイティブとは言えず、あくまでクラウドがベースであることが条件です。
クラウドネイティブには大きく4つの技術カテゴリーがあります。
- DevOps
- Continuous Delivery
- Containers
- Microservice
これらの技術をクラウドで実現すること。
そしてクラウドでしかできないこととして実現すること。
これがクラウドネイティブと言えます。
なので、単にクラウドを使っているからクラウドネイティブかというと、そうではありません。
これらの要素が入っていて、しかも使いこなしている状態がクラウドネイティブだと僕は思っています。
◯クラウドを使う目的
ところでなぜクラウドを使うのでしょうか?
一般的にWebサービスの開発だと思うんですね。
ここではWebサービスというより、SaaS開発に置き換えてお話していきます。
SaaSを提供する際、以下のような項目を考えるべきかなと思います。
- 新機能をすぐにリリースできること
- 障害をすぐに復旧できること
- ミニマムから提供でき、変化に柔軟なこと
- それぞれの機能を独立して管理できること
- 開発環境が常に共通化されていること etc
まず「新機能をすぐにリリースできること」。
そりゃそうですよね。
どんどん作って、どんどんリリースしないと売り上げが上がらないので。
それから「障害をすぐに復旧できること」。
お客様はSaaSの裏側のシステムをあまり知りません。サービスそのものが使えればいいわけです。
なので障害があってもすぐに復旧できるのは非常に重要です。
あと「ミニマムから提供でき、変化に柔軟なこと」。
これも最近凄く重要だと言われていますよね。
いわゆるモノリシックがメインではないということ。これが「それぞれの機能を独立して管理できること」にも繋がっています。
最後は「開発環境が常に共通化されていること」。
これも凄く重要なのですが、殆ど出来ていない会社さんは意外といます。
他にもたくさん要素がありますが、要はクラウドを使いこなせているかどうかで、単にクラウドを使っています!では、クラウドのメリットを全く享受できないんですね。
(中編へつづく)
☆本記事はオルターブースYouTubeチャンネルの配信動画をもとに再構成しています。
☆配信動画の本編をご覧になりたい方はこちらから!(小島発表パート 15:20~32:14)