Récemment, je pensais au film "Wall Street" de 1987 et plus précisément au personnage de Michael Douglas,
Je me souviendrai toujours de la citation de Gordon Gekko : "Le bien le plus précieux que je connaisse est l'information."
Avance rapide de 35 ans, et la déclaration de Gordon Gekko est toujours valable aujourd'hui, surtout quand nous réalisons que «l'information» peut être définie au sens large. Les informations peuvent être des données réelles détenues et très recherchées, mais les informations peuvent également être considérées comme un différenciateur qu'un innovateur envisage de mettre sur le marché.
L'inconvénient de l'information est que lorsqu'elle devient bien connue et pleinement consommée, elle se transforme en connaissance commune et perd sa valeur en tant que marchandise. C'est pourquoi il est important que les innovateurs saisissent leurs opportunités le plus rapidement possible, et avant qu'un concurrent ne les devance sur le marché.
Je suis sûr que Gordon Gekko serait d'accord avec la conclusion de Benjamin Franklin selon laquelle "
Alors, explorons comment une startup peut lancer son concept en quelques heures au lieu de quelques jours.
Dans ma publication " Spend Zero Time on DevOps with Render PaaS ", j'ai pris la plate-forme Render pour un essai routier et démontré à quelle vitesse une application basée sur git pouvait être déployée. En fait, si vous voulez poser une question à mon service Magic 8-ball basé sur Go, lancez-le .
En guise de suivi, on m'a donné un aperçu de la plate-forme Render et j'ai écrit à ce sujet dans " The Perfect Cloud: AWS, GCP and Azure all-in-one ". Ce que j'ai trouvé, c'est une conception solide qui offre non seulement une approche "Zero DevOps", mais une plate-forme basée sur le cloud qui évolue bien dès la phase de démarrage pour suivre les implémentations de production réussies, tout en maintenant une structure de coûts équitable.
Avec les conclusions fructueuses de mes articles précédents, j'ai l'impression que Render est une solution idéale pour valider le défi de lancer une idée de startup en une journée.
De plus, je m'attends à ce que les services fournis par Render fonctionnent simplement et restent à l'écart, permettant de rester concentré sur la mise sur le marché d'une nouvelle idée.
Pour rendre les choses amusantes, supposons que notre startup ait une idée perturbatrice du marché en ce qui concerne les achats en ligne. Notre idée permet à quelqu'un de déposer des produits dans son panier actuel chez un détaillant en ligne, puis d'utiliser notre plug-in de navigateur pour trouver le meilleur marchand en fonction des paramètres suivants :
Ces paramètres sont configurables dans le cadre du plug-in, permettant au client de décider ce qui compte le plus pour lui.
Avec le plug-in de navigateur installé, notre idée de démarrage permettrait aux consommateurs de commencer par un détaillant qu'ils connaissent et leur permettrait de se concentrer sur la recherche des produits qu'ils désirent en premier. Une fois le panier prêt, le plug-in effectuera l'analyse nécessaire et créera un panier pour le meilleur marchand, laissant au client le soin de terminer simplement l'achat.
Étant donné que notre idée de démarrage est purement fictive, supposons que les référentiels de code nécessaires existent déjà :
Ces référentiels sont tous sur GitLab comme indiqué ici :
L'illustration simple ci-dessous illustre la connectivité entre le navigateur du client et les référentiels et composants indiqués ci-dessus :
Le client utilisera notre plug-in de navigateur pour interagir avec le panier actuel. Si nécessaire, le plug-in effectuera les appels de service nécessaires aux niveaux client (React) et service (Go). Les données de notre solution résideront dans la base de données (PostgreSQL), avec toutes les communications nécessaires passant par le niveau de service.
D'un point de vue DevOps, notre startup a plusieurs objectifs :
Notre espoir pour Render est que nous ne réalisons même pas qu'il est là. Nous avons besoin de Render pour répondre à nos demandes et instructions, puis produire les services et applications clients attendus.
Étant donné que l'installation du plug-in du navigateur sera pilotée à partir de l'application React, nous n'avons qu'à nous concentrer sur les aspects suivants pour cette publication :**
Après m'être connecté à mon compte Render, j'arrive au tableau de bord, où je peux voir mon service Magic 8-ball :
Ensuite, je vais parcourir le processus d'ajout d'une base de données, d'un service d'API RESTful et d'une application cliente.
Une nouvelle base de données PostgreSQL peut être ajoutée à mon compte en utilisant le Nouveau | Option de menu PostgreSQL :
Ensuite, j'ai fourni les informations de base pour notre base de données de démarrage, puis j'ai cliqué sur le bouton Créer une base de données (non affiché) :
En quelques secondes, la nouvelle base de données PostgreSQL était prête à être utilisée.
La chaîne de connexion interne est automatiquement calculée pour les composants de niveau de service et de travail exécutés dans l'écosystème de rendu. La valeur de cette propriété masquée est formatée comme indiqué ci-dessous :
postgres://admin_id:admin_password@hostname/database_name
Le retour au tableau de bord affiche maintenant l'instance PostgreSQL disponible :
Pour ajouter le service basé sur Go à Render, je sélectionne le Nouveau | Option Webservices .
Comme j'ai déjà installé l'intégration GitLab avec mon compte (découvrez comment faire cela
Lors de la sélection de l'option startup-idea-service
, j'ai remarqué que Render définissait les valeurs par défaut exactement comme prévu pour mon service basé sur Go. Tout ce que j'avais à faire était de fournir un nom (démarrage-idée-service), de sélectionner un plan (niveau gratuit pour cette publication) et de cliquer sur le bouton Créer un service Web .
En quelques secondes, notre nouveau service était créé et quelques minutes plus tard, le service basé sur Go était complètement mis en place.
Pour la connectivité PostgreSQL, j'ai utilisé la section Environnement pour stocker la référence nécessaire à la connectivité de la base de données.
Cela variera d'un niveau de service à l'autre, mais vous pouvez en savoir plus sur la connectivité de la base de données
À ce stade, les niveaux de service basés sur PostgreSQL et Go apparaissent dans le tableau de bord :
Puisque nous utilisons React pour notre framework client, nous pouvons configurer l'utilisation d'un site statique en sélectionnant le Nouveau | Option Site statique .
Semblable à la configuration du service, la liste des référentiels disponibles était affichée à partir de GitLab, et tout ce que j'avais à faire était de sélectionner le référentiel startup-idea-client :
Cette fois, j'ai simplement fourni le nom du site statique (startup-idea-client) et cliqué sur le bouton Créer un site statique .
Il n'était pas nécessaire de spécifier un niveau ici car il n'y a pas de frais pour les sites statiques sur la plate-forme Render.
Le site statique a été créé en quelques secondes et toutes les dépendances nécessaires à l'application React ont été installées quelques minutes plus tard. L'application statique était prête à l'emploi.
Le tableau de bord de rendu est maintenant complet avec nos niveaux client, service et base de données tous disponibles.
Dans le but de lancer notre idée de startup en une journée, nous avons pu tout accomplir en quelques minutes, même pas en heures ! L'utilisation de React, Go et PostgreSQL a certainement contribué à réduire ce temps, mais nous aurions pu sélectionner l'une des options suivantes ci-dessous pour des résultats tout aussi rapides :
Pour tout le reste, nous pourrions simplement utiliser Docker et utiliser le conteneur résultant pour interagir avec la plate-forme Render.
La meilleure partie de cette conception est que la plate-forme gère chaque demande, répondant automatiquement lorsque les validations sont poussées vers la branche surveillée par Render. Ceci est important lorsque des mises à jour et des besoins de refactorisation émergent au cours du cycle de vie du développement et doivent être mis à disposition rapidement.
Depuis 2021, j'essaie de vivre selon l'énoncé de mission suivant, qui, selon moi, peut s'appliquer à tout professionnel de l'informatique :
Concentrez votre temps sur la fourniture de caractéristiques/fonctionnalités qui étendent la valeur de votre propriété intellectuelle. Tirez parti des frameworks, produits et services pour tout le reste.
- J.Vester
Compte tenu du peu de temps nécessaire pour faire fonctionner notre idée de démarrage, il est clair à quel point la plate-forme Render adhère à ma déclaration de mission personnelle. Le fait que ce même écosystème puisse se développer avec notre startup à mesure que la demande de services augmente - sans conséquences de coûts déraisonnables - renforce encore cette solution en tant que leader avant-gardiste dans l'espace de livraison cloud.
Bien que cet article se concentre sur le lancement rapide d'une nouvelle idée de startup, la conclusion plus large est que Render offre aux clients la possibilité de se lancer rapidement et permet de rester concentré sur les besoins et les priorités de l'entreprise à l'origine des solutions. Avec la promesse de Zero DevOps, cette solution élimine les soucis liés à la livraison basée sur le cloud et reste à l'écart de l'innovation client.
En repensant à "Wall Street" et à Gordon Gekko, j'ai l'impression que cette citation est également vraie aujourd'hui : " Dans mon livre, soit vous le faites correctement, soit vous êtes éliminé. ”
L'utilisation de la plate-forme Render entre certainement dans la catégorie "faites-le bien".
Passez une très bonne journée !