Gibson Nascimento, Head of Solutions, EMEA at Sensedia, outlines the functions and benefits of Containers, Microservices and Service Mesh and explains how they can help businesses remain competitive and ahead of the competition
Businesses are facing unprecedented challenges as the pandemic forces them to re-think their business models, innovate quickly and find new ways to engage with new customer bases, all at a time when market disruptors continue to move into their sectors.
The winners will be businesses with IT platforms that enable them to respond instantly to market demands, trends and disruptors offering additional products and services, while guaranteeing online responsiveness, performance and reliability.
Software management tools such as Containers, Microservices and Service Mesh ensure IT platforms work to their optimal ability. But what do these terms mean and how do they work?
When new software is developed, the application and its dependencies (to connect to databases, file directories etc.) are embedded in a Container. Similar to a digital box, each Container should be managed to ensure it’s able to respond effectively to the demands that are put upon it, for example during Black Friday when an application may need to double or triple its power automatically.
Any increase in consumer activity will put greater pressure on the software’s Application Programming Interfaces (APIs) – tools that share data securely across business systems, mobile applications, cloud services etc. connecting businesses, partners and third-party providers. If these APIs cannot scale up to meet demand, the software will fail, losing potential customers and damaging reputations.
A Container management tool, such as Kubernetes, ensures the software can scale up and continue to be responsive. But is this enough?
Within Containers are additional pieces of software that work behind the scenes to ensure the IT platform and its applications can perform (e.g. the Cloud, databases, inventories, payment services etc.). These may also link to external supplier apps, such as Deliveroo or Expedia and their partnerships.
The framework connecting these separate or ‘decoupled’ elements is a Microservices architecture – a structure supporting interlinked Microservice software applications that enable them to communicate and be managed, modified, tested and deployed without affecting the wider operation.
Businesses that don’t need to integrate and build internal systems or extend their partner base typically use a monolithic architecture to support their IT platforms, in which all activity relates to a single piece of software/code. If changes or updates are needed in one area, the whole system is likely to be disabled while this is done.
Microservices works in tandem with Containers to ensure the software is not only scalable, but easy to maintain.
Everything within a Microservices architecture is interdependent. For example, a typical customer transaction, such as opening a bank account, will use four Microservices to complete the task:
* Account management;
* Documentation management;
* Risk Assessment; and
* Know Your Customer identity verification.
That’s just one transaction. An organisation offering numerous products and services, on a busy day, may have hundreds or thousands of Microservices connecting and communicating with each other.
Network connections and scalability issues can be managed by Kubernetes, say, but what happens if there’s an issue with one of the hundreds or thousands of responsive services? How do you identify what’s faulty and where the problem is within the Microservices network? Cue Service Mesh.
Service Mesh is an infrastructure layer above Containers that wraps around the Microservices architecture (like a mesh) and manages and simplifies all the complexities within the IT platform. It functions as a sidecar proxy – a tool that supports the main platform, but separates certain features, such as inter-service communication, monitoring and security, to simplify tracking and maintenance. Think sidecar attached to a motorbike i.e. part of the vehicle but separate.
By intercepting and managing the Microservices’ network traffic, it enables users to view and manage aspects of their infrastructure, such as who’s communicating (and where), processing times and memory utilisation.
This observability is a much-valued business tool, as it enables users to identify sales trends, areas of peak demand, where accounts are being opened, risk issues and so on.
Users can also manage and configure their network traffic, directing, for example, 90% of activity to one service provider while sending 10% to a beta version for testing.
In addition, Service Mesh gives peace of mind that all communication is secure, for example validating requests that come from outside a Container (such as new customer transactions), reducing the likelihood of a website crashing due to people bombarding it with multiple tasks.
Service Mesh is effectively a fresh pair of eyes and ears, monitoring and analysing overall performance.
The most popular version is Istio, but even this can still be a complex platform, requiring users to have specific knowledge levels. To simplify the process of managing multiple Microservices files, Sensedia has developed a graphical interface that enables users to better visualise network activity and tackle re-routing and security issues more quickly.
Containers, Microservices and Service Mesh are crucial tools to open up new revenue streams and increase customer retention.
Once a business is clear what’s happening within its IT platform, it can redirect network traffic, debug systems and launch new services without downtime, while the additional security benefits (e.g. in managing and protecting payment data, authorisation and authentication) give peace of mind to regulators, the business and its customers.
These tools may add an unnecessary layer of complexity for companies that are not reliant on systems to deliver new products and services, or for those using a monolithic application. However, organisations that do want to automate more can buy in a solution and use a vendor to manage a Service Mesh implementation or run everything in-house, in which case the necessary internal expertise must be in place.
Gibson Nascimento has over 14 years’ software development, agile methodology and architecture experience and is head of solutions, EMEA at global API firm Sensedia. He is an expert in Application Programming Interfaces, supporting multiple industries including retail, pharma, health insurance and banking. Sensedia, recognised by its peers as ‘visionary’ and a ‘strong performer’, has offices in Brazil, Peru and the UK.