Comment j'ai choisi une pile technologique avec une base pour l'avenir

Commencez par une simple, mais pas au détriment d'une croissance supplémentaire.

image

Après avoir commencé ma carrière en tant qu'ingénieur logiciel, je suis devenu plus tard un entrepreneur technologique et j'ai fondé deux sociétés SaaS qui ont attiré plus de 100 millions de dollars de capital-risque de la Silicon Valley.

Le problème était que ces entreprises avaient besoin d'énormes investissements pour créer les systèmes logiciels complexes et multi-locataires qu'elles étaient, ce qui exigeait également des spécialistes des ventes et de la mise en œuvre de promouvoir et de soutenir constamment leur travail. C'est pourquoi, en 2017, j'ai fondé 8base .

Au cœur de 8base se trouve l'idée qu'il existe une énorme demande de plates-formes et d'outils qui accélèrent, améliorent et réduisent le développement logiciel. 8base fournit un environnement logiciel complet et compréhensible, et notre architecture est extrêmement importante. Pourquoi? La pile technologique est conçue non seulement pour nous, mais aussi pour nos clients.

Notre équipe possède une vaste expérience de travail dans les entreprises SaaS, et nous avons des convictions claires qui nous guident dans le choix de nos solutions architecturales. En voici quelques uns:

- Premièrement, l'API (API-first) - l'infrastructure informatique, les données et la logique métier doivent être côté serveur et représentées à l'aide d'une seule API dynamique.

- Flexibilité - L'infrastructure informatique doit être un service entièrement personnalisable pour une application en cours d'exécution.

- Flexibilité de développement frontend . Le logiciel est plus un art de nos jours que la science et les entreprises s'expriment à travers la technologie. Les développeurs doivent être capables de concevoir et de créer des interfaces utilisateur dans n'importe quel style combiné à divers facteurs de forme.

Nous avons mis ces idées au cœur de 8base.

Pile de technologie 8base


Tout d'abord, nous avons choisi Amazon Web Services (AWS) comme infrastructure informatique car c'est le leader du marché du cloud computing. Nous utilisons de nombreux services AWS:

- AWS Lambda pour l'informatique sans serveur (sans serveur). Les applications construites à l'aide de 8base utilisent également Lambda. L'absence de serveur est un modèle informatique relativement nouveau qui exécute du code en réponse à des événements, gérant automatiquement les ressources informatiques nécessaires. Lambda répond aux besoins informatiques de la même manière qu'une entreprise énergétique: en fournissant des services personnalisés et mesurables. Cela minimise le besoin d'ingénieurs DevOps, ce qui entraîne à son tour une baisse des coûts.

- Bases de données AWS Aurora MySQL et MongoDB Atlas . Chacun est une base de données en tant que service, ce qui les rend rapides, fiables, tolérants aux pannes, gérables et évolutifs. 8base propose également Aurora MySQL dédié pour chaque espace de travail développeur.

- Service de stockage d'objets AWS S3 (Simple Storage Service) . 8base résout le problème de l'accès à S3 pour les espaces de travail et les applications clientes frontales. Cela facilite le stockage de documents, d'images, de fichiers audio et vidéo et bien plus encore. 8base utilise également FileStack pour que les développeurs puissent facilement connecter leur stockage cloud, leurs comptes sociaux et autres. Nous avons choisi S3 car il est peu coûteux, rapide, fiable et pratiquement illimité en volume de stockage.

- AWS API Gateway est utilisé par le moteur 8base et est par défaut disponible pour les applications clientes construites sur 8base en tant que service pour créer, publier et sécuriser les API REST et WebSocket.

8base a intégré le moteur API GraphQL incroyablement puissant à la plateforme. GraphQL est un standard développé par Facebook et est devenu open-source en 2015. Il s'agit d'un point de terminaison unique qui fournit une connexion dynamique entre le frontend et le backend. GraphQL permet aux développeurs frontaux de travailler très rapidement, réduisant la dépendance vis-à-vis des développeurs principaux. Cette technologie API permet à l'équipe 8base et aux équipes utilisant 8base de se développer plus rapidement.

