By ibmblogs and Mark Dymond
No doubt you’ve heard the buzz about microservices, and you are probably wondering what all the excitement is about. Far from just being another IT buzzword, microservices are absolutely crucial for application development on the cloud. I’d like to explain how microservices architecture can create new value for business – often in ways you had never previously imagined.
I’ve been in IT a long time. The ability to reuse code has been the holy grail of application development my entire career. Subroutines, object-oriented programming, object libraries, SOA – these were all supposed to be the magic bullet for reuse. We may not have reached the final answer, but microservices is one of the biggest steps forward in years.
Microservices architecture is an approach to software development that creates very small modules containing data and functionality that can be easily combined, reused and scaled in various ways. Application services are broken up into small, independent functions, allowing developers to rapidly build applications, add new features, or launch new services. When combined with containerization, microservices can scale up and down depending on the need of the moment.
An analogy for non-techies
I like to explain microservices architecture using the analogy of a house. Think of your house as an ‘application’ or business system. In traditional, monolithic application development, the front door and back door of the house are the only ways to get in or out. Accessing ‘functionality’ in the house, such as the kitchen, meant following the floor plan – through the front door, down the hall, and so on.
With microservices, the house itself is radically redesigned, so that individual functions such as the dishwasher or a bedroom are available in any quantity you want, in one simple step, from wherever you are. Having a weekend party? Get instant access to five dishwashers and three extra bedrooms, then scale back to normal operations when you’re finished. Reuse or recombine functionality in any way you want! That’s the power of microservice architecture.
Why microservices are here to stay
Complex applications built from a set of modular components are faster and easier to develop, adapt, and scale to meet demand, and take up fewer resources. Developers have the freedom to focus only on their piece of the project, which means continuous integration and development are built into microservices architecture, while virtually eliminating infrastructure risk. If one component fails, it’s easy to isolate and fix it while the rest of the application keeps on ticking. To recap:
- Microservices architecture splits large applications into (much) smaller pieces that exist independently of each other.
- Each microservice does one thing and does it very well.
- Microservices offer a fast, flexible and efficient approach to building, deploying, and updating individual parts of an enterprise application, streamlining application development and updates.
- Security based on industry standards is built into each microservice, so it’s already there when you recombine or reuse the component.
The opportunity is enormous
Many organizations have not yet grasped the opportunity that microservices architecture can provide. They hear the buzzwords, but they aren’t clear on the value it brings to the business.
Not only are microservices at the frontier of cloud application development, they are the most powerful way to move the valuable functionality in your legacy applications onto the cloud. No need to move your 50-year-old legacy payroll solution to the cloud all at once to experience the benefits. Take out the piece that is scalable and reusable for other business needs, turn it into a microservice, then build or refactor the rest of the system over time.
Imagine taking a great idea from your finance application, combining it with another idea from your HR application, and creating a new, powerful solution that nobody had thought of before. It’s possible with microservices architecture.
Business leaders ask us how they can get the same kind of competitive edge. We have been thrilled to help large enterprise clients rapidly gain new functionality and create new business models using containerized microservices architecture on the cloud.
In one sense, microservices is just a new word for reuse and scalability in IT, but these days, multi-million-dollar business are stitching together publicly available microservices with their own solutions and ideas to disrupt and topple entrenched industries.
Who knows what the next industry disruptor will be?