Why did the chicken cross the road? As the old saying goes, to get the other side.
Why did the company move to microservices? That answer isn't nearly as simple.
While the buzz around microservices continues to grow, it can be valuable to look at various paths that companies take to achieve their ultimate goals of delivering software faster and with higher overall quality. This past week, I had a chance to sit down with Red Hat's Director, Developer Experience (Burr Sutter, @burrsutter) to discuss how companies balance Monoliths and Microservices. In that discussion, we looked at the trends around Java frameworks, the role of Continuous Integration (CI) in building better software, as well as how to measure success as your business embarks on this journey.
Starting from Scratch
In some cases, it's not a matter of "moving" to microservices, but rather starting from scratch with a new set of applications.
For many companies, such as startups or large company "Center of Excellence" groups, microservices are the starting point. They allow companies to experiment with new ideas, free from the legacy application baggage that may currently be slowing down their business. Microservices allow teams to begin to understand the new challenges that comes with building
smaller application services, such as service discovery, independent scaling, distributed monitoring, API versioning, etc. Having the right microservices platform in place is important, especially for developers. Microservices also forces teams to work through the changes needed to understand how (or if) a 2-pizza-team structure would actually work in their specific culture and environment. This approach aligns well with the Pioneer phase of the Pioneers-Settlers-Townplanners framework. Especially for existing companies that are looking to drive internal "DevOps" changes (here, here), it can be critical to demonstrate that something new is possible and showcase this to influential people and groups within the business to get the backing needed to expand these capabilities. It's a strategy that has been documented in books like "Made to Stick" as a way to overcome the inherent inertia that resists change.
Breaking Apart the Monolith
Many companies tend to have a love-hate relationship with their monolithic applications. On one hand, they love the stability that these applications provide to support the mission-critical elements of their business. On the other hand, they are often frustrated at the complexity required to make minor changes or updates. An example of this might be a requirement to add a new set of social-media centric authentication credentials for users (e.g. login using Facebook or Twitter). This aspect of the application may change much more frequently that the core application, so it would make sense to break it apart and use something like Red Hat SSO (based on the "Keycloak" project) as an authentication microservice. This approach is frequently referred to as the "Strangler Pattern", where elements of an existing application are squeezed off from the core application into smaller sub-functions, or microservices. Each of these sub-functions can then be viewed as an independent project for updates, testing and deployment. This approach aligns very well to the concepts within OpenShift of "projects", "pods", and "pipelines". Other examples that we frequently see are companies moving from legacy middleware platforms to Red Hat JBoss EAP or Websphere Liberty, or evolving existing Java applications to use SpringBoot. In all of these scenarios, the native containerization in OpenShift allows the applications to run faster and take advantage of integrated scaling and multi-cloud support.
Making the Monolith Run Faster
For all the benefits that microservices could provide, they don't come without a new set of challenges. Managing these new challenges might not always be worth the effort or risk. The monolithic application might be "working" perfectly fine, but the systems surrounding the monolith may require some tuning and hygiene. A great example of this is the transformation at Key Bank, moving their release cycles from every three months to every week. By not only taking advantage of the native services and automation within OpenShift, but also improving their testing infrastructure and process, Key Bank was able to improve the most important metric - Responsiveness to the Market.
Monoliths AND Microservices - It's about Business Value
Far too often, engineers get caught up in the mechanics of the systems they are building. They highlight the number of services available in the platform and forget that the ultimate measuring stick is the experiences of the platform users. The platform itself must provide economic value to the business, and the end-users must be able to easily solve their problems (learn, share, engage, buy). In reality, for most companies, the way to deliver this experience will be a combination of microservices AND monolithic applications. The right platform will be able to manage both types of applications, as well as integrate into the tools and workflows that developers need to build and deliver software faster and with higher quality.
Across a broad set of industries, Red Hat OpenShift customers are seeing how the right platform can help them with their microservices and monolith journey. We'd love to hear about how your company is managing their journey, both from a technology and people/process perspective. Let us know your experiences, @openshift.
À propos de l'auteur
Contenu similaire
Parcourir par canal
Automatisation
Les dernières nouveautés en matière d'automatisation informatique pour les technologies, les équipes et les environnements
Intelligence artificielle
Actualité sur les plateformes qui permettent aux clients d'exécuter des charges de travail d'IA sur tout type d'environnement
Cloud hybride ouvert
Découvrez comment créer un avenir flexible grâce au cloud hybride
Sécurité
Les dernières actualités sur la façon dont nous réduisons les risques dans tous les environnements et technologies
Edge computing
Actualité sur les plateformes qui simplifient les opérations en périphérie
Infrastructure
Les dernières nouveautés sur la plateforme Linux d'entreprise leader au monde
Applications
À l’intérieur de nos solutions aux défis d’application les plus difficiles
Programmes originaux
Histoires passionnantes de créateurs et de leaders de technologies d'entreprise
Produits
- Red Hat Enterprise Linux
- Red Hat OpenShift
- Red Hat Ansible Automation Platform
- Services cloud
- Voir tous les produits
Outils
- Formation et certification
- Mon compte
- Assistance client
- Ressources développeurs
- Rechercher un partenaire
- Red Hat Ecosystem Catalog
- Calculateur de valeur Red Hat
- Documentation
Essayer, acheter et vendre
Communication
- Contacter le service commercial
- Contactez notre service clientèle
- Contacter le service de formation
- Réseaux sociaux
À propos de Red Hat
Premier éditeur mondial de solutions Open Source pour les entreprises, nous fournissons des technologies Linux, cloud, de conteneurs et Kubernetes. Nous proposons des solutions stables qui aident les entreprises à jongler avec les divers environnements et plateformes, du cœur du datacenter à la périphérie du réseau.
Sélectionner une langue
Red Hat legal and privacy links
- À propos de Red Hat
- Carrières
- Événements
- Bureaux
- Contacter Red Hat
- Lire le blog Red Hat
- Diversité, équité et inclusion
- Cool Stuff Store
- Red Hat Summit