Microservices 2018 Surprises and 2019 Predictions
Microservices will see continued growth in adoption as enterprises determine where they are most appropriate.
Join the DZone community and get the full member experience.Join For Free
Given the rate with which technology is changing, we thought it would be interesting to ask IT executives to share their thoughts on the biggest surprises in 2018 and their predictions for 2019. Here's what they told us about microservices:
The excitement around Envoy, LinkerD, and Istio was a year or two earlier than I expected. Teams that are using Kubernetes are really interested in how to manage microservices more efficiently.
The speed at which Kubernetes has taken a foothold in the microservices, containerization, and Cloud Native fronts is staggering. Forward-looking operators are recognizing the differentiation and agility afforded to them by adopting a Cloud Native environment using Kubernetes as its cornerstone.
No clear microservices market leader has emerged yet. No vendor is associated with microservices in the same way that APIgee or Mulesoft were associated with APIs.
In 2019, running stateful containers at a scale will be the biggest challenge in the evolution of microservices architectures. Most current storage solutions cater to virtualization vendor platforms (VMware, etc.) but aren’t a great fit for container technology. In 2019, the problem to solve for is finding one storage solution to support these completely independent virtualization mechanisms so that they can co-exist efficiently and seamlessly.
Containers need access to persistent storage and the data within. Containers must work with scale-out storage for operational and lightweight analytics.
Microservices will just be called services because all services are microservices. Micro is the new normal.
In 2019, microservices will continue to evolve to include event-based architectures. For example, specific services will increasingly require compatibility with monolithic applications like Mesh App and Services Architectures (MASA), which leverages data services to listen to events and react to them in real time.
We believe microservices adoption will continue to grow briskly in 2019 because of its promise of speed and scalability. Large, mission-critical code bases need to be iterated, not reinvented, and a microservices approach reduces risk and allows greater attention to a specific concern without negatively impacting the whole architecture. Service meshes, notably Istio, will gain significant traction as a means of managing the complexity of these deployments. Kubernetes will dominate the enterprise. The tools ecosystem in support of all aspects of microservices will explode. Observability will remain important, as architects continue to adjust to having multiple entities on which to focus. Lastly, it’s natural from a technology perspective to expect that we will begin to see organizations experience some notable failures with microservices adoption. In the face of potential failures, microservices adopters will need to remain resolute, or address the reality of retreating to the monolith.
I think microservices was "buzzworthy” in 2018, and I think this will continue to be a topic that garners a lot of discussion and attention. It is a major paradigm shift, on the order of the old Internet frontier days.
2019 will be the year that IT wakes up to the fact that microservices architectures are no longer forward-looking, but are here today. IDC recently predicted that by 2022, 90 percent of new enterprise applications will be microservices-based, and in 2019 a lot of IT departments are going to be scrambling to figure out how to get their virtual machine infrastructure refactored for the realities of supporting microservices.
I think we might see some new open source projects that look to consolidate the broad set of tools that are needed today to manage containerized applications.
Production-grade installs via Kubeadm remain a work in progress, though they should be here “any minute now." Expect some casualties from the vendors who primarily focus on installing K8s and do not provide any day two value.
Microservices walk-back. Many companies who have experimented with microservices will walk back toward more traditional middleware approaches. We will see a resurgence of well-managed, governed API platforms as many companies will find the complexity and overhead begged by microservices is not warranted for many of their use cases nor supportable in their organizations.
Migration of enterprise legacy workloads to containers will increasingly happen in 2019. The advantage is that these containers are designed to match the previous legacy environment, massively reducing the technical challenges, and minimizing potential rewrites of applications. Many believe the IBM/Red Hat deal of late 2018 is part of a major strategic move by IBM to capture the market.”
As Kubernetes adoption grows, companies will start realizing that it is not enough to simply adopt it, but that they will need to change all aspects of their processes, tools, and architecture. Kubernetes will be a big push for deep company-wide changes. 2019 will be remembered as the year when status-quo became unacceptable. We’ll start moving towards principles enforced by Kubernetes (e.g., microservices, continuous delivery, immutable everything, Cloud native, etc).
Microservices Architecture is common practice these days. When everyone is trying to be agile, delivering quickly and intelligently, microservices are the way to go. Maintaining a multi-services environment requires inter-services communication or Application Programming Interface. These APIs are now part of the growing attack surface available to malicious actors, so we are going to see more attempts to abuse API vulnerabilities, while the security industry will work on defining the security measures needed for APIs.
In 2019, we will start to see the determinants of rushing to adopt microservices. One danger of moving to service-based architecture is people don’t fully understand how large services can become. There are groups creating microservice architecture that instead of one monolith system, they created 10 monolith systems. This makes their services too large and doesn’t fix the problems of a monolith. On the other hand, those services might make your services too small, which means all your complexity goes from being a team problem to a system problem that’s harder than your average developer to understand.
Microservices are talked about very frequently and although conceptually provide some good benefits for application developers, they also bring considerable operational and support complexity that comes with distributed systems and potential performances issues. The biggest surprise is how they've started to be adopted as a standard architectural style more broadly than they should.
Another of the biggest surprises is how quickly the pendulum has swung away from systems developed as integrated applications. These are now often referred to as “monoliths” and have negative connotations.
We’ll see better service orchestration tools and increasing granularity of microservices.
Next year will see more examples of Conway's Law as companies restructure the organization of their engineers to promote the system design they are after. Additionally, I think we'll see more players in tooling around microservice deployments in order to reduce the cost in complexity as companies continue the trend of migrating from monoliths to microservice architectures.
In 2019 we will see a shift towards a DevOps-focused, Cloud Native, Network Operating System (NOS) with all protocols and management functions built as microservices with immutable containers. By doing so, network operators can natively leverage the capabilities of continuous integration and continuous deployment (CI/CD). With the NOS built of containerized microservices, operators can deploy only the features they need, reducing complexity and security attack vectors, upgrade components during production with no fear of disrupting other services, and use Cloud Native tools such as Kubernetes to natively manage these network services. Additionally, we need to start leveraging the large open source community around microservices to create innovative components for the network.
Microservices are maturing from a trend to a best practice. Strategies for co-existing microservices and monoliths will become more important and prominent.
Microservices might be entering the trough of disillusionment stage. I expect that in the next year we’ll start to see the testimonies of teams and organizations that failed when adopting microservices. We’ll realize that microservices is not a silver bullet (nothing is), but it’s very useful in some particular situations. Expect some consolidation on the best practices.
Opinions expressed by DZone contributors are their own.