Uncategorized

What You’ll Need to Know About Moving from Monoliths to Microservices

I had the privilege of speaking at the STACK 2018 Developer Conference, the first-ever developer conference hosted by the Singapore Government Technology Agency (GovTech). It was thrilling to see more than 1,000 developers, programmers, and technologists coming together during the two-day event in early October. Alongside top technologists including Gregor Hohpe from Google Cloud, Steven Murawski from Microsoft, and Olivier Klein from Amazon Web Services, I gave a keynote presentation titled “From Monoliths to Microservices.”

In this post, I’ll share more about what businesses need to know before deciding if they should make the move from monoliths and microservices. But before we dive into that, let’s find out what are some differences between the two models.

Monoliths? Microservices?

“Microservices” refers to an architectural approach that independent teams use to prioritize the continuous delivery of single-purpose services. This microservices model is the opposite of traditional monolithic software which consists of tightly integrated modules that ship infrequently and must scale as a single unit.

Although the monolithic approach works fine for some organizations and applications, businesses today are turning to microservices to reap greater agility and scalability.

 

When Should I Make the Transition?

The challenge faced by many businesses is realizing when they should start making their move towards microservices. While implementing a high-performing microservices architecture may improve agility, system scalability, and reliability, enabling teams to deliver value faster, organizations don’t actually have to change anything if their current monolithic architecture is not holding their business back.

Here are some factors businesses should consider before they start:

Organizational Readiness 

Teams must be ready to embrace an automation-centric, continuously-delivered approach to building software. Your engineers can’t be working on multiple microservices as that will invariably result in the optimization of factors that may not align with what's best for each microservice.

It’s crucial to ask yourself these questions before embarking towards microservices: Is your company ready to eliminate functional silos and have self-sufficient teams that build and operate services? Can your change management process tolerate a deployment pipeline with no human involvement?

Developers

Not every application requires the microservices treatment. In the rush to “microservices all things,” developers may end up spending significant coding time on existing applications that do not have the business imperative to change.

Coordinated Services

Microservices are loosely coupled to one another and are constantly changing. In many cases, the technology you have in place today to handle service discovery, load balancing, and messaging are inadequate for the dynamics introduced by microservices. As such, it’s essential to consider if your services are well coordinated.

A fellow Pivot, Denise Yu, has created a comprehensive yet easy-to-understand comic which summarized how businesses can transition from monoliths to microservices. You can read more here.
 

It Takes Two Hands to Clap

It came as a pleasant surprise when a handful of attendees approached me after my presentation, asking for more insights on monoliths and microservices. For me, it was great to see that the topic has garnered massive traction from Singapore’s developer community!

From my discussions with these attendees, it’s heartening to hear their enthusiasm and their aspirations in supporting Singapore’s economy through their own efforts by upskilling and improving knowledge on new technologies and processes. That being said, it is challenging for businesses and individuals to make a significant difference within the industry if there is little to no support from the government.

As Singapore’s Prime Minister Lee Hsien Loong had said during his welcome address, “To drive our digital transformation, the government has to develop strong engineering capabilities and nurture a deep engineering culture.” Indeed, Singapore has shown a great example whereby the government is a great supporter in fostering an innovation culture and developing its local talent. Under the government’s Research, Innovation and Enterprise (RIE) 2020 plan, the nation is investing in its smart future, with around S$4 billion (US$2.8 billion) to be used for boosting research and innovation each year from 2016 to 2020. With strategic plans and initiatives from the government, Singapore is incredibly forward-thinking in their efforts to build a competitive national advantage through technology.

It is definitely an exciting time for businesses and budding entrepreneurs in Singapore as they can now better overcome technological barriers to a digitally enabled future. Pivotal, too, is empowering businesses towards an agile and digital organization and we look forward to being part of Singapore’s journey to a smart nation.