Microservices are on a roll, at least according to technology analyst IDC, which predicts that 90% of all apps will feature microservice architectures by 2022.
As organisations seek to improve their ability to design, debug and use third-party code, they are building what IDC describes as “hyper-agile apps” that are highly modular, distributed, continuously updated, and leverage cloud-native technologies such as containers and serverless computing.
In fact, the digital-native world has been leveraging microservices since early this decade, says Evan Bottcher, technical principal at technology consultancy ThoughtWorks. “Now we are doing a lot of work with the top end of town – banks, insurers and retailers,” he says.
The migration to microservices is seen as a way to help large companies move away from monolithic systems – not just legacy platforms – and large modern systems that can be hard to update and change.
Microservices, by comparison, offer a more modular architecture in which elements can be updated independently of each other to allow incremental refresh.
In its recent Predictions 2019: Software report, technology analyst firm Forrester says a sea-change is under way that will promote more widespread use of microservices.
“Microservice architectures are hand-crafted by PhDs today,” it says. “Over the next year, vendors including Amazon Web Services, Google and Pivotal will prototype platforms that will bring them to the masses. These digital application platforms will be open, distributed across multiple clouds, and provide integration and control services deployed as microservices wherever needed.”
Forrestert argues that Kubernetes, the container orchestration platform, along with a control plane, will also make microservices accessible to developers of all skill levels.
At the same time, because these microservices platforms are open and still emergent, IDC expects them to support lively competition among the open source components of a cloud-native reference architecture, and could even “blur the lines between container-based and serverless approaches – and accommodate progressions between the two”.
Top of the agenda
Bottcher agrees that the supporting technologies for microservices are maturing, and that the technology is top of the agenda for many digitally transforming companies. This has been encouraged in certain sectors by a more relaxed attitude by regulators.
In financial services, for example, the Australian Prudential Regulatory Authority recently released a paper that revealed a far more open stance on the use of cloud computing in banking and finance, opening the way for greater adoption of microservices and deployment at scale.
For the REA Group, a digital advertising company that has grown 20% a year for the past two decades, leveraging microservices has enabled it to refresh its website more often, according to its chief engineer, Tomas Varsavsky.
“We update our main website multiple times a day, thanks to the 800 microservices that have allowed us to scale,” he says. “They have allowed us to decompose the monolithic into smaller, more granular systems.”
More importantly, microservices are paving the way for organisations like REA to take an agile approach towards software development.
According to Forrester, microservices facilitate agility by enabling incremental change, allowing developers to break systems apart into smaller components that can be independently enhanced and replaced. Beyond this, microservices – when done with mature and robust architectures – deliver added benefits of scalability and resilience.
“One tenet of agile is to do things incrementally and often,” says REA’s Varsavsky, who admits there can be challenges in coordinating all the smaller changes associated with microservices. “That is hard with monolithic systems, but it’s easier with smaller systems.”
However, such challenges can be overcome by having good communications between teams, which will also go a long way to prevent microservices from devolving into some kind of digital Tower of Babel.
“Technology is a supporter of our business strategy,” says Varsavsky. “We needed to scale and the tools and practices of the past were not going to cut it.”
But in Australia, adoption of microservices remains patchy. Digital-native businesses, born in the cloud, are the front-runners – although some sectors that are racing to transform themselves are catching up quickly.
Australia lagging behind
While many organisations would love to grow at the speed of REA, ThoughtWorks’ Bottcher says large organisations in Australia are lagging behind their international peers in embracing microservices.
That, he believes, may be due more to the centralised infrastructure and decision-making that persists in many large companies, rather than a reluctance to embrace microservices.
Varsavsky adds: “Lots of the banks are talking about microservices, but lift the hood and there are more heavyweight systems and vendor APIs [application programming interfaces].”
In fact, there appears to be a huge gap between the haves and the have-nots, with businesses focused on digital transformation far more advanced in adopting microservices.
When Forrester quizzed IT managers about this issue last year, it found that 62% of companies that were bent on changing their business model used microservices or planned to do so shortly.
Read more about microservices
- Microservices technology can pave the way for companies to decentralise the way they build software to deliver innovation and reduce the cost of failure.
- Organisations in Asia tend to take a more cautious approach towards containers and microservicesin a region that has been saddled with legacy systems and other business priorities.
- Online property search firm PropertyGuru is at ease with microservices, containers and serverless computing, even as it grapples with legacy applications that were developed earlier on in its history.
- Singapore fibre broadband service provider MyRepublic is a big fan of containers and microservices as a way to develop more cost-effective applications that meet its needs.
Only 23% of companies where transformation was a lower priority were using microservices or had plans to do so, the survey showed.
Varsavsky says the test of how advanced a company is in embracing microservices is the number of deployments it can handle a day. Effective use of microservices allows business to roll out tens, even hundreds of updates a day through automated testing and production. “I can’t imagine the banks are doing that,” he says.
And for once, it is not access to skills that is keeping businesses away from microservices. According to Bottcher, the skills needed to implement microservice architectures are not much different from those needed by any modern software developer.
Varsavsky agrees, noting that the concept can be inculcated among developers. “You don’t need certification – software developers with agile thinking and open source thinking can work in microservices,” he says.
The bigger constraint, says Bottcher, is finding engineers for cross functional, poly-skilled teams.