Over a million developers have joined DZone.
{{announcement.body}}
{{announcement.title}}

Microservices Are Changing Application Development Right Now

DZone 's Guide to

Microservices Are Changing Application Development Right Now

Increased microservices adoption is being driven by mesh networks like Istio. Read on for more insights.

· Microservices Zone ·
Free Resource

To understand the current and future state of microservices, we spoke to 25 IT executives from 21 organizations. Consistent with the early adoption of the technology, the answers to our questions were diverse. We asked respondents, "How have microservices changed application development in the past year?" Here's what they told us: 

Adoption

  • We are seeing an accelerating rate of adoption. Tools, systems, and platforms making it easier and reducing the downside making it more consumable. A spectrum of architectures – some apps don’t need to change frequently, others do, especially if they are brand new. Issues in the middle of the organization has held a couple of applications held back. The business unit wants more features and enhancements. This is the biggest opportunity for the refactoring process. Take pent-up demand and use cases to pull out portions of the larger monolith and piece together in more manageable chunks. We see a lot of decomposition happening in the middle.
  • Gradually, the whole FaaS has had an unexpected influence and impact on where the industry is moving. A year or two ago microservices concluded containers was the way to go, K8s was the hot new thing. In past year people are realizing a migration to microservices and containers involves a lot of complexity. There so many new patterns and tooling to learn people have realized it’s not as easy, simple, or immediately rewarding. The serverless and FaaS movement has been popularized by Lambda with people thinking they can move to microservices without the complexity of containers and K8s. There's been a shift in the best way to move to microservices.
  • Adoption of K8s had had a dramatic effect to state declaratively what the architecture application is. This addresses a big challenge of microservices, a lot of moving parts. Deploying and testing on the architecture can be challenging. K8s makes it easier. Make it part of application definition. If you have trouble deploying monolithic apps on a regular basis it will multiply with microservices. K8s is a valuable tool to automate the process.
  • There have been changes in the ecosystem. Standards are emerging that make building microservices easier with fewer choices. K8s, OpenTracing observability, and security at different layers. Things are becoming more mature. Able to develop with fewer decisions. A lot of the tax of developing and monitoring are being taken off the table, so developers can focus more on developing the software.
  • We've seen: gradual adoption. More about functions Lambda and serverless architecture. It's the next step for being more aggressive, separating functionality into smaller and smaller chunks.
  • In the last 18 months, we've seen a significant shift with a lot of organizations against moving to PaaS and cloud are becoming more comfortable as they break services into microservices in the cloud. We're seeing a lot of adoption in financial and technical organizations. Security is one reason why. Large monolithic apps required big cores. Now with smaller pieces, we see a gradual shift to small sets of components into off-prem environments to meet the demands of their customers.
  • Adoption is accelerating with a confluence of events and the increased realization of the need. All those things enable each other – containers are designed for microservices. This methodology only works with high-level automation, it cannot scale manually.
  • In our world, microservices were still relatively sparse one to two years ago, especially when you’re dealing with enterprise IT organizations that were used to different, more traditional software. Now, thanks to the education efforts of major analyst firms and many real-life examples and case studies, we’re seeing a surge in adoption.

Mesh/Istio

  • The rapid adoption of mesh network management (Istio) might help the contract management portion of it – how interfaces are defined and managed. Building, managing, deploying for microservices simplification has to be clean and well-articulated. Deliver decoupling out of the box. We plug into everything standard out of the box.
  • There has been more adoption such that now microservices are mainstream. It was on the fringe in 2013, now they are comfortable letting IT architects introduce microservices into IT environment. Frameworks like Kubernetes (K8s) have matured to help you run. Pivotal Cloud Foundry helps you run and focus on the business. Transition to microservices-oriented networking Istio from Google shifted thinking about sockets to microservices. Easily securable.
  • The rapid adoption of K8s and its ecosystem of related technologies has created a wave of new tooling for CI/CD automation. The concept of a service mesh, as an example, sprang from nothing last year and is continuing to generate intense interest and even some adoption. However, these technologies are still in their infancy, and adopters are discovering hidden pitfalls along the way that suggest patience as the industry sorts itself out.
  • The application logic can now reign supreme for developers. Building smaller units which are interconnected over TCP/IP communications allows for additional layers to be added without changing the application. For example, encryption and authentication can be moved out of the application and handled as a common concern - we’re seeing projects like Consul Connect and Istio focusing on this approach. This allows developers to focus on application logic while using best of breed solutions for encryption, authentication, service discovery, tracing etc. What’s more, these layers can be replaced or reconfigured without changing the application.

Other

  • We see a dramatic shift that microservices have brought with them. Ask for full-stack engineers – microservices, containers, integration scripts, CI/CD. Want engineers with the skill to do it. We've done away with classic QA. We expect developers to do QA. Developers can test microservices independently and test for security before they push code to merge. You have the opportunity to run a lot of different tests before merging into the main branch.
  • We're seeing many teams push code multiple times a day. Deploying features with CI/CD. Microservices are a key element in this approach to code delivery.
  • We're seeing better tools as more people get experience with microservice. Event-driven applications need Kafka. OpenTracing is taking off for observability. More about best practices and patterns. Looking into service mesh to take out shared responsibility put in a container and everyone can use the same sidecars. Serverless is allowing us to go even smaller.
  • Right now we are nearing an inflection point recognizing the power of it the fundamental shifts they can make. Developers are thinking about it and looking for use cases in which they can implement.

Here’s who we spoke to:

Topics:
microservices ,software architecture ,enterprise ,service mesh ,istio

Opinions expressed by DZone contributors are their own.

{{ parent.title || parent.header.title}}

{{ parent.tldr }}

{{ parent.urlSource.name }}