From Monolith to Microservice
Improving the value stream by transitioning from monolith to microservice architecture
The Change Agent
Competitive advantage is the name of the game. In a marketplace where disruption is constant, enterprises are eager to utilize technology that transforms, modernizes and—if they’re successful—differentiates their brand and offers unique value.
Transforming with the Cloud
Organizations that find ways to deliver their services better and faster can uncover new-found agility driven by the efficiencies gained through transformation—like improved value streams, new revenue channels, and time and cost efficiencies. They can use technology to build on their competitiveness in new and innovative ways.
Cloud is one of those transformative technologies. Companies are shifting to the cloud in droves because it is enabling them to compete harder than ever before. Cloud computing is undoubtedly shaping the future of IT—supporting sweeping changes for major tech and business disruptors through its delivery of AI, IoT, RPA and overall digital business transformation.
Applications are the gateway to continuous improvement. Improvement of the products and services delivered to the customer. More frequent, agile software releases are required to stay ahead of the competition. But monolithic, aging systems aren’t built to support the demands of today’s customers whose expectations are rooted in mobility, cutting-edge features, enhanced functionality and remarkable speed.
New application architectures through the cloud offer the prospect of speed and agility. Whether through features, functionality, design, accessibility or something in between, there is always room to improve and modernize applications to transform and digitally enhance the customer journey. Indeed, today’s reality is high-volume, high-competition, and new apps are being created faster than ever before. In fact, according to IDC, 500 million new applications will be created in a five-year span—this is equal to the number built over the past 40 years.2
Organizations are increasingly seeing the value of microservices—the architectural style—for developing new applications and distilling monolithic, legacy applications and systems. These systems are unwieldy and difficult to maintain, manage and quickly scale, not to mention they can become a liability and roadblock to progress.
By 2022, IDC predicts that 90% of all new apps will feature microservices architectures that improve the ability to design, debug, update and leverage third-party code.2
Cloud-native apps can be built as interconnected containers through a service mesh that runs reliably across environments. Compared to monolithic applications, microservice ecosystems are better suited for continuous integration and deployment, enabling better, faster and more dynamic iterating. Complex workloads can be brought into the cloud, then refactored and easily broken down by leveraging microservices running on containers (think Docker and Kubernetes). When microservices are built using a container infrastructure, you can run the environment anywhere with virtually unrestricted processing power.
The benefits—primarily portability, modularity and velocity—are achieved more rapidly. Containerized microservices also improve operations by isolating services that are easy to deploy, identify, monitor and fix in the event something goes wrong.
Nearly 8 in 10 leaders are currently using microservices.12
While it can be easy to glamorize buzzwords surrounding MSAs, their value cannot be overlooked. Although microservices are only one part of the big modernization picture, they enable organizations to improve and optimize their value stream.
With millions of customers worldwide, Amazon Web Services (AWS) is a market leader in cloud computing solutions and services. Through its cloud platform, AWS prides itself on delivering the most functionality and features, the largest ecosystem of customers and partner organizations, and as being the most innovative cloud platform provider. AWS discussed implementing microservices in a recent white paper, and we explore some of those insights here.
Improving Services Through App Modernization
So what’s the value of containers? It’s a simple question with a not-so-simple answer. AWS sheds some light on the value containers provide in an MSA and highlights some of the products they offer that enable containerization of microservices.
AWS: "A common approach to reduce operational efforts for deployment is container-based deployment. Container technologies like Docker have increased in popularity in the last few years due to benefits like portability, productivity and efficiency. The learning curve with containers can be steep, and you have to think about security fixes for your Docker images and monitoring. Amazon Elastic Container Service (Amazon ECS) and Amazon Elastic Kubernetes Service (Amazon EKS) eliminate the need to install, operate and scale your own cluster management infrastructure. With simple API calls, you can launch and stop Docker-enabled applications, query the complete state of your cluster, and access many familiar features like security groups, Load Balancing, Amazon Elastic Book Store (AWS EBS) volumes, and AWS Identity and Access Management (IAM) roles."14
But that’s only part of the equation. How does a service mesh fit in?
AWS: "In an advanced microservices architecture, the actual application can be composed of hundreds or even thousands of services. Often the most complex part of the application is not the actual services themselves, but the communication between those services. Service meshes are an additional layer for handling inter-service communication, which is responsible for monitoring and controlling traffic in microservice architectures. This allows tasks, like service discovery, to be completely handled by this layer.
Typically, a service mesh is split into a data plane and a control plane. The data plane consists of a set of intelligent proxies that are deployed with the application code as a special sidecar proxy that intercepts all network communication between microservices. The control plane is responsible for communicating with the proxies.
Service meshes are transparent, which means that application developers don’t have to be aware of this additional layer and don’t have to make changes to existing application code."14
And what about data’s role in all of this? How is it managed in monolith environments compared to microservices?
AWS: "Monolithic applications are typically backed by a large relational database, which defines a single data model common to all application components. In a microservices approach, such a central database would prevent the goal of building decentralized and independent components. Each microservice component should have its own data persistence layer.”14
As the company commanding nearly half of the public cloud infrastructure market, AWS offers a large portfolio of managed services that can help product teams build MSAs and minimize architectural and operational complexity.14Read the complete white paper
Microservices are the solution to a long-standing problem. Due to their nature, monolithic applications are large, robust and very complex systems that make it challenging to quickly deliver new features and enhancements. Customers have evolving expectations, and they demand fast and personalized service. Monoliths stand in the way of delivering an outstanding experience to this modern customer—and meeting those expectations could be the difference between you and your competitor.
Delighting Customers with Technology
How do we harness the ever-changing world of technology to delight our customers?
Microservices decompose apps into smaller, compartmentalized and more consumable parts. This breakdown of services creates room for new features and faster development. “Once you boil it down into smaller chunks, everything is enhanced,” TEKsystems Chief Principal Architect Jay Mozo explains.
“We look at legacy environments—which are typically static, rigid and subsequently only accommodate yearly or quarterly releases of new features/functions—and seek to render them down into more modular and stateless architectures that allow for quicker/faster iterations, ultimately improving our customers’ ability to succeed in their respective markets. Speed is the “name of the game” in many sectors and microservices allow for much faster delivery in this regard. Furthermore, since we now iterate the corresponding code-bases and feature-sets in a more continuous fashion, the ultimate quality of CX, UX and all-around app experience is also perpetuated like never before. Speed AND quality … it’s a win-win!” says TEKsystems Vice President Ricardo Madan.
The No. 1 business driver for microservices adoption: Increasing speed to deliver new features or functionality12
Mozo adds, “Think about a monolithic app. Make one small change, you have to test it out to make sure you didn’t break anything. With microservices, you identify which service needs to be changed, fixed or updated. You fix it and then you can isolate the testing to that one area.”
While it does not eliminate the need for full system integration testing, validating singular changes in isolation enables you to move through the development life cycle faster. From resolving that issue, you’re able to get things out to your customer at speed and scale—which makes all the difference between exceeding customer needs and lagging behind.
Containerized microservices power organizations’ digital transformation efforts by delivering better, more seamless and more iterative technology by enabling faster, more efficient deployments. The nimble nature of MSAs allows for agile changes to a code base behind the products supported by an application.
“You can only do that if the environment is extensible and amenable to changes on the fly,” Madan notes. Legacy application environments can become cumbersome and problematic, he said. At the start, you have storage, servers, infrastructure and teams of people providing support. “Very rarely over time do these app environments become more extensible, modular or transportable to other environments. Instead, they usually get more brittle, fixed and static,” he said. Whereas an MSA offers a holistic method to achieving modernization and improving the value stream, setting the company up for long-term success.
TEKsystems’ Tips: Advice to realize the value
- Modernization should be holistic. “Moving from monolith to microservices is one part of the puzzle,” Mozo says. Create a modernization roadmap that takes the entire cloud ecosystem into consideration.
- Decisioning should be streamlined and unified. “You need to have strong leadership. The decision tree can’t be big and bloated, and the silos can’t be fighting with each other,” Madan says.
- Teams should be lean, agile and revolve around the DevOps model. A small group of high-octane performers is all it takes. Key roles include developer, architect, ops engineer, an SDET and scrum master.
- Start with quick wins. Look for the minimum viable product that you can optimize to get a proof of concept you can use to gain confidence and demonstrate the value.
- Be service-minded.
- People—Make sure your people are up to speed and they’re able to adapt to changes
- Process—Most processes and governance should be automated
- Technology—Position yourself to accept, not resist, emerging technologies
- Anticipate evolution. “Companies should not only think about improving what they have today, but more importantly, think about what doesn’t exist today,” Mozo says. “That’s how successful firms differentiate themselves.”
- The business value is your North Star. “Technology changes so quickly. Focusing on the value stream to your customers holistically and modernizing that value stream is the best way to future-proof your investment,” Mozo says.
Jay MozoChief Principal Practice Architect at TEKsystems
Companies should not only think about improving what they have today, but more importantly, think about what doesn’t exist today.
Ricardo MadanVice President of Technology Products & Services at TEKsystems
You need to have strong leadership. The decision tree can’t be big and bloated, and the silos can’t be fighting with each other.
How microservices give the competitive edge
- Drive better, modernized products and services to improve the end-user experience
- Lower total cost of ownership
- Create new revenue streams
- Improve maintenance and portability
- Increase speed, agility and resiliency
Improved performance across KPIs
- Mean time to resolution
- Reduced cycle time
- Reduced rework
- Reduced buggy source code
- Reduced retest/redeploy time
- Number of features in production
- Cycle time to get features into environment
- Reduced number of vulnerabilities
Over half of leaders say the most important goal of using microservices: Drive better, modernized products and services to improve the end-user experience.12
Real-World Application: Comcast
Global media and technology provider, Comcast, successfully navigated cloud migration to innovate and scale its businesses in a time when cable subscriptions are on the decline.
Under its primary businesses—Comcast Cable (Xfinity) and NBCUniversal—Comcast delivers a range of communications services, including high-speed internet, video, phone, wireless, news and entertainment. With nearly 55 million customer relationships, Comcast has managed to sustain a leading position in the marketplace despite the growing popularity of cord-cutting in favor of streaming. “In the U.S., connectivity is the focal point of our customer relationships, enabled by our world-class network,” according to Comcast Chairman and CEO Brian L. Roberts.9
Leveraging AWS for its public cloud strategy and infrastructure, Comcast can build cloud-native products and solutions that not only meet their customers’ evolving needs but also help the company remain competitive. For example, Comcast’s X1 for Business is a platform that provides businesses (e.g., restaurants, bars, gyms) and their patrons with a cutting-edge viewing experience through unique features, including voice control, convenient navigation and picture-in-picture—ideal for live events such as sports. Another solution, Xfinity xFi empowers residential customers by providing them a personalized home Wi-Fi experience that they can manage and control. Running workloads on a cloud computing service keeps Comcast agile, nimble and positioned to continue innovating.8
While cable subscribers have been on a steady decline, the company projects exceeding 1 million net additions to its broadband customer base for the 14th consecutive year. Roberts acknowledges the tremendous disruption and change in the media, cable and technology landscape. “But that said, for years, we’ve felt that video over the internet is more friend than foe.”9
TEKsystems Cloud / DevOps Portfolio
We help businesses scale, flex and compete through sound cloud enablement solutions.
Hundreds of thousands of cloud infrastructure assets deployed to AWS, Azure and GCP
500+ successful cloud enablement, DevOps and application modernization projects completed
Thousands of on-premise workloads migrated to—and optimized in—hybrid and public cloud platforms
$10B+ of customers’ revenue generated off next-gen cloud-based apps we’ve delivered
Strategic Acceleration Partner to AWS with superpowers spanning DevOps, modernization and data and analytics—all woven across unparalleled scale
In good company
Transformational technologies demand equally transformative partnerships. TEKsystems is proud to deliver cloud solutions across the leading provider platforms to enable organizations’ competitive advantage.
The views and opinions expressed in this publication are those of the authors and do not necessarily reflect the views of TEKsystems, Inc. or its related entities.
The Change Agent
The cloud is undoubtedly shaping the future of IT and driving transformation. Through microservices architectures, organizations can deliver products and services to their customers quicker, better and faster. But overcoming their current legacy, monolith environments is no small feat.
We examine how Amazon Web Services can help organizations see the value of containers in a microservice environment.
TEKsystems Cloud Enablement and DevOps leaders Ricardo Madan and Jay Mozo discuss the challenges of legacy environments and how containerized microservices provide a holistic method to improving the value stream.
Don’t miss Ricardo Madan’s appearance on The Agile World podcast. Host, author and industry expert Greg Kihlström asks Ricardo about business modernization and transformation through the cloud and microservices.
Meet Our Contributors
- The Digitization of the World from Edge to Core, IDC
- IDC FutureScape: Worldwide IT Industry 2019 Predictions, IDC
- The State of Microservices Maturity, Neal Ford, Software Architect
- IDC Market Glance: Container Management, 2Q19, IDC
- Containers and Microservices and Serverless, Oh My!, Steven Vaughan-Nichols, HPE
- Containers vs. Serverless: Which Should You Use, and When?, Mike Chan, Thorn Technologies
- Reducing Cloud Complexity with Multicloud Management, DevOps and Automation, IDC
- Comcast Selects AWS as its Preferred Public Cloud Provider, Business Wire
- Comcast 2nd Quarter 2019 Results, Comcast
- Comcast Makes Emmy Award-Winning X1 Platform Available to Businesses Nationwide, Comcast Business
- Comcast Introduces Xfinity xFi: A New Way to Personalize, Manage and Control Your Home Wi-Fi Experience, Comcast
- TEKsystems Cloud-DevOps Survey, August 2019, TEKsystems
- Amazon Owns Nearly Half Of The Public-Cloud Infrastructure Market Worth Over $32 Billion: Report, Forbes
- Implementing Microservices on AWS, AWS