Nous prenons en charge n'importe quel framework frontend, mais 8base lui-même est créé à l'aide de React . React est une bibliothèque JavaScript open source gérée par Facebook et la communauté des développeurs. Il est optimal pour les données à évolution rapide. Aujourd'hui, React est incroyablement populaire et propose également React Native, un cadre pour créer des applications natives sur iOS et Android.

Enfin, nous avons choisi la plateforme Auth0 pour l'authentification. Les développeurs peuvent très facilement intégrer Auth0 dans leurs applications clientes, tout en ayant la possibilité d'utiliser d'autres fournisseurs pour l'authentification. Auth0 offre une intégration avec plus de 30 services sociaux et d'entreprise pour l'autorisation, en plus de l'authentification multifacteur et de nombreuses autres fonctionnalités puissantes.

Astuces


Conception à l'échelle

L'approche Lean startup est souvent pratiquée en écrivant rapidement un produit logiciel afin que les fondateurs puissent immédiatement commencer à rechercher leur créneau de marché. J'exhorte les fondateurs à réfléchir aux problèmes qu'ils peuvent rencontrer lorsque leurs produits devront être réécrits après avoir trouvé une niche.

Il est préférable de s'appuyer sur une base solide avec la possibilité d'itérations continues pour améliorer le produit, sans sacrifier la possibilité d'une nouvelle mise à l'échelle. Nous l'avons fait avec 8base, et maintenant c'est payant, car nous consacrons notre temps à l'amélioration constante du produit, et non à sa mise à jour technique ou à la refactorisation de l'ancien code, qui est essentiellement invisible pour nos clients.

Soyez prudent avec les développeurs qui créent des produits de démarrage sans penser à un modèle de données.

Certaines des solutions backend existantes permettent aujourd'hui aux développeurs front-end, et en particulier aux développeurs d'applications mobiles, de simplement y télécharger des données sans tenir compte de tout modèle ou structure de données. Et pour certaines applications, c'est normal. Mais pour la plupart des applications - hélas, non. Assurez-vous de choisir une approche non structurée des données car c'est le bon choix, pas le plus simple. Sinon, vos données ressembleront à des spaghettis ... lorsqu'elles seront cuites.

Si vous êtes un fondateur non technique et impliquez une agence pour vous aider dans le développement, posez-leur les huit questions suivantes.

Les agences ont tendance à fournir des services professionnels et il est dans leur intérêt de le faire aussi longtemps que possible. Leurs objectifs ne correspondent pas toujours aux vôtres. Pour vérifier cela, vous pouvez poser les questions suivantes:

1. Quelle est votre approche du développement logiciel: première conception (conception d'abord) ou première conception (ingénierie d'abord)?
2. À quoi ressembleront les premiers résultats obtenus: s'agira-t-il de conceptions ou de prototypes finis ou des deux?
3. Quelles startups avez-vous aidées, ont-elles trouvé leur créneau et sont-elles devenues financièrement stables?
4. Comment allez-vous concevoir l'architecture de l'application de sorte que je n'ai jamais à la modifier?
5. D'autres développeurs pourront-ils travailler sur le projet?
6. Pourrai-je faire évoluer mon logiciel si nécessaire?
7. Et si nous voulons changer la conception en fonction de nouvelles données marketing?
8. Qu'est-ce qui sera nécessaire pour prendre en charge notre produit après son lancement?

La création de produits technologiques est un voyage pour un entrepreneur qui ne finit jamais. Les premières décisions sur ce qui , qui et comment peuvent séparer le succès de l'échec. Ces décisions comprennent également des réponses à des questions sur qui décide de ce que le produit doit faire, qui va le concevoir et le développer, et quelles technologies de base seront utilisées.

Les bonnes réponses à ces questions donnent à l'entrepreneur une chance de gagner, sinon les décisions entraîneront une perte de temps, des coûts supplémentaires et, éventuellement, un échec.
Merci d'avoir lu! Je serai heureux de commenter ou de me contacter pour des questions à albert@8base.com .

Source: https://habr.com/ru/post/fr471700/


All Articles