BACKGROUND IMAGE: iSTOCK/GETTY IMAGES
IBM, Google and Lyft have teamed up to deliver Istio, an open source microservices platform for developers.
The Istio project is a collaboration among the three companies to bring forth an open technology that provides a uniform way to connect, secure, manage and monitor networks of microservices on cloud platforms, regardless of platform, source or vendor.
The open source microservices platform supports managing traffic between microservices, enforcing access policies and aggregating telemetry data -- all without requiring changes to the microservices code. The service also gives developers new levels of visibility, security and control when building apps on the cloud, as microservices and containers become the de facto way to build apps, IBM said.
Indeed, Istio is a response to the changing landscape of application development using microservices, which are all about decomposing large applications into smaller, more manageable pieces, said Scott Laningham, a strategist for IBM developerWorks, in a video about the project.
"We've had this vision of trying to create a new paradigm around cloud-native applications based on microservices, and we've been on this journey for some time," Angel Diaz, IBM's vice president of cloud architecture and technology, told TechTarget. Diaz said the journey goes back to 2014, when IBM joined forces with Docker to bring containers to open governance. And it continued with Big Blue pushing the Open Container Initiative, supporting the Cloud Native Computing Foundation and bringing the Kubernetes container orchestration technology into the fold.
However, Diaz noted that IBM's interest in decomposing large applications into smaller pieces goes back almost as far as IBM's been in the software business.
IBM is drawn into this anew, as its large enterprise clients have begun to adopt containers and microservices as integral parts of their development environments. "The microservices approach is particularly well-suited to developing large-scale, continuously available software in the cloud," said Jason McGee, vice president and CTO of IBM Cloud Platform, in a blog post on Istio. Yet, managing the scale of microservices efforts can be problematic, which is where Istio comes in.
"As microservices scale dynamically, issues like service discovery, load balancing and failure recovery need to be solved uniformly," Laningham said. "That's why the Istio collaboration is so important."
The open source microservices platform helps software teams account for service discovery, load balancing, fault tolerance, end-to-end monitoring and dynamic routing for feature experimentation, as well as compliance and security, the three companies said in a joint blog post.
Tech from three companies
Built in IBM Research, Amalgam8 is unified service mesh that provides a traffic-routing fabric with a programmable control plane to help users with A/B testing and canary releases, and to systematically test the resilience of their services against failures, McGee said.
A service mesh is a layer of infrastructure that lies between a service and the network that gives operators the control they need, while freeing developers from having to address common distributed system issues in their code.
Google's Service Control provides a service mesh with a control plane that focuses on enforcing policies, such as access control lists, rate limits and authentication, in addition to gathering telemetry data from various services and proxies.
And Lyft created Envoy proxy to support its own microservices environment. The technology supported Lyft's production system spanning more than 10,000 virtual machines (VMs) handling more than 100 microservices.
"IBM and Google were impressed by Envoy's capabilities, performance and the willingness of Envoy's developers to work with the community," McGee said.
Combined efforts and early support
In fact, "it became clear to all of us that it would be extremely beneficial to combine our efforts by creating a first-class abstraction for routing and policy management in Envoy, and expose management-plane APIs to control Envoys in a manner that can be easily integrated with CI/CD [continuous integration/continuous delivery] pipelines," he said
So, in addition to developing the Istio control plane, IBM also contributed several features to Envoy, such as traffic splitting across service versions, distributed request tracing with Zipkin and fault injection. Google hardened Envoy on several aspects related to security, performance and scalability, McGee noted.
Charles Kingprincipal analyst at Pund-IT
Charles King, principal analyst at Pund-IT, said he believes the Istio announcement is interesting in terms of the technology and its three vendor partners.
"On the technology side, the problem that Istio aims to fix -- the challenges that developer teams face in terms of effective communications and keeping the moving pieces of various microservices working smoothly together are all too real. Istio's conversion of microservices into an integrated service mesh subject to programmable routing and a shared management layer is an intriguing approach that looks like it will address those key pain points and also enable microservices to scale more easily and efficiently."
Istio currently runs on Kubernetes platforms, such as the IBM Bluemix Container Service. IBM and Google plan to build additional support for platforms such as Cloud Foundry and VMs in the near future.
McGee noted that Istio has generated early support from several sources, including Red Hat with Red Hat OpenShift and OpenShift Application Runtimes, Pivotal with Pivotal Cloud Foundry, Weaveworks with Weave Cloud and Weave Net 2.0, and Tigera with the Project Calico Network Policy Engine.
Istio runs on Kubernetes platforms, with Cloud Foundry and others in the future.
IBM's involvement in Istio builds on its support for the Cloud Native Computing Foundation.
Istio connects, manages and secures microservices.