• Team
  • Team

Benefits and downsides of microservices

What are the benefits of microservices and why are they becoming so popular with large brands like Netflix?
By Yves Junqueira

March 15, 2019

What are the benefits of microservices and why are they becoming so popular with large brands like Netflix?

The main benefit of microservices is to allow a large team of engineers to development software more quickly. It’s not for everyone, though.

Companies work hard to deliver value to the world through software. Sometimes there is a breakaway success. When that happens, the stampede of new users can overwhelm the development team. So the company adds new developers to the project to handle the demand.

A lot of people start to work on the same code base and that works for a while. But, over time, problems start to appear. Software builds take several minutes or even hours. Flaky tests waste a lot of debugging time. Releases are fragile and stressful to deploy.

Microservices are one of the answers to these problems. That is why they are so popular with large companies like Netflix, Amazon, and Google.

These companies know that their products will have millions of users on day one. So they know they need the infrastructure in place to handle huge product growth without slowing the team down.

That is why projects created in these companies are increasingly using this architecture from the first days of development.

Are smaller companies seeing the same benefits? Do microservices bring the same benefits to small scale projects with small teams?

The companies that benefit from microservices are those that need to innovate quickly and are planning to grow their development team past 10 engineers or so.

On the other hand, companies with products that rarely change would probably not see any benefit from microservices.

Also, teams with less than 10 engineers or so can probably get away with working on the same code base, without microservices, if the team has good communication. Microservices reduces the need for constant human-to-human coordination. Unsurprisingly, microservices work really well for teams spread around multiple time-zones, independently of company size.

What are the downsides to using microservices with smaller teams?

Smaller teams should be very careful when planning to move to microservices. It can take a lot of time and effort to make it work, and that effort is often better spent working on other projects. Engineers often share horror stories about botched attempts to move to microservices that fail because:
  1. they got the design wrong;
  2. migrating to the new infrastructure takes forever;
  3. they can’t hire people with the right kind of experience to execute the project.
The last challenge is the most significant for smaller companies.

How does one make a successful transition to microservices?

The key for small teams to effectively move to microservices is to aim for simplicity and be realistic that it could fail. Start small, with one simple service, and assume you will get the design wrong the first time. Limit the amount of time spent on the new project and do not stall other initiatives on the team.

Once you have a good base for building up other services, and that it is not wasting people’s time with bugs, add new projects to it. Slowly transition the team’s development time to the new infrastructure, and eventually, stop working on the old code base. Leave it running forever if it is not causing problems.

By Yves Junqueira
Yves worked for a decade as a Site Reliability Engineer at Google, where he created software development tools and infrastructure. He left Google in 2017 to found YourBase, where he is using his passion and experience to help development teams move faster. Follow @cetico on Twitter.

Recent Posts

YourBase Early Access - software development without distraction

October 30, 2019

Four years ago, my family and I moved from Zurich to Seattle. I grew up in Brazil and had the…

Benefits and downsides of microservices

March 15, 2019

The main benefit of microservices is to allow a large team of engineers to development software more…

YourBase - let’s fundamentally simplify how we deploy software

January 23, 2019

YourBase is a community of SREs and developers from different companies that are starting a new…

GitHub & the memcached DDoS amplification attack of 1.35 Tb/s

March 23, 2018

If you leave your memcached servers listening on UDP and open to the Internet, they will certainly…

When should you create new microservices?

January 12, 2018

Microservices are somewhat like camping: the first time you do it, there is a lot of uncertainty and…

We need base services and not just microservices

January 02, 2018

I wrote recently about how the monolith slows down teams with more than 20 or so developers and why…

LoginDocumentationHow It Works