Originally written by: GÁBOR NAGY
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. [caption id="attachment_2865" align="aligncenter" width="640"]
Photo by STICK KIM[/caption] Microservices are a software architecture similar to a LEGO car: If you don’t like this or that part, you can just replace it. [caption id="attachment_2864" align="aligncenter" width="640"]
Photo by Leap Kye[/caption] 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:
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.
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.
Related keywords with Keywordtool.io & 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:
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:
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?
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:
Almost every other tweet used “microservices” as a hashtag. Other popular hashtags included: Hashtag occurencies
#qconsf- 124. The organizers did some serious promotion there, so let's mark this as unusual activity.
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.
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
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.