メインコンテンツにスキップ
ブログリノードあなたのクラウド開発戦略は間違っていませんか?

あなたのクラウド開発戦略は間違っていませんか?

あなたのクラウド開発戦略は間違っていませんか?ブログ記事ヘッダー特集画像です。

私は20年前にソフトウェアエンジニアとしてキャリアをスタートさせました。パブリッククラウドの前例のない成長を目の当たりにし、今日に至っているのは、私だけではなく、多くの人がそう思っています。

クラウドプロバイダーには、自社でどのように構築すべきかという意見を持っているところがあります。私たちはこのアプローチをプラットフォームネイティブと呼んでいます。クラウドプロバイダーは、自社のサービスやツールを使い、自社のエコシステムの中で構築することを望んでいます。しかし、クラウドプロバイダーは、あなたがどのように構築し、デプロイするかを指示すべきではありません。その代わり、ワークロードはポータブルであるべきで、オープンかつ標準ベースのツールを使用することで、ワークロードに最適な地理的、価格的、または性能的な適合性を見つけるために、どこにでも展開および移動できるようにします。

今日のデベロッパー購入ジャーニー

適切なクラウドプロバイダーを選択する際に失敗したことがある。多くの人がそうだと思います。しかし、良い経験も悪い経験もしたことで、選択プロセスのパターンが見えてきた。そして、開発者がクラウドを購入する際の5つの段階を発見したのです。

1.発見する。Stack OverflowやRedditのスレッドを読みながらイベントで新しいことを聞いたり、YouTubeを見たり、どこでも、クラウドサービスは今まで聞いたことがないので興味をそそられるものです。そして突然、こう思うのです:これは何だ?これはどういうものなんだろう?どうすればいいんだろう?

ディスカバリーでは、もっとたくさんの質問をする必要があります。あなたの目標は、クラウドサービスをユニークなものにしているのは何か、似たようなものと差別化しているのは何か、そしてクラウドサービスがあなたに提示する特定の価値提案についての答えを得ることであるべきです。サービスに対するコミットメントであれ、それ以外のものであれ、"なぜ?"と問うのはここからです。

2.評価する。この段階で、私たちは不思議に思うのをやめ、ここに何かがあることを確信しました。次は、発見したことを評価する番です。大きな時間をかける必要はありません。文書作成にかかる時間は、通常15~20分程度です。しかし、サービスやツールを理解し、すでに知っていることとの違いを評価するためには、より深く潜る必要があります。

しかし、他のクラウドプロバイダーについての知識が浅くても心配はありません。例えば、私たちが提供しているマネージドKubernetesを考えてみましょう。競合他社のサービスを知っていれば、それらとLinode Kubernetes Engineを比較することができます。

ドローンメーカーSkydioのエンジニアリングディレクターElliot Graebert氏の評価ユースケースを抜粋してご紹介します。

"インターフェースはほとんど同じに見えるので、どちらが優れていると断言するのは不可能です。AWS や Azure に見られるような機能の肥大化もなく、すっきりとしたデザインになっています。私見ですが、このシンプルさは、導入してアプリを展開し、コードを書く作業に戻るのに大いに役立つと思います」。 彼はさらに付け加えます:「Linodeの新しいk8sクラスタを起動するための驚異的な速度は、一部の観客にアピールすることができ、彼らの全体的なノード展開時間は堅実でした。

3.学ぶ。 さて、最も重要なステップに移る準備が整いました。その理由は、評価段階では、ある程度の時間を投資することになりますが、このときが最も多くの時間を投資することになるからです。開発者である私たちの頭の中には、100万ものプロジェクトが駆け巡っています。今は、このクラウド提供に価値があるかどうかを確認するために、ちょっとしたフィッティングを行うのです。学習に何時間も投資する覚悟が必要です。答えるべき最大の疑問はこのクラウドプロバイダーとそのソリューションは、私の次のプロジェクトで使えるだろうか?

4.ビルドする。 キーボードに手をかけるのが好きでないエンジニアはいないでしょう。しかし、このステップは、しばしば物事がうまくいかない場所です。私たちは、本当はMLP、"愛すべき最小限の製品 "を作る必要があるのに、MVP(最小実行可能製品)を作るように自分自身を条件付けしているのです。

MVPは最低限必要なもので、必ずしも気に入るものではありません。私がキャリアを通じて作ったMVPのうち、生産に適したものは1つもありません。現在の私の役割としては、開発者にMLPの作り方を教えることが好きです。その結果、開発者は、自分たちが作り上げた労力が結果に見合ったものであったかどうかを正直に評価することができる。

5.スケール感。この段階では、非常に多くの質問があるでしょう。スケールについて理解するとき、ディザスタリカバリのためにデータをある地点から別の地点に複製するのか、単に複数の地域に存在するのか、複数の地域を活用する方法を知りたいと思うはずです。スケールについては、プロセスの観点だけでなく、人員の観点からも考えてみてください。このプロセスにもっと多くの人を投入する必要がある場合、それはどのようなものでしょうか? 

また、統合プロセスについても理解しておきたい。統合が CLI あるいは API自動化のために何が利用できるかを調べてください。我々は、インフラ as code (IAC)が先導する自動化の波の中にいる。プロセスはスケールするが、人はスケールしないことを知っているからだ。インフラ を立ち上げ、規模を拡大するために必要な労力を評価してください。

プラットフォームネイティブとクラウドネイティブの比較

クラウド選びはこれからも進化し続けるだろう。もっと客観的に見始める必要があります。私が初めてクラウドに挑戦したとき、そのプラットフォームとツールだけで構築しました。当時入手できた技術文献は、すべて特定のプラットフォームに関するものでした。しかし、エンジニアとして成長するにつれ、私はクラウドネイティブの方法で構築するようになりました。つまり、ワークロードをピックアップしてどこにでも移動させることができ、構築したものをよりコントロールできるようになりました。そして、オープンソースのツールの助けを借りて、CI/CDIaCコンテナ化などの統一された標準を採用することができたのです。 

もし、あなたの考え方と一致し、クラウド・ネイティブな方法で構築したいとお考えなら、ぜひご相談ください。クラウド購入の旅について、私またはチームメンバーまでご連絡ください。

コメント 

コメントを残す

あなたのメールアドレスは公開されません。必須項目には*印がついています。