Sometimes breaking up a major task into smaller components can make it easier to tackle — or it can create a complicated mess. The evolving needs of cloud and mobile are compelling more enterprises to try microservices architecture as a software development method, says Mike Duensing, CTO of Skuid.
The intent is to streamline ways teams update and deploy software as businesses grow and change. He also says large enterprises are increasingly adopting such a model to simplify their companies’ access to data. While this is an unconventional, flexible take on DevOps, others say microservices can lead to micromanagement and other issues.
Duensing says the high pace of change at competitive businesses is a core catalyst for increased adoption of microservices architecture. He says as the number of users of software within an enterprise increases, the ability to keep up becomes a significant issue for DevOps teams. His company developed Skuid, a cloud-based platform for creating enterprise apps without coding. Microservices, Duensing says, is a way to rapidly access and handle data, which he also says is a critical component often missing in digital transformation. He expects the microservices trend to pick up in 2019 because of the potential to help developers quickly create custom mobile and web applications.
What microservices architecture aims to change
“Traditional architectures are very monolithic and don’t scale well,” he says. “If you change a big, monolithic system, you don’t know what’s going to break. You’re going to be more hesitant and your users are not going to get the functionality they need.”
For example, Duensing says, the process of modifying a mobile app and deploying full-scale updates to each user’s device tends to be far from speedy. It might be necessary to send those updates through mobile device management systems or an in-house store at the company. This can lead to users not installing the updates for weeks, he says. Microservices can be an alternative, more digestible way to deliver needed changes. “You can rapidly make enhancements on the backend that are going to impact your functionally on the mobile app front end,” Duensing says, “but it doesn’t require a full mobile app refresh or new deployment.”
Challenges to implementing microservices
Improved versatility and responsiveness may be the goals of implementing microservices, but there are some potential pitfalls to consider, says Carson Sweet, CEO of Cloud Passage. His company provides services to Fortune 1000 businesses and startups alike. He says microservices architecture is still in the early-adopter stage with a limited number of IT professionals available with the needed skillset to implement it.
Some preexisting areas of expertise could correlate to microservices though, Sweet says. These include service-oriented architecture, enterprise service bus, enterprise messaging buses, and messaging-orientated architectures. What makes them comparable, he says, are the flexibility and independent scalability of the components but even those areas can be challenging to work with.
“These were things that cropped up in the mid-2000s and were very popular,” Sweet says. That popularity and long-term adoption tapered off, he says. It is possible that microservices architecture might experience comparable attention that later cools down. “We could see history echoing a little bit here,” Sweet says.
How microservices are evolving
There has been an increase in container adoption, Sweet says, which is often a precursor to developing a microservices architecture for an application. He says while there is a contingent of companies exploring microservices, not everyone is not ready to go all in with it yet. Among the factors that he says slow adoption is a basic understanding of the issue. Enterprises may have aspirations about what microservices can offer but the reality can be more complicated than anticipated. “When you take an application from a traditional architecture and break it up into microservices, the way the performance environment behaves is very different,” he says.
One aspect that companies might not be prepared for is that microservices can change how performance is measured. Quality assurance and the underpinning concepts of architecture can also be different, he says. “On the surface, there are a lot of benefits to microservices architecture,” Sweet says. “In practice, it’s very difficult to do. We see a lot of folks charge down the road and hit a wall pretty quickly.”
The release of more case studies from companies that use microservices, he says, could help nurture its adoption. “There needs to be more of a base of knowledge around best practices, how to do it, and what you can expect in order for companies and engineering teams to get their heads around it,” Sweet says.
The potential for microservices architecture, Duensing says, fits in with corporate needs to evolve faster and deliver on digital transformation. “You have to have an API-first mentality and design architecture and breaking things down into discrete elements of functionality,” he says. The idea is to make inobtrusive changes that can breathe new life into older systems, Duensing says. “Those are key enablers for digital transformation.”