Although it comes with the aim of making services grow, from teams to code, things in the world of software are getting constantly smaller.
But smaller doesn’t always mean less, as Chris Garvey, Executive Vice President of Products at 2nd Watch argues as he says, “The point of getting smaller is to allow your organization to think bigger by getting the most advantage out of cloud resources and bringing more value to your customers and users faster.”
Microservices and the cloud
Garvey further speaks of how microservices become more significant when it comes to running applications in the cloud. He says: “By breaking applications into smaller and smaller pieces, you can support agility, on-demand scale, and frequent updates. It’s much easier and less risky to change, update or move around little pieces of an application than to shift or change the entire application in bulk.”
Because of these tiny changes, users will be mostly unaware of when application updates are happening, meaning that changes can be made quickly and easily.
Not only does this bring benefit to the user and the developer, but Garvey speaks of how DevOps teams will also be able to manage applications through “highly efficient DevOps methodologies”
Is it all good?
However, despite the positives that microservices hold, the Executive Vice President points out that all of this doesn’t equal an all-round perfect system. He says: “Suddenly, you’ve got tiny bits of code that relate to just one small piece of functionality supporting a business process. There are times when development teams build too many microservices in an application, when simpler is better.”
He, therefore, suggests using a service mesh to deal with this issue. The service mesh acts as a ‘go-between’ or ‘connector’.
“This technology sits on the network and handles all the communications between microservices and facilitates access to shared services and tools such as service discovery, failure detection/recovery, load balancing, encryption, logging, monitoring, and authentication. This allows your development teams to focus their time and effort on the services themselves, rather than writing the code or logic to discover all the services and physically network to them. The service mesh handles all the connections,” says Garvey.
The other benefits of using service mesh to deal with problems are that it reduces developer effort so they don’t have to worry about the communications between containers.
What to think about
When considering a service mesh, Garvey says that it can come with difficulties, but that overall, it could have a major positive impact on a set-up. He adds: “Adding a service mesh to your infrastructure will add complexity in some ways, yet it will pay off in spades by decreasing management and maintenance needs overall as you transition to a heavy microservices and cloud-native application environment. Done thoughtfully, service mesh technology can enable better speed, performance, flexibility and economics for your applications.”