Everything you need to know about microservices in today's agile world
FYI, this story is more than a year old
Article by Will Bosma, vice president of APAC, MuleSoft
Today's business environment has never been more competitive.
Every organisation is focused on protecting and growing its market share, especially from new entrants that at times turn entire industries upside down. As a result, the need for speed and agility grows stronger every day.
Unless organisations can nimbly innovate and adapt at the speed of their competitors, they will be left behind.
To match the pace required in today’s business landscape and successfully push digital transformation initiatives forward, organisations are starting to become more composable.
Rather than relying on monolithic architectures, organisations are forming smaller, hyper-focused services - or microservices - that work in concert to deliver something much larger.
A microservices strategy has worked particularly well for digital-native companies such as Spotify. However, it’s important to note that one size does not fit all when it comes to microservices.
In larger organisations with more calcified environments, for example, it’s often harder to embrace a nimble microservices strategy that demands frequent changes.
So why are microservices growing more popular, what challenges follow and how can organisations get started?The business benefits
All organisations are focused on delivering the best possible customer experiences, as customers today will abandon a business that is too slow to respond.
It requires IT to deliver solutions that can be quickly adapted across channels to meet changing consumer expectations. To achieve this, IT needs to shift how it approaches software development.
Microservices are much more than a technology play. The approach drives a fundamental shift in how IT approaches software development. Microservices break down monolithic applications into smaller, independent services that are developed, deployed and maintained separately.
Therefore, microservices can be consumed and reused by other services and applications via APIs without direct coupling.
The microservices approach allows IT teams to make incremental changes to infrastructure much more quickly and more frequently, thus improving business agility. It can also be less disruptive, as it removes the need for large-scale upgrades.
Deployed wisely and supported by a management platform, microservices can add significant benefits. For example, Unilever is supporting operations across its global portfolio of 400 brands with a microservices approach.
Pairing microservices with APIs, Unilever created an application network that connects its legacy systems such as SAP with its e-commerce applications such as NetSuite and Google Analytics.
As a result, Unilever is able to reduce development time for new e-commerce applications and deploy three to four times faster. Even though Unilever is a 130-year-old brand with monolithic systems, a microservices architecture allows it to adapt at the pace of its more nimble competitors.The complexity challenge
While a microservices strategy can deliver significant business benefits, it can also cause challenges. Rather than having 2,000 applications in place, an organisation might well end up with 20,000 microservices.
This increased complexity can have significant ramifications when it comes to management and security. Additionally, products developed with a microservices architecture will need to be integrated with legacy technology stacks, and if this is done poorly, it can create technical debt and more operational costs for IT.
For these reasons, it is important to pair microservices with an API strategy. With APIs, organisations can expose the functionality of microservices as products.
Therefore, developers both inside and outside the central IT team will be able to create new solutions in a manageable, reusable and governable way, eliminating the security concern around having too many applications that cannot be controlled.
Using APIs to manage microservices will also allow developers to quickly plug and unplug microservices into their application networks, which connect digital assets and capabilities across the business.Getting started with microservices
A lot of organisations have already started their journey down the microservices path.
For those yet to begin, the first step is to be crystal clear about the anticipated outcome. If there's no clear goal, it will simply become a technology play that adds questionable value.
With a goal in place, the IT team then needs to work to distil existing processes down to their lowest level of granularity. This will allow microservices to be developed that map effectively to actual processes and workflows.
The third step involves deploying the underlying platform needed to support the new microservices architecture. Without this platform, the services themselves are likely to become linked in such ways that their reuse becomes difficult, if not impossible.
This platform streamlines management and allows links between microservices to be created and terminated quickly and easily as business requirements change.
Additionally, during the journey, CIOs will need to explain the business benefits of a microservices strategy to business leaders, including the CEO, CFO and board, to ensure sufficient resources are made available for rapid development and deployment.
At times, this may require the CIO to show how his or her industry is being disrupted and the perils that lie ahead if the company remains stagnant.
Microservices will continue to grow in popularity this year, as more companies realise significant business benefits.
In today’s hyper-competitive business environment, it’s important to stand out and provide delightful customer experiences. Microservices are a key way to accomplish this, if done in a holistic and manageable fashion.