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.
Sobre o autor
Mais como este
Navegue por canal
Automação
Últimas novidades em automação de TI para empresas de tecnologia, equipes e ambientes
Inteligência artificial
Descubra as atualizações nas plataformas que proporcionam aos clientes executar suas cargas de trabalho de IA em qualquer ambiente
Nuvem híbrida aberta
Veja como construímos um futuro mais flexível com a nuvem híbrida
Segurança
Veja as últimas novidades sobre como reduzimos riscos em ambientes e tecnologias
Edge computing
Saiba quais são as atualizações nas plataformas que simplificam as operações na borda
Infraestrutura
Saiba o que há de mais recente na plataforma Linux empresarial líder mundial
Aplicações
Conheça nossas soluções desenvolvidas para ajudar você a superar os desafios mais complexos de aplicações
Programas originais
Veja as histórias divertidas de criadores e líderes em tecnologia empresarial
Produtos
- Red Hat Enterprise Linux
- Red Hat OpenShift
- Red Hat Ansible Automation Platform
- Red Hat Cloud Services
- Veja todos os produtos
Ferramentas
- Treinamento e certificação
- Minha conta
- Suporte ao cliente
- Recursos para desenvolvedores
- Encontre um parceiro
- Red Hat Ecosystem Catalog
- Calculadora de valor Red Hat
- Documentação
Experimente, compre, venda
Comunicação
- Contate o setor de vendas
- Fale com o Atendimento ao Cliente
- Contate o setor de treinamento
- Redes sociais
Sobre a Red Hat
A Red Hat é a líder mundial em soluções empresariais open source como Linux, nuvem, containers e Kubernetes. Fornecemos soluções robustas que facilitam o trabalho em diversas plataformas e ambientes, do datacenter principal até a borda da rede.
Selecione um idioma
Red Hat legal and privacy links
- Sobre a Red Hat
- Oportunidades de emprego
- Eventos
- Escritórios
- Fale com a Red Hat
- Blog da Red Hat
- Diversidade, equidade e inclusão
- Cool Stuff Store
- Red Hat Summit