Fermer

avril 30, 2019

Mise en place d'une architecture de référence dans le cloud et de meilleures pratiques –


Dans l'article "La justification de l'analyse de rentabilisation pour le PaaS" nous avons examiné les avantages et l'analyse de rentabilité du PaaS et dans l'article "Développement d'une stratégie de migration pour le PaaS" . migrer des applications vers PaaS. Dans ce blog, nous examinerons les étapes à suivre pour créer une architecture de référence et les meilleures pratiques des développeurs pour tirer le meilleur parti de votre plate-forme.

Les fournisseurs de services d'infrastructure en nuage continuent d'ajouter des services de plate-forme à leurs offres et de se multiplier. leur part de marché, les options disponibles pour construire des applications ont explosé. Les entreprises qui ne disposent pas de directives sur l'utilisation du cloud computing font face au risque de prolifération du cloud, où la prolifération d'instances, de services et de fournisseurs de services dans le cloud devient incontrôlable.

La plupart des sociétés ne peuvent pas fonctionner comme des entreprises licenciées et sont contraintes. en fonction du budget, des réglementations et des problèmes de conformité, et du talent disponible pour développer leurs applications. Choisir les bons services pour votre application doit inclure des considérations de prix, d’évolutivité, de disponibilité, de facilité de gestion, de sécurité et de conformité. Des centaines de services sont disponibles chez un seul fournisseur de cloud avec de nouveaux services ajoutés à un rythme effarant. Les développeurs d’applications ont besoin de conseils d’architecture sur les meilleurs services à utiliser pour leurs solutions afin de contrôler les coûts, de livrer plus rapidement et d’assurer la conformité.

Le modèle PaaS pur-play est dit «fondé sur des opinions», offrant au développeur tout le nécessaire pour créer des applications les contraintes de la plateforme. Cette approche limite de manière inhérente le nombre d'options disponibles pour les développeurs pour la création d'applications, ce qui fonctionne bien tant que les domaines d'application sont limités – par exemple, Applications à 12 facteurs. Mais sortir des domaines d’application pris en charge par la plate-forme, par exemple l’IoT, pourrait s’avérer problématique et nécessiter des services supplémentaires.

La première étape pour définir les directives de l’architecture PaaS consiste à définir les domaines d’application (types d’applications) et les services utilisés pour construire chaque domaine. Les scénarios d’application spécifiques à un domaine incluent des applications Web à 12 facteurs, des microservices, des données volumineuses / des traitements par lots / des analyses, l’IoT, etc. Ensuite, définissez une architecture de référence spécifique pour chaque domaine afin de créer une application au sein de ce domaine. En outre, une implémentation de référence déployable est extrêmement utile. La possibilité pour une équipe de développement de provisionner rapidement son environnement et de créer une nouvelle application est très bénéfique et accélérera l’adoption de PaaS.

L’architecture de référence doit définir et schématiser le pipeline CI / CD permettant de créer et de déployer l’application, Services et configurations PaaS utilisés dans la solution, utilitaires pour des problèmes transversaux tels que la surveillance et conseils sur la capacité et le dimensionnement. L'architecture de référence doit également définir et documenter les détails de sécurité et de conformité requis, ce qui peut considérablement accélérer la fourniture d'applications dans un environnement réglementé.

Pour les applications ne relevant pas de domaines bien définis, il est utile de définir un catalogue de services recommandés. pour créer des applications.

Un catalogue de services est une liste organisée de services approuvés et conformes au sein de l'entreprise, par exemple dans les catégories suivantes:

  • Calcul et mise en réseau
  • Services de stockage, de cache, de gestion de contenu et de livraison
  • Services de base de données et services d'analyse
  • Services de gestion de la sécurité et des identités
  • Services d'application – AI, mobile, IoT, etc.
  • Outils d'application et services de gestion – Contrôle, surveillance, test et déploiement
  • Gestion de l'environnement services – monitor, control, build

Le catalogue de services doit être catégorisé et inclure des attributs de prix, d’évolutivité, de disponibilité, Facilité de gestion et sécurité. Des attributs spécifiques à une entreprise, tels que la conformité, les projets utilisés, les contacts pour les PME peuvent également être ajoutés.

Certains fournisseurs de services cloud offrent un catalogue de services via un marché ou des mosaïques d'applications, ainsi que la possibilité de personnaliser les services proposés aux développeurs. Il s’agit d’une expérience utilisateur de développeur attrayante pour la consommation de services et qui facilite l’adoption, en particulier si la possibilité de fournir des services est automatisée.

Enfin, il est utile de fournir aux développeurs des instructions, modèles et normes sur la création et le déploiement de leurs applications.

Ces normes devraient être légères et mettre l'accent sur l'expérience du développeur et l'agilité. Par exemple, les instructions suivantes seraient utiles pour les domaines des applications Web à 12 facteurs et des microservices:

Lignes directrices pour le développement du cloud natif

  • 12 Lignes directrices pour les applications Factor – personnalisées pour l'environnement PaaS
  • Langage et normes-cadre – par exemple. Spring Boot
  • PaaS – Meilleures pratiques spécifiques aux technologies, par exemple. AWS, Azure, GCP, PCF, Kubernetes Docker et OpenShift
  • Instructions d'implémentation de la sécurité, réseau, automatisation des analyses, correctif
  • DevOps – Fourniture, déploiement, instructions CI / CD
  • Normes d'exécution – maille de service, surveillance des performances de l'application , journalisation
  • Guide de migration – quand, pourquoi et comment migrer des monolithes hérités

Architecture de microservices (MSA)

  • Architecture de référence MSA pour les conteneurs et les services d’application
  • Normes et directives de développement
  • Domain Driven Design [19659010] Normes API
  • Outils et lignes directrices DevOps
  • Normes et modèles d'intégration – API et événements

Perficient dispose d'équipes de stratèges, d'architectes, d'architectes, de DevOps et d'experts en gestion du changement très expérimentés, si vous avez besoin d'aide avec votre architecture en nuage. et la mise en œuvre. Nous avons investi dans le développement d'une architecture de référence dans le nuage et dans la formation de personnes expérimentées aux dernières approches en matière de développement, notamment le développement dans le nuage natif, PaaS, DevOps, les microservices et la refonte de la plate-forme.




Source link