bluedesign - stock.adobe.com
The MyCareersFuture jobs portal took just eight months to build – a project that would have taken well over a year without the use of microservices.
This application architecture enabled the combined team from GovTech Singapore and Workforce Singapore to break down a large-scale project – the portal – into smaller components for multiple agile teams to concurrently develop, test and deploy services.
Microservices are fine-grained, loosely coupled, independently scalable and deployable application components that exist in their own separate containers. “Microservices improve reusability and allow us to release minimum viable products [MVP] early,” said Steven Koh, director of government digital services for GovTech.
The portal started with a “job search engine” microservice plugged in. Concurrently, the team worked on other microservices: one to wrap around authentication and another for the employer module. This shortened the portal’s development time to just four months, followed by four months of beta testing before its MVP release.
This ability to easily update, re-use and scale up development quickly is what attracts many to microservices.
“As the scope of these services are small, they can be easily understood and redeveloped from scratch if the need arises,” said Aashish Gupta, a principal analyst at Gartner. “It is common to observe hundreds of deployments in a single day in hyperscale companies.”
Besides using microservices for the MyCareerFuture portal, GovTech has been using microservices to develop a library of common services that different government agencies can use to build their applications, such as agency application programming interfaces (APIs) for authentication, notification or payments.
“Like Lego bricks that click together to form a larger structure, each microservice module performs an independent function, and yet is capable of interfacing with others. These microservices are part of the Singapore Government Technology Stack, a common digital platform shared across all government agencies,” said Koh.
Within the Association of Southeast Asian Nations (ASEAN) and globally, the adoption of microservices is progressing very quickly.
“Most organisations are already into the design and testing phases of moving some applications from monolithic architectures to microservices, with Singapore and Malaysia leading the charge in ASEAN,” said Alan Murphy, regional solution architect, APAC, Sydney, at Nginx.
By 2022, 90% of all new apps will feature microservices architectures that improve the ability to design, debug, update and leverage third-party code, according to IDC research.
“Traditional application architectures, operations and pace of development are completely inadequate in the digitised economy,” said Sherrel Roche, senior market analyst, for services research, IDC Asia-Pacific.
Sherrel Roche, IDC Asia-Pacific
Microservices environments shine when the product needs to evolve quickly, and have extreme agility and scalability. In contrast, monolithic applications can be ungainly, taking longer to react to today’s fast-changing business requirements.
Digital technologies have disrupted how businesses are run, causing them to continuously innovate and achieve faster time-to-market. Organisations are challenged to create new revenue streams, meet evolving customer needs, and lead in the increasingly competitive landscape, said Leo Da Silva, associate partner for the ASEAN Cloud Innovation Advisory at IBM.
“We see microservices being adopted by organisations that have legacy systems running on monolithic stacks that need to support new services in the digital ecosystem or to implement a different architecture to reduce complexity,” said Da Silva.
So far, business objectives have been the primary driver for adopting a microservices architecture, and it shines when used for customer-facing applications, data processing applications and applications that are constantly being updated and improved. It is often more likely to be adopted by organisations in the financial, government, e-commerce, telco, media and transportation sectors.
Barriers to adoption
While microservices can help improve an organisation’s agility, it is not a silver bullet that can solve all application development and testing issues.
“If you look at microservices to solve immediate problems arising from your IT architecture, it is sure to create more problems than it solves,” said Roche. “It’s not for everyone. Organisations need to first foster virtualisation adoption across their IT architecture and strengthen their DevOps culture before transcending to a microservices architecture.”
Gartner’s Gupta said prerequisites for doing microservices well are to have in place DevOps and agile practices that many organisations are still unfamiliar with. He added they are still using legacy infrastructure based on Java EE – a framework that is unsuitable for building microservices, which requires a modern, cloud-native application infrastructure.
New skills are required from the developer and operations teams, such as knowledge of container management technology and domain-driven design.
Aashish Gupta, Gartner
“The hardest part is data management, as every microservice owns its data store. This requires the synchronisation of information across services,” said Gupta.
Organisations also need to ensure there is service integration. “Your software integration needs to be awesome. Imagine trying to integrate two large, monolithic systems so that services are delivered in the timeframe and way that customers expect,” said Sachin Shridhar, vice-president of the customer success organisation group for Pivotal in Asia-Pacific and Japan.
For organisations with existing monolithic systems, transforming them into fine-grained microservices would result in lot of moving parts communicating with each other over the network. This would require comprehensive monitoring capabilities, tools and techniques to ensure secure, resilient communications between microservices.
“The resulting operational chaos, if unmanaged, could prove to be catastrophic, especially if organisations do not take an incremental approach to adoption,” said Gupta.
Another challenge is when bridging the gap between legacy and new architectures while maintaining current production systems, redesigning all parts of the application infrastructure to support new microservices platforms and possessing the relevant internal knowledge and management, said Murphy.
In the end, culture is possibly the biggest barrier to microservices adoption in ASEAN. “It is about the organisation’s commitment to break silos, automate software processes, initiate change management processes and to do away with human approval,” said Shridhar.
An organisation that has successfully adopted microservices is Singapore’s largest bank, DBS Bank.
The bank firmly believes that DevOps and microservices enable it to better serve its customers. DBS not only rearchitected its back-end systems and transformed its IT services model, but also adopted a new IT mindset to serve its customers with microservices when it embraced digital transformation. DBS has gradually rolled out sets of microservices that support a single business process.
Now, the bank can “plug and play” technologies from partners using APIs, and has started to leverage cloud technology and microservices to be even more agile, scalable and financial technology-like. This change has not gone unnoticed. Twice within three years, DBS was named the world’s best digital bank by Euromoney Awards.
Read more about microservices
- We look at how DevOps and microservice-based technology have advanced IT architecture.
- Distributed applications are the future of IT, but growth means growing pains. Tackle microservices issues with this expert advice.
- Microservices are an increasingly important way of delivering an alternative to traditionally large, complex and monolithic enterprise applications