The State of Microservices Today

Industry

Reading Time: 8 minutes

UPDATE: With January 1st, 2017 we rebranded our hosted CI Platform for Docker from “Jet” to what is now known as “Codeship Pro”. Please be aware that the name “Jet” is only being used four our local development CLI tool. The Jet CLI is used to locally debug and test builds for Codeship Pro, as well as to assist with several important tasks like encrypting secure credentials.

Let’s talk about the state of microservices today. How big is the hype exactly? And why do developers talk about them all over the world?

First, let’s run through what microservices are used for.

Getting to Know Microservices

To give you a visual idea of how microservices work, imagine a LEGO toy car and a regular toy car.

STICK KIM

Photo by STICK KIM

Microservices are a software architecture similar to a LEGO car: If you don’t like this or that part, you can just replace it.

Photo by Leap Kye

Photo by Leap Kye

On the other hand, regular toy cars are welded together (or 3D printed). It’s much harder to modify or replace a part of them, just like monoliths. Designing large software systems can get complicated quickly. Adding more features to a monolith usually goes hand in hand with an increase in complexity.

The concept of microservices originates from the idea of service-oriented architecture (a.k.a., SOA). An SOA consists of separate, well-defined, individual components within a system. For example, at Codeship, a service would keep track of user authentication, another service would be responsible for the payments, and so on.

Microservices are a type of SOA but broken down into even smaller parts where each service has its own task. Even a simple password reminder could be a microservice in a software architecture.

If you want to know more about microservices, Martin Fowler’s site is a great place to learn more about the concept. Also, Florian Motlik’s article does an excellent job of explaining a good way to start moving to a microservice architecture through a monolith core.

If you want to keep up with all the latest news and leading thoughts on microservices, you might want to subscribe to RisingStack’s weekly newsletter about microservices.

How Google Sees Microservices

Microservices are a hot topic, but to find out how hot exactly, let’s look at Google Trends. The tool shows the relative interest in a keyword over time; for example, the value 100 means that searches for that phrase have hit an all-time high.

This Google Trends chart shows that interest in microservices has grown continually over the last months:

Oh, and what’s the right way to use the term in writing? Is it micro-services or or micro services or microservices? The internet has made its decision:

Regional Interest

To see where in the world microservices are popular, I took a look at the regional data in Google Trends. Since the term is relatively young, I added all of its variations to get the most relevant data: microservice, microservices, micro-services, micro-service, micro service, and micro services.

What did I mean by ‘relatively young?’ People search for ‘microservices’ around 15,000 times per month (Google Adwords Keyword Planner). As a comparison, there are around 300,000 searches for the term ‘Node.js’ in a month.

The USA, Germany, and the United Kingdom are leading in search traffic for microservices, but we also have strong signals from Brazil and India.

I ran custom Google Searches for Brazil and India, and although developers in both countries seem to be into the topic, a company called ‘Microservice’ in Brazil could be the reason of the high amount of activity there. Nevertheless, it feels great to see these countries actively contributing to the topic.

The cities more or less match the data of the countries above. To see the differences, I ran a ‘microservices + cityname‘ search for each city (so you don’t have to). The results are below in decreasing order by amount of interest in microservices that Google Trends sees in the city:

  • San Francisco – meetups, conferences, and more PPC ads than I can count on the first sight.
  • Bangalore – some meetups and several companies called ‘micro services’.
  • Chennai – several Java-related job offers.
  • London – another host of µCon 2015, plus several meetups and articles about the topic.
  • Sydney – Sydney has its own meetup called Sydney Microservices.
  • New York – QCon New York, Red Hat’s Microservices Developer Day, and several articles offer the opportunity to dive into the topic.
  • Paris – The city where Peter Bourgon spoke up for microservices. Also the home of DevOpsDays Paris conference.

Trends can further break down the data by states or provinces in some countries, and that’s the case with the USA. Currently Massachusetts takes the lead, but aside from California and New York (the two front-runners in IT innovation in the US), you can see the increasing amount of interest coming from Illinois, Virginia, Texas and Florida.

Related Queries

Of course, the results above were only about microservices. We can get a better context for the current state of microservices if we take a look at some related queries:

As you can see, both Sam Newman’s book (Building Microservices) and Martin Fowler’s name came up. Newman’s book is widely regarded as an excellent resource to get started with microservices.

It’s also understandable to see Docker listed; the spread of the container technology has made it even easier to build microservices using containers.

Sign up for a free Codeship Account

Related keywords with Keywordtool.io & Google Adwords

using-keywordtoolio-to-generate-keywords-about-microservices-for-google-adwords

Keywordtool.io pulls every possible variation of a word or phrase from Google Autocomplete and gives you tons of ideas of what people search for. Adwords can be a little biased towards certain keywords, which is why I use an external tool.

Here’s what you get if you put the phrases from Keywordtool into the Google Adwords Keyword planner:

top-microservices-keywords-from-google-adwords

The total number of searches for the most popular microservices-related keywords has grown by more than 1,000 percent over the last year. Here’s the chart with the actual figures:

how-google-sees-the-growth-of-microservices

Besides the total growth, let’s take a deeper look at what exactly is growing. The term ‘microservices java’ caught my attention: What other technologies are used for building microservices?

After downloading the whole set of keywords (230) and going over them one by one, I collected those that were about a programming language or a specific platform with microservices.

Based on the keywords people look for, we can conclude that they want to learn how to begin using a microservices architecture. Many articles out there offer an overview of this architectural style, but the demand is getting higher and higher for tutorials about using microservices with different languages and platforms.

How Twitter Sees Microservices

Google Trends was useful for seeing the growth of the topic and what kind of information people look for, but Twitter can give much better insights on what people are actually talking about. As you will see, these two are often not the same.

