Traditionally, enterprises built monolithic applications that contained functionality in a single program. While this approach simplified debugging and deployment, maintaining, developing and scaling monolithic applications proved to be a significant challenge. This became a significant handicap in the digital age.
To keep pace with digital innovation, many IT teams have adopted a microservices-based architecture by designing software applications as suites of independently deployable services.
Galo Gimenez, Distinguished Technologist and Platform Architect at HP Inc., and his team went through a similar transformation journey when developing the company’s core services and infrastructure (including, for example, identity management and content management, which are shared by business units across HP). Key considerations for Gimenez's team included security and encryption, developer productivity, and cost.
After extensive research, the team decided to adopt a microservices architecture with the help of Kubernetes container orchestration.
“Many teams at HP are already adopting microservices and container orchestration technology to deliver products faster and cheaper,” Gimenez says. “We decided to adopt Kubernetes because it offered a well-structured architecture along with a seamless developer experience—the teams working on the containers didn’t need to become experts on the entire architecture to be able to build and deploy applications.”
HP isn’t alone. Enterprises are increasingly adopting microservices to enable new levels of IT agility, scale, and innovation. Today, nearly 70% of organizations claim to be either using or investigating microservices, and nearly one-third currently use them in production.
Microservices can help a business achieve unprecedented levels of agility, empowering development teams to innovate faster by building new features and services in parallel. Yet these benefits come with increased complexity—many teams struggle to connect, secure, and monitor a growing network of microservices and increase the consumption of valuable microservices beyond the teams in which they were created.
Gimenez and his team experienced this challenge firsthand.
“As monolithic applications transition towards a distributed microservice architecture, they become more difficult to manage and understand,” he says.“These architectures need basic services such as: discovery, load balancing, failure recovery, metrics and monitoring, as well as complex operational requirements: monitoring, deep telemetry, rate limiting, access control, and end-to-end authentication.”
The solution to this challenge came in the form of Istio, a service mesh that helps simplify the complexities of microservices communications. It provides a standardized way to connect, secure, monitor, and manage microservices. A vital plane for service-to-service control and reliability, the service mesh handles application-layer load balancing, routing, service authentication, and more.
Other business units within HP can easily access these microservices-based core services and infrastructure using APIs. Sharing microservices is much easier; they can be exposed as APIs with other teams in the organization or with external partners and developers.
But when microservices are exposed as APIs, they require API management. API management enables enterprises to extend the value of microservices both within the enterprise and to external developers, with security, visibility and control.
Gimenez and his team adopted Apigee along with Istio and Kubernetes to maximize the power of its microservices architecture.