Cloud

Five Things You Need To Know About Microservices

Scott Bils By Scott Bils Americas Application and Big Data Transformation Practice Lead January 19, 2015

The concept of microservices is rapidly moving up the hype curve in 2015 as enterprises look to further replicate the successful models of Amazon, Netflix, and other cloud-based disruptors. But as with many technology trends in the past few years, the lack of a commonly shared definition often creates confusion.

For those not familiar with the concept, microservices is essentially a software architectural design pattern. The fundamental premise of microservices is that value can be unlocked through decomposing large, monolithic legacy applications into a set of small independent, composable services that each can be accessed via RESTful APIs.

Take an e-commerce application as an example. Instead of providing all server-side functionality through a single, monolithic application, a microservices architecture would break the application into separate, independent services for discrete functions such as order processing, credit check, order fulfillment, order tracking, and so forth. The potential benefits from the model include:

  • Innovation. New versions of small independent services can be deployed more rapidly, making it easier to experiment and innovate.
  • Manageability. Smaller microservices code bases are easier for developers to understand, making changes and deployments easier.
  • Resiliency. If one of the microservices goes down, it won’t necessarily bring the whole application down as it would with a monolith.
  • Scalability. Individual microservices can be deployed and scaled independently of each other.

But just as with Cloud and DevOps, the devil is often in the details. Here are five basic things you need to know to separate the microservices hype from the reality:

1. Microservices are not a totally new concept. Microservices share a number of similarities with service-oriented architecture (SOA), which has been around for two decades.In fact, given that SOA basically calls for loosely coupled, independent services addressable through a common communications protocol, many suggest that differences are a matter of semantics. While that debate is a topic for a different day, is it helpful to note that while microservices focus on composing applications from services, SOA largely results in services composed of different applications.

2. Enterprises will be the early adopters. Microservices address a big company problem: the need to break up monolithic, legacy applications to better enable innovation and speed. Most startup applications don’t have the size and scale that create the need for microservices architectures. Netflix—the poster child for most recent cloud and application trends—was, in fact, originally deployed as a single, monolithic application before it started to migrate to a cloud-based microservices architecture in 2008. Unlike the case with most technology trends, enterprises—not startups—will be better positioned to drive early adoption of microservices architectures.

3. It’s about more than cloud. One attribute that makes the microservice model particularly attractive to enterprises is the fact that services can be deployed on independent technology stacks. While there are strong advantages to leveraging Cloud Foundry or other PaaS models to deploy and orchestrate microservices, individual services can still reside on legacy platforms, if necessary.

4. DevOps is a big part of the story. One of the primary drivers of microservices is the desire to decouple business functionality to allow innovation to be driven at the pace most appropriate to a given service. For market-facing microservices requiring agile, iterative models to drive experimentation and innovation, DevOps and continuous release models will be required to fully take advantage of service independence.

5. Microservices is not a free lunch. The benefits of the microservices model come at the cost of increased operational complexity, due to things like platform heterogeneity, the need for service discovery, and messaging and API call volumes. Availability and performance issues also can be created if auto scaling, load balancing and other automation tools aren’t used effectively. PaaS platforms can, however, help mitigate these challenges.

Microservices offer the ability for enterprises to turn the valuable IP locked in legacy applications back into a competitive advantage. As its value is inextricably intertwined with cloud and DevOps, microservices requires a well-thought-out approach that considers the desired target end-state platforms, skills and capabilities of the enterprise.

Scott Bils

About Scott Bils


Americas Application and Big Data Transformation Practice Lead

Scott is a Senior Director in the Dell EMC Global Consulting Services organization. In his role leading the Americas Applications and Big Data Transformation Practice he is responsible for services in the areas of Cloud Native Applications, DevOps, Big Data, Application Profiling, Application Retirement and Digital Workplace. Scott blogs and speaks frequently on the topics of application, cloud and ITaaS transformation.

Prior to Dell EMC Scott co-founded a leading boutique consultancy focused on helping large enterprises and service providers navigate the issues associated with cloud and ITaaS transformation. Scott was also the Founding CEO at Conformity, a venture-backed provider of the first enterprise-class management and governance platform for cloud applications. Prior to Conformity Scott held senior executive roles at Scalable Software and Troux Technologies, and also worked at McKinsey and Co. and Accenture.

Scott holds a Masters Degree in Business Administration from the University of Chicago and a Bachelor of Arts Degree in Finance from the University of Illinois at Urbana-Champaign.

Read More

Share this Story
Join the Conversation

Our Team becomes stronger with every person who adds to the conversation. So please join the conversation. Comment on our posts and share!

Leave a Reply

Your email address will not be published. Required fields are marked *

6 thoughts on “Five Things You Need To Know About Microservices

  1. Hi Scott, Thanks for your blog! It provides me us with a concise overview of microservices technology, use-cases, compelling reasons for the technology, and a balanced view (pros/cons).
    It’s a gem and I will work on internalizing the points you mention as I promote the benefits of Federation based solutions, esp. EHC and PaaS, with our Channel Partners.
    Much appreciated!
    Regards
    John

  2. I typically talk to three or four VP’s of Development each week and the subject of MicroServices comes up more frequently every month. Lately, one reason often cited for converting monoliths stems from the rising cost of quality assurance and the insurmountable task required to develop better automated testing for legacy monoliths. The thinking among these executives is that along with all the benefits mentioned in your post, it will be much easier to build automated testing for application bits once they are pulled into a microservice style framework.

  3. Hello Scott,

    Thank you very much. I find this article well explained about microservices and very useful informations.

  4. Scott, well stated and very actionable. I suspect much of the heavy lifting is with skillsets, cultural shifts, and patience across the IT ecosystem.

    – Ken