最近、1987年の映画「ウォール街」、具体的にはマイケル・ダグラスのキャラクターについて考えていたのですが、
ゴードン・ゲッコーの言葉「私が知っている最も価値のある商品は情報です。」
それから 35 年が経ちましたが、ゴードン・ゲッコーの言葉は今日でも当てはまります。特に、「情報」を広く定義できることに気付いた場合はなおさらです。情報は、所有され、非常に求められている実際のデータである可能性がありますが、情報は、イノベーターが市場に投入することを計画している差別化要因と見なすこともできます。
情報のマイナス面は、それがよく知られ、完全に消費されると、常識に変わり、商品としての価値を失うことです。これが、イノベーターが、競合他社に打ち負かされる前に、できるだけ早くチャンスをつかむことが重要である理由です。
ゴードン・ゲッコーはベンジャミン・フランクリンの次の結論に同意すると確信しています。
では、スタートアップが数日ではなく数時間でコンセプトを立ち上げる方法を探ってみましょう。
Render Unified Cloud の要約
私の出版物「 Spend Zero Time on DevOps with Render PaaS 」で、Render プラットフォームをテスト ドライブに使用し、git ベースのアプリケーションをいかに迅速にデプロイできるかを示しました。実際、囲碁ベースのマジック 8 ボール サービスに質問したい場合は、これを起動してください。
フォローアップとして、Render プラットフォームの内部を見てもらい、「 The Perfect Cloud: AWS, GCP and Azure all-in-one 」でそれについて書きました。私が見つけたのは、「Zero DevOps」アプローチを提供するだけでなく、公正なコスト構造を維持しながら、スタートアップ段階から適切にスケーリングして本番環境の実装に対応できるクラウドベースのプラットフォームを提供する堅実な設計でした。
以前の記事の成功した結論から、Render は、スタートアップのアイデアを 1 日で立ち上げるという課題を検証するための理想的なソリューションであると感じています。
さらに、Render が提供するサービスが機能し、邪魔にならず、新しいアイデアを市場に投入することに集中できることを期待しています。
スタートアップのアイデア
話を面白くするために、私たちのスタートアップがオンライン ショッピングに関して市場を破壊するアイデアを持っていると仮定します。私たちのアイデアでは、誰かが 1 つのオンライン小売業者で現在のショッピング カートに製品をドロップし、ブラウザ プラグインを使用して、次の設定に基づいて最適な販売業者を見つけることができます。
- ベストプライス
- 在庫あり、出荷準備完了
- 最速の配達
- 商人の評判
これらの設定はプラグインの一部として構成可能で、お客様は何が最も重要かを決定できます。
ブラウザ プラグインをインストールすると、私たちのスタートアップのアイデアにより、消費者は知っている小売業者から始めて、最初に欲しい製品を見つけることに集中できるようになります。カートの準備が整うと、プラグインは必要な分析を行い、最適なマーチャント向けのカートを作成します。顧客は購入を完了するだけです。
私たちの環境
私たちのスタートアップのアイデアは純粋に架空のものであるため、必要なコード リポジトリが既に存在すると仮定しましょう。
- startup-idea-client: ReactJS アプリケーション
- startup-idea-plugin: クライアント層およびサービス層と通信するための Javascript ベースのプラグイン
- startup-idea-service: PostgreSQL スキーマを格納する Go ベースのサービス
以下に示すように、これらのリポジトリはすべて GitLab にあります。
以下の簡単な図は、顧客のブラウザと、上記のリポジトリおよびコンポーネントとの間の接続を示しています。
お客様はブラウザ プラグインを使用して、現在のショッピング カートを操作します。必要に応じて、プラグインはクライアント (React) 層とサービス (Go) 層の両方に必要なサービス呼び出しを行います。このソリューションのデータはデータベース (PostgreSQL) に存在し、必要なすべての通信はサービス層を介して機能します。
私たちの目標
DevOps の観点から、私たちのスタートアップにはいくつかの目標があります。
- ホスティング プラットフォームは、既存の git ベースのリポジトリと「正常に連携」する必要があります。
- 数日ではなく、数時間でアイデアを立ち上げなければなりません。
- その同じホスティング プラットフォームは、新しい課題を導入することなく、設計のあらゆる側面にわたって高度なリファクタリングに適応できる必要があります。
- 人気のある出版物やソーシャル メディアのインフルエンサーでの言及を通じて需要が高まった場合、サービスを簡単にスケーリングする方法があれば、多くの時間とストレスを節約できます。
Render に対する私たちの希望は、それがそこにあることにさえ気付かないことです。要求と指示に応答し、期待されるサービスとクライアント アプリケーションを生成するには、Render が必要です。
スタートアップテックの立ち上げ
ブラウザ プラグインのインストールは React アプリケーションから実行されるため、この公開では次の側面にのみ焦点を当てる必要があります:**
- 静的 React アプリケーション
- Go ベースの RESTful API
- PostgreSQL データベース
Render アカウントにログインすると、ダッシュボードが表示され、Magic 8-ball サービスが表示されます。
次に、データベース、RESTful API サービス、およびクライアント アプリケーションを追加するプロセスを順を追って説明します。
PostgreSQL の追加
新規 |を使用して、新しい PostgreSQL データベースをアカウントに追加できます。 PostgreSQLメニュー オプション:
次に、スタートアップ データベースの基本情報を入力し、[データベースの作成] ボタンをクリックしました (表示されていません)。
数秒以内に、新しい PostgreSQL データベースを使用できるようになりました。
内部接続文字列は、Render エコシステムで実行されているサービス層とワーカー層のコンポーネントに対して自動的に計算されます。この隠しプロパティの値は、次のようにフォーマットされます。
postgres://admin_id:admin_password@hostname/database_name
ダッシュボードに戻ると、使用可能な PostgreSQL インスタンスが表示されます。
サービス層の追加
Go ベースのサービスを Render に追加するには、[新規] | [新規] を選択します。 Web サービスオプション。
私のアカウントには既に GitLab 統合がインストールされているので (これを行う方法を見つけてください)
startup-idea-service
オプションを選択すると、Render が Go ベースのサービスに対して期待どおりにデフォルトを設定していることに気付きました。名前(startup-idea-service) を入力し、プラン(このパブリケーションの無料利用枠) を選択して、[ Web サービスの作成] ボタンをクリックするだけで済みました。
数秒以内に新しいサービスが作成され、数分後に Go ベースのサービスが完全にセットアップされました。
PostgreSQL 接続については、Environment セクションを使用して、データベース接続に必要な参照を格納しました。
これはサービス レベルによって異なりますが、データベース接続の詳細についてはこちらをご覧ください。
この時点で、PostgreSQL および Go ベースのサービス層がダッシュボードに表示されます。
クライアント層の追加
クライアント フレームワークに React を使用しているため、[新規] | [新規]を選択して静的サイトの使用を設定できます。静的サイトオプション。
サービス構成と同様に、利用可能なリポジトリのリストが GitLab から表示されたので、startup-idea-client リポジトリを選択するだけで済みました。
今回は、単純に静的サイトの名前 (startup-idea-client) を指定し、[静的サイトの作成] ボタンをクリックしました。
Render プラットフォームの静的サイトは無料であるため、ここで層を指定する必要はありませんでした。
静的サイトは数秒で作成され、数分後に React アプリケーションに必要なすべての依存関係がインストールされました。静的アプリケーションを使用する準備が整いました。
レンダリング ダッシュボードが完成し、クライアント、サービス、およびデータベース層がすべて利用可能になりました。
結論
スタートアップのアイデアを 1 日で立ち上げることを目標にしていたため、すべてを数時間ではなく数分で完了することができました。 React、Go、および PostgreSQL を活用することで、確かにこの時間を短縮できましたが、同様に高速な結果を得るために、以下のオプションのいずれかを選択することもできました。
- エリクサー
- ノード
- PHP
- パイソン
- ルビー
- さび
- 静的サイト (Jekyll と Gasby)
それ以外の場合は、Docker を採用し、結果として得られるコンテナーを使用して Render プラットフォームと対話することができます。
この設計の最も優れた点は、Render が監視しているブランチにコミットがプッシュされると、プラットフォームがすべてのリクエストを処理し、自動的に応答することです。これは、開発ライフサイクル中に更新とリファクタリングの必要性が生じ、すぐに利用できるようにする必要がある場合に重要です。
2021 年以来、私は次のミッション ステートメントに従って生きようとしてきました。これは、どの IT プロフェッショナルにも当てはまると思います。
知的財産の価値を高める機能を提供することに時間を集中してください。フレームワーク、製品、およびサービスを他のすべてに活用します。
- J.ベスター
スタートアップのアイデアを実行するのに必要な時間が短いことを考えると、Render プラットフォームが私の個人的なミッション ステートメントにどれだけ忠実に準拠しているかは明らかです。この同じエコシステムが、サービスに対する需要の増加に伴い、不当なコストの結果を招くことなく、当社のスタートアップと共に成長できるという事実は、このソリューションがクラウド配信分野の先見の明のあるリーダーであることをさらに確固たるものにします。
この記事の焦点は、新しいスタートアップのアイデアを迅速に立ち上げることにありますが、より広い結論としては、Render は顧客に迅速に立ち上げて実行する機能を提供し、ソリューションを推進するビジネス ニーズと優先事項に焦点を当て続けることができるということです。ゼロ DevOps を約束するこのソリューションは、クラウドベースの配信から心配を取り除き、顧客のイノベーションの邪魔にならないようにします。
「ウォール街」やゴードン・ゲッコーを思い出すと、この言葉は今日も当てはまる気がします。 」
Render プラットフォームの使用は、確かに「正しく行う」カテゴリに分類されます。
本当に素晴らしい一日を!