The Microservices World of Tomorrow…Today

Original: https://www.nginx.com/blog/microservices-world-of-tomorrow-today/

The current IT landscape is littered with buzzwords competing to be the next big trend that will dominate the future of the industry. Digital transformation, multi‑cloud, and predictive analytics are just a few of the topics that analysts proclaim organizations must consider in the near future, if they aren’t already moving in those directions. The truth is that technology is changing so fast that companies need to be extremely agile to stay ahead of the competition, no matter the industry segment. I’d argue that digital transformation involves focusing time and effort on pivoting towards new technology that can improve business outcomes.

Microservices is one technology that is leading the march towards digital transformation in the world of application development. Compared to monolithic applications, a microservices architecture combines individual services, each with its own distinct function. These microservices are modular components that cooperate (commonly communicating via API calls) to deliver the capabilities of a larger application. The separation means each microservice can be continuously developed and maintained by its own engineering team without coordination with other teams regarding release of new features (as long its API remains backward compatible). This indepepence eliminates some of the complexity inherent to monolithic applications, resulting in greater scalability, availability, and agility.

Microservices benefit greatly from an API gateway like NGINX or NGINX Plus, which provides a lightweight entry point for service communication. As noted in my previous post, the API gateway acts as an intermediary for access control and load balancing, among other functionality that enhances the flexibility of the architecture. This provides the granularity to monitor and scale specific services on the fly, without interrupting the rest of the application.

Moving towards a microservices architecture is part of digital transformation, but how does it impact things like networking and security? In a virtual machine‑centric world that’s more suited for monolithic applications, network security is typically enforced on a “north‑south” basis (between clients and servers). With the adoption of software‑defined networking, micro‑segmentation for traffic between VMs (referred to as “east‑west”) became a hot topic for application security.

With a shift towards container usage, VMs are no longer the smallest level of granularity. Individual containers within the same VM or bare metal host need some type of infrastructure to facilitate their communication. At the end of the day, developers want to build things that solve business problems, without having to worry about the infrastructure that is used to maintain the application framework.

Distributed applications based on microservices typically operate in a Kubernetes environment. Traffic management into and within Kubernetes environments is handled by Ingress controllers. DevOps or network engineers create an Ingress resource that defines rules, including the URI path. An Ingress controller then automatically configures a load balancer to implement the ingress rules.

NGINX is the most widely deployed Ingress controller, according to a survey conducted by CNCF (Cloud Native Computing Foundation), bringing its lightweight delivery model to the infrastructure required by microservices and allowing organizations to properly support and secure their modern applications at scale. The NGINX Plus Ingress Controller for Kubernetes provides advanced load‑balancing capabilities including session persistence for stateful applications and JSON Web Token (JWT) authentication for APIs.

Observing the huge amount of transformational change in the IT industry over the last number of years, one thing is certain: the only constant in IT is change. As organizations continue to ride the wave of public cloud, developers will find new ways to create and refactor applications. Trends will shift towards new technologies that change our perspective on how to solve business problems. NGINX has proved that it is positioned to help deliver these new experiences to users across the world.

Retrieved by Nick Shadrin from nginx.com website.