Today’s
organizations are feeling the fear of becoming dinosaur every day. New
disrupters are coming into your industry and turning everything upside down.
Customers are more
demanding than ever and will abandon the service that is too slow to
respond. Everything is needed yesterday to make your customers happy.
Now, there is no
time for organizations to implement huge enterprise applications which takes
months and years.
What they need is, more agile, smaller, hyper focused teams
working together to innovate and provide customer value.
This is where
Microservices have gain momentum and are becoming fast go-to solution for
enterprises. They takes SOA a step further by breaking every component
into effectively single-purpose applications.
Microservices, show
a strategy for decomposing a large project, based on the functions, into
smaller, more manageable pieces. While a monolithic app is One Big Program with
many responsibilities, Microservice based apps are composed of several small
programs, each with a single responsibility
Microservices are
independently developed & deployable, small, modular services. Each
component is developed separately, and the application is then simply the sum
of its constituent components. Each service runs as a unique process and
communicates with other components via a very lightweight methods like
HTTP/Rest with Jason.
Unlike old single
huge enterprise application which requires heavy maintenance, Microservices are
easy to manage.
Here are few
characteristics and advantages of Microservices:
- Very small, targeted in
scope and functionality
- Gives developers the freedom to
independently develop and deploy services
- Loosely coupled & can communicate with other services on
industry wide standards like HTTP and JSON
- API based connectivity
- Every service can be coded in different programming language
- Easily deployable and disposable makes releases possible even
multiple times a day
- New Digital technology can be easily adopted for a service
- Allows to change services as required by business, without a
massive cost
- Testing and releases easier for individual components
- Better fault tolerance and scale up
There are some
challenges as well, while using Microservices:
- Incur a cost of the testing
at system integration level
- Need to configure monitoring and alerting and similar services for
each microservice
- Service calls to one another, so tracing the path and debugging can
be difficult
- Each service communicates through API/remote calls, which have more
overhead
- Each service generates a log, so there is no central log
monitoring.
Netflix has great
Microservice architecture that receives more than one billion calls every day,
from more than 800 different types of devices, to its streaming-video API.
Nike, the athlete
clothing and shoe giant & now digital brand is using Microservices in its
apps to deliver extra ordinary customer experience.
Amazon, eBay are
other great examples of Microservices architecture.
GE’s Predix - the
industrial Internet platform is based on Microservices architecture.
So, if your IT
organization is implementing a microservices architecture, here are some
examples of an operating system (Linux, Ubuntu, CoreOS), container
technology(Docker), a scheduler(Swarm, Kubernetes), and a monitoring
tool(Prometheus).
The technical
demands of digital transformation, all front/back-office systems that
seamlessly coordinate customer experiences in a digital world is achieved by
Microservices as the preferred architecture.
Microservices help close the gap between business and IT & are
fundamental shift in how IT approaches software development and are absolutely
essential in Digital Transformation.
No comments:
Post a Comment