We started hearing about microservices a few years back. But now, microservices is a topic that’s popping up with increased frequency – and not just from industry disruptors like Google (News - Alert), Lyft, and Netflix.
For example, there were at least three interesting microservices announcements by various companies late last year.
• And around the same time TIBCO introduced Project Mashling.
“Microservices is an architectural style that enables digital transformation at speed and scale,” explains IBM Distinguished Engineer William A. Brown. “It’s a way for any company to digitally transform itself and effectively compete in an API economy.”
The microservices approach is a better one than the old style of business architectures and services, which were either too infrastructure-intensive or required too much latency to scale, Brown explains. Meanwhile, microservices focus on agility, flexibility, resiliency, and scalability.
This architecture allows for the decomposition of monolithic software solutions. That’s important because breaking down software into more bite-sized pieces allows developers to create and recreate, test, and introduce new applications, features, and services much more quickly. Brown says microservices can reduce development-to-introduction timelines from six months to a week or less. And that can allow for greater efficiency and new revenue opportunities.
“Our software journey has focused on virtualizing our network functions to give more speed and flexibility than the traditional hardware model,” Melissa Arnoldi, president of AT&T Technology and Operations said when the company announced its joint effort with IBM. “We’re now looking at the 2,200-plus apps in our IT system. And we’re starting to break them up into microservices to create agility, speed, and scalability that wasn’t possible before. Microservices are at the very core of our vision for the future of our network.”
What AT&T is Doing
AT&T and other companies in a range of verticals can develop new applications from the ground up using microservices. But many companies, including AT&T, also want to transform their existing monolithic applications using microservices, Brown says, and IBM’s Global Business Services can help with that.
The company is working with AT&T (among many others, such as businesses in the financial services vertical) to prioritize the key pieces of legacy applications that need to be broken into components. AT&T and IBM then map interfaces and create microservices architectural plans for individual components. And together the companies are assessing when to implement a circuit breaker component to monitor the microservices to eliminate potential downtime.
Microservices can take on a communications or adapter pattern, or a circuit breaker pattern to sense an increased traffic load and automatically create another instance of itself, says Brown, who also holds a CTO title at the company. There are also business microservices that do one thing very well, he adds.
AT&T is already using microservices to improve its development, operations, and networking efforts.
• The network operator employs microservices in its Open Networking Automation Platform, which is part of the company’s software-defined networking effort.
• AT&T’s Acumos artificial intelligence platform makes it easy to build, share, and deploy AI applications via the use of microservices.
• The company has created a microservice called Work Flow that accesses the needed resources to present field technicians with installation or repair directions relevant to their specific jobs.
• And AT&T used microservices to establish a single mechanism to create, manage, and track contracts across business products.
AT&T and IBM also talk about how their work will involve microservices related to credit check, inventory retrieval, and ordering.
“The impact of microservices on internal operations has led to a savings of several million dollars per year,” AT&T said. “Many teams can now introduce or recall many services in under 5 minutes.”
Microservices can also be used to expedite the introduction of new customer services and capabilities. AT&T says it plans to employ microservices to enable that for customers in such business verticals as health care.
Other Recent Efforts
In addition to its microservices engagement with AT&T, IBM is working with businesses across various industries to put in place microservices and APIs. For example, Brown says he’s worked on microservices efforts with banks across the globe. A large bank in Australia called on IBM to help it transform a legacy application to make the bank more accessible to its customers. The companies leveraged containers, microservices, and a platform-as-a-service environment to give the bank’s legacy applications and services new life. The solution also enabled the Melbourne-based bank to develop new greenfield capabilities. One of the new ones allows the bank’s real estate partners in New South Wales to more easily access its loan products and expedite the execution of loans.
As for the BroadSoft microservices mentioned at the top of this story, the UC solutions provider recently announced that now offers its Hub and Meet functions as microservices. That means they can be used across the entire BroadSoft application suite.
BroadSoft Hub is a cloud service that integrates BroadSoft Business applications (including contact center, team collaboration, and UC software suites) with other leading cloud business application to provide the contextual intelligences needed to increase productivity. BroadSoft Meet is a conference calling solution. BroadSoft the company, which Cisco (News - Alert) in the fall announced plans to purchase, works with many major communications service providers (like AT&T, BT, and Verizon) to bring its solutions to business customers.
As for TIBCO Software, a global integration and analytics software firm, its Project Mashling is a new open source project and ultralightweight microgateway built on the Go language. It allows developers to event-enable microservices.
“Microservices have quickly become a key architecture paradigm that developers are adopting, especially when building modern software applications that need to scale efficiently and take advantage of low-cost, pay-as-you-go serverless infrastructure,” says Richard Mendis, who’s in portfolio product marketing for integration solutions at TIBCO Software.
He adds that: “Related to this trend is another pattern called event-driven microservices that are even more loosely-coupled, asynchronous, and distributed. The new open source Project Mashling from TIBCO, built on a related Project Flogo, enables developers to quickly create purpose-built, event-driven API microgateways. Mashling has an ultra-low memory footprint, and can be deployed to any cloud, on-premise[s], or edge infrastructure, including the smallest IoT microcontroller.”
Practices & Standards
There are some differing opinions about what microservices look like. But there are also some widely accepted microservices practices and standards.
In IBM’s view, microservices are exposed by APIs, Brown says. Typically microservices are connected to a data repository to reduce latency on the backend, he adds. There’s also a relationship between containers and microservices because typically microservices will be deployed within their own containers. And, Brown continues, microservices have their own continuous delivery pipeline.
It’s also important to use a 12 Factor approach in creating microservices so they are ready to run in cloud or stateless virtual environments, Brown adds.
A December 2016 blog by Thanuj Ravindranath of Happiest Minds explains that 12 Factor app design can help:
• automate various development and deployment setups and minimize time and cost for new engineers joining the project;
• port applications across multiple execution environments by maintaining a clean contract with the underlying operating systems;
• deploy apps on modern cloud platforms like AWS, Google Cloud, Heroku, etc.);
• minimize divergence between deployment and production; and
• scale up without much change in the architecture, practices, or tools.
Netflix has helped the industry move forward with microservices by evangelizing and open sourcing its work on this front.
A December 2015 article by SmartBear Software notes that Netflix set out on its microservices journey in 2009. “Today, the Netflix application is powered by an architecture featuring an API gateway that handles about two billion API edge requests every day which are handled by approximately 500+ microservices.” (Again, that was two years ago.)
A ProgrammableWeb article posted in December explains that “The official Netflix OSS site currently lists more than 30 open source projects, some of them extending beyond microservices. The code helps developers handle several aspects of cloud platform development, such as big data analytics, string and serving data in the cloud, improving performance, and ensuring security at scale.”
Amalgam8 and Istio, which have merged, are other key industry efforts around microservices. Amalgam8 is a content and version-based routing fabric for integrating polyglot microservices. Its control plane APIs can be used to dynmically program rules for routing and manipulating requests across microservices in a running application. Istio is an open platform-independent service mesh that provides traffic management, policy enforcement, and telemetry collection. IBM, Lyft, and Google established Istio in May. And Lyft recently open sourced its Envoy L7 proxy and communication bus technology through the CNCF.
In Lyft Engineering’s September blog, Matt Klein writes about the contribution of Envoy to the CNCF. And in September 2016, he provided more detail on what Envoy provides. That includes a service mesh substrate with common utilities like circuit breaking, load balancing, logging, rate limiting, service discovery, stats, tracing, and more.
Given the adoption of microservices by both industry disruptors like Lyft and Google, and older but evolving companies like AT&T and IBM, it appears this architecture is well positioned today and well into the future.
“In my opinion [the microservices architecture] is the way that applications are developed,” IBM’s Brown says. “It should be the way both greenfield and transformations should be done moving forward.”
Forrester (News - Alert) analyst, Randy Heffner adds: “Digital transformation, APIs, and microservices all make headlines these days, and our data shows the relationship between them: Enterprises with top priorities like changing their business models or accelerating digital business are up to twice as likely to be investing in APIs and microservices. These key investments foster business agility, and agility is key to sustainable transformation.”