Microservices
Recently our development team had a small break in our feature delivery schedule. Technical leadership decided that this time would be best spent splitting our monolithic architecture into microservices. After a month of investigation and preparation, we cancelled the move, instead deciding to stick with our monolith.
For us, microservices were not only going to not help us; they were going to hurt our development process. Microservices had been sold to us as the ideal architectural for perhaps a year now. So we were surprised to find out they weren’t a good fit for us.
Read more
From Monolith to Microservices
To tackle this monolith, we initially began exploring how the codebase was built. It had a high level of complexity with too many features baked into the all-in-one code, as well as thousands of unit tests. Without consistent APIs, many nonstandard integrations, or one-offs, had been deployed.
Tight coupling of integrations existed at every level, including on modules and datastores, without boundaries. For functional test cases, quality took a big hit. Lot of gaps were present and band-aid fixes often led to further quality issues.
Read more
Using Machine Learning to Ensure the Capacity Safety of Individual Microservices
Reliability engineering teams at Uber build the tools, libraries, and infrastructure that enable engineers to operate our thousands of microservices reliably at scale. At its essence, reliability engineering boils down to actively preventing outages that affect the mean time between failures (MTBF). As Uber’s global mobility platform grows, our global scale and complex network of microservice call patterns have made capacity requirements for individual services difficult to predict.
Read more
Intro to Apache Kafka and Kafka Streams for Event-Driven Microservices on DevNation Live
Scalability is often a key issue for many growing organizations. That’s why many organizations use Apache Kafka, a popular messaging and streaming platform. It is horizontally scalable, cloud-native, and versatile.
It can serve as a traditional publish-and-subscribe messaging system, as a streaming platform, or as a distributed state store. Companies around the world use Apache Kafka to build real-time streaming applications, streaming data pipelines, and event-driven architectures.
Source: redhat.com
Presentation: What We Got Wrong: Lessons From the Birth of Microservices
Ben Sigelman talks about what Google got wrong about microservices, the lessons learned along the way and how to apply those lessons today.
Source: infoq.com
Presentation: From Winning the Microservice War to Keeping the Peace
Andrew McVeigh explains how transitioning to a microservice architecture went for a top-tier video service & also a major games studio. Operating and evolving such significant systems reveals a number of challenges: monitoring and root cause analysis, cascading failures and scaling for major events are just some. McVeigh discusses how to avoid common pitfalls when working with microservices.
Source: infoq.com
The taming of microservices
The cost of managing microservices and the dependencies between them increase exponentially as their numbers rise. But things don’t have to be complicated. By making it easier than ever to add powerful new microservices, Kubernetes has become a driving force behind companies breaking up monolith apps and transforming them into microservice architectures.
But as their numbers grow, the cost of managing microservices and the dependencies between them increase exponentially as well. This makes things more complicated than many companies have bargained for. I recently spoke at a conference about the right way to build a cloud-native CI/CD to make managing microservices – well, manageable.
Read more
Solving the challenges of debugging microservices on a container platform
Microservices have become mainstream in the enterprise. This proliferation of microservices applications generates new problems, which requires a new approach to managing problems. A microservice is a small, independently deployable, and independently scalable software service that is designed to encapsulate a specific semantic function in the larger applicationl.
This article explores several approaches to deploying tools to debug microservices applications on a Kubernetes platform like Red Hat OpenShift, includingOpenTracing, Squash, Telepresence, and creating a Squash Operator in Red Hat Ansible Automation. Importantly, identifying the root cause of issues in microservices application can have a direct business impact. In fact, 40%2to 90%3of total software costs of are typically incurred after launch.
Read more
MicroProfile, the microservice programming model made for Istio
MicroProfile is a fast-growing open community. It is a warm and friendly platform for developers to come together to evolve programming model for cloud-native microservices. Since it was established in June 2016, it has released 6 overall releases and 16 individual specification releases in less than 2 years.
Thispage shows which application servers support MicroProfile at which version. Open Libertyis seenas one of the leading implementations of MicroProfile and determined to implement MicroProfile’s latest releases rapidly.
Read more