I analyzed a CSV of 1,500 tweets sent out during a two-day period that contained the word “microservices.” My weapon of choice was Excel (stop rolling your eyes!) and Google Sheets.

Twitter data about microservices

People tweeted 51 times per hour on average about microservices (around 20 percent less before noon and 23 percent more in the afternoon). Those Twitter handles are operated from 56 countries.

The top ten:

  • USA
  • United Kingdom
  • France
  • Germany
  • Canada
  • Spain
  • Brazil
  • India
  • Israel
  • The Netherlands

Hashtags

Almost every other tweet used “microservices” as a hashtag. Other popular hashtags included:

Hashtag occurencies

  • #devops – 210
  • #iot – 202
  • #api – 154
  • #qconsf – 124. The organizers did some serious promotion there, so let’s mark this as unusual activity.
  • #bluemix – 120
  • #bigdata – 95
  • #cloud – 81
  • #m2m – 72
  • #containers – 69
  • #docker – 63

Remember the technology chart from the Google Keyword Planner data? I also checked those technologies within the tweets. #nodejs was mentioned 53 times, and the runner-up was Java (19 times).

It could be a good idea to revisit Twitter at a later moment to see if the #nodejs tweets were because of the buzz around the Node.js Foundation, or if the technology is really this closely related to microservices.

Twitter bios

I used Text Analyzer to see what patterns I could find in the bios. The list below contains the most frequently used phrases (except the duplicates and several accounts that seemed to only exist to promote a conference. After removing the duplicates and the accounts used only for promotion, 862 unique bios left).

After filtering out conjunctions and links, here is a list of popular phrases included in the bios of people who tweeted about microservices. It’s good to see so many authors and open-source advocates among software engineers.

Some top phrases containing two words

  • software engineer – 31
  • open source – 20
  • founder of – 20
  • software developer – 17
  • co-founder – 16
  • red hat – 14
  • big data – 12
  • father of – 10
  • software architect – 10
  • author of – 10
  • social computing – 8
  • solution architect – 8

How GitHub Sees Microservices

Microservices can be polyglot, meaning that they can be written in more than one language.

GitHub doesn’t have a separate category for microservices either. To get an overview of the growth rate of microservices on GitHub, you can simply search for the term, narrow the results to a given month, and summarize the results.

The data below allows us to see what’s happening over GitHub in term of microservices — but take the data with a grain of salt.

We can drill down by counting the number of new repositories in each month to see what languages were the most popular. The data from Google search didn’t show us before that using JavaScript (or perhaps Node.js?) for building microservices is almost as popular as using Java. Here are the growth rates of the public repositories about microservices:

Notice that Go is also picking up momentum. If you want to see more visualized data of languages on GitHub, GitHut is a great place to discover more information.

Conclusion

Overhyped or not, the concept of microservices is only getting more and more popular. Being able to build a suite of small services that are independent from each other allows developers to choose the right language for the job.

But it also comes with costs. Managing lots of services can be painful, especially when just starting out. To help you figure it all out, don’t forget to check out that microservices newsletter I mentioned earlier. It’s packed with handpicked articles about microservices and delivered free to your inbox each week.

Do you build microservices? When is it a good idea to build them instead of a SOA or monolith? Is it just a coincidence that the amount of Google searches for microservices correlates with the phrase “firefox delete cookies”? Share your thoughts in the comments.

Want to test and deploy your microservices with Codeship Pro? Find out more here.

PS: If you liked this article you can also download it as a PDF eBook here: Breaking up your Monolith into Microservices or watch our re-run of our webinar: An Introduction to Building Your Apps with Microservices.

Subscribe via Email

Over 60,000 people from companies like Netflix, Apple, Spotify and O'Reilly are reading our articles.
Subscribe to receive a weekly newsletter with articles around Continuous Integration, Docker, and software development best practices.



We promise that we won't spam you. You can unsubscribe any time.

Join the Discussion

Leave us some comments on what you think about this topic or if you like to add something.

  • Pingback: WEB OPERATIONS WEEKLY NO.46 – ENUE()

  • For me, the approach of Self-contained Systems, as described at http://scs-architecture.org/, replaces the vagueness behind the term “Microservices” with very concrete and excellent ideas.

    • Hey Manuel,

      The concept of Self-Contained Systems can be great in some cases, but I think it won’t fit everyone. The term “microservices” leaves a bit of vagueness because there isn’t one exact path that everyone should follow. But there is a broader direction for building software architectures – and the term “microservices” allows people to define this direction and talk about it.

      • Well, yeah – “Microservices” is an invitation to start a discussion, “SCS” is an invitation to get stuff done. Some contexts need the former, others the latter.

  • Pingback: 04-01-2016 - Wuhuuu first links of the year! - Magnus Udbjørg()

  • Derek Hannah

    no mention of aws lambda? anyone else think this is going to kill docker?

    • Not sure. I’ve been waiting for VPC support so I can leverage AWS Lambda to access MySQL (RDS) and Redis (Elasticache) securely. As of this moment, VPC is not supported yet. However, I’ve spoken with organizations that will refrain from using Lambda as you can’t run them inside your VPC but, according to AWS powers-that-be, they will tunnel into the VPC which poses a security issue.

    • Hi Derek, I don’t think they’d be a serious threat to each other, but this topic could be a good idea for a separate article!

    • Yeah, we bypassed the Docker route altogether and have built out a significant part of our backend on Lambda. There’s been a fair bit of investment of time laying out the groundwork getting all of our event definitions tight (that trigger the Lambdas), but we’re already getting a return on it.

      • Derek Hannah

        Are you guys hiring sr javascript devs currently?