[JAVA] Comment les microservices changent la façon de développer des applications

Microservices are gaining popularity for their potential to deliver scalability, resilience, and agility that wasn't possible with service-oriented architecture. Over 70% of organizations are investigating microservices adoption, but many are encountering challenges to success in achieving these goals with the additional strain on IT to be more agile, adopt new technology, and embrace DevOps. The Open Group defines Microservices Architecture (MSA) as "a style of architecture that defines and creates systems through the use of small independent and self-contained services that align closely with business activities." In contrast to monolithic applications, where deployed software and infrastructure are centralized, MSA is highly distributed and requires new approaches to the development lifecycle as well as infrastructure monitoring and management. "In particular with microservices, there are serious consequences for operations, who now have to handle an ecosystem of small services rather than a single, well-defined monolith. Consequently, if you don't have a certain baseline competencies, you shouldn't consider using the microservice style." He goes on to list the need for rapid provisioning, basic monitoring and rapid application deployment as prerequisites for microservices. But the changes within IT needed for MSA is greater than just operations. A survey of over 2,000 software engineers by Lightbend found the greatest obstacle to microservice adoption was corporate culture - as cited by 46% of respondents. Also, the immaturity of operations tools was listed as a concern for 34% of IT professionals. A culture shift to an Agile development lifecycle and a DevOps approach is needed for MSA to achieve the goals of scalability, resilience, and agility. And the operational tools needed to monitor and manage microservices must be integrated as part of the underlying platform architecture. Given the complexity of MSA and the need for an IT culture shift to implement microservices, it is helpful to assess where you are on your MSA journey and make plans to mature your MSA related people, processes and platforms. The following sets of criteria can be used to assess your current MSA capabilities and to develop a roadmap, maturity model and KPIs needed for improvement. MSA Platform Assessment Many IT organizations lack or have gaps in the culture and processes needed for MSA. Criteria to assess IT organization and governance include: • IT alignment to business drivers and imperatives • Roadmap for legacy systems and data - modernization, cloud-native, and monolith migration • Agile development lifecycle • Engineering skills and skill gaps • CI/CD automation and a DevOps culture • Test first and API first development approaches • API management and light-weight governance MSA requires a platform for building and operating cloud-native services that automate and integrates the concepts of DevOps, continuous delivery and containers. Criteria to assess platform architecture capabilities includes: • Service provisioning and auto-wiring • Service discovery • Elastic scaling • Resource scaling • Integration with the infrastructure • Multi-node cluster configuration and management • High-availability • Security issues like single sign-on • Multi-tenancy and isolation • Monitoring • Logging • Routing • Load balancing • Instant rollback and versioning • Service naming and URL mapping • Polyglot language and persistence support • Authentication service integration • Application configuration management • Orchestration API management is a critical component for MSA to manage secure assess, monitor component availability and enforce governance and change management. Criteria to assess API management capabilities includes: • Developer Portal • Administrative Portal • Security • Traffic management • Transformation • Proxy • Analytics • Versioning • Lifecycle management • Metadata Documentation / Content Management • Social media support/blogs • Throttling • Service level management Perficient's Microservices Health Check Perficient has built a practical approach to implementing microservices. We create a roadmap to modernize and mature IT people, process, and platforms needed for effective microservices strategy. To this end, we have developed a Microservices Heath Check to assess IT's current state and make a series of actionable recommendations within program tracks to modernize IT for microservices. The intent of the health check is to create a set of actionable tasks to get microservices processes and projects on track to ensure you achieve the desired technical and business objectives. The Microservice Health Check provides the following benefits: • Solidifies the microservices business case • Provides a benchmark of your current microservices approach to industry best-in-class • Validates architecture concerns such as platform capabilities, security, operations, and API management • Helps to define your microservices roadmap to mature people, process, and platforms along program tracks • Leverages Perficient's microservices architecture, agile methodology, and DevOps guidelines • Delivers a set of actionable tasks to get your microservices to program on track

related blog:

Java collection tutorial

Recommended Posts

Comment les microservices changent la façon de développer des applications
[Rails] Comment changer le nom de colonne de la table
Comment modifier la valeur de réglage de Springboot Hikari CP
Comment modifier le contenu du fichier jar sans décompresser
Comment les microservices basés sur Dubbo vont changer l'architecture des assureurs
[Swift] Comment modifier dynamiquement la hauteur de la barre d'outils sur le clavier
[Rails] Comment changer le titre de la page du navigateur pour chaque page
[chown] Comment changer le propriétaire d'un fichier ou d'un répertoire
[Eclipse] Changer la couleur de la règle verticale
Comment déterminer le nombre de parallèles
Bootstrap4 Changer la couleur du menu hamburger
[Rails] Changer le nom de l'étiquette de f.label
Comment trier une liste de SelectItems
Comment changer la valeur d'une variable à un point d'arrêt dans intelliJ
[Swift] Changer la couleur du nœud SCN
[swift5] Comment changer la couleur de TabBar ou la couleur de l'élément de TabBar avec le code
[Swift] Comment changer l'ordre des éléments de barre dans le contrôleur de barre d'onglets [Débutant]
Comment trouver la cause de l'erreur Ruby
Personnalisez la répartition du contenu de Recyclerview
Modifiez l'URL de l'application du projet Eclipse (Maven).
Changer le fuseau horaire du conteneur https-portal en JST
Sortie de la façon d'utiliser la méthode slice
Comment afficher le résultat du remplissage du formulaire
[AndroidStudio] Changer la couleur du menu hamburger d'ActionBarDrawerToggle
Modifier le dossier de placement de l'image et du conteneur Docker
[Java] Comment obtenir l'URL de la source de transition
Comment changer l'action avec plusieurs boutons d'envoi
Comment supprimer / mettre à jour le champ de liste de OneToMany
CI l'architecture des applications Java / Kotlin avec ArchUnit
Comment écrire Scala du point de vue de Java
[Ruby on Rails] Comment changer le nom de la colonne
Une explication approximative du fonctionnement des applications Web Java
<Android> Changer la couleur d'arrière-plan de la ligne Liste de ListView
[Java] Comment obtenir la valeur maximale de HashMap
[Rails] Annuler / modifier la validation du mot de passe du périphérique définie par défaut
[Android] Comment obtenir la langue de réglage du terminal
Modifier la qualité de stockage des images JPEG en Java
[Rails] Comment obtenir le contenu des paramètres forts
Comment juger le clic de n'importe quelle zone de l'image
Comment télécharger une ancienne version d'Apache Tomcat
[Swift] Comment obtenir l'ID de document Firebase
Comment la valeur suivante de l'objet Time est-elle correcte?