How to build microservices infrastructure in 7 days
In December 2015, Wix decided to rewrite their aging microservices infrastructure in seven days. JAX London speaker Gil Tayar tells their story.
Whenever you ask yourself the question, “should I be using microservices?”, always say yes. Sure, you don’t have to immediately build 10 microservices but even if you start with one service that is the whole application, the whole CI/CD pipeline you need to think about and build will easily pay itself back in the long run.
Microservices have most definitely helped us achieved our goals at Wix. The fact that each team can deploy parts of the application without regards to the other team is unbelievably important when we talk about developing with multiple teams. I believe this is the main benefit of microservices: the independence of each team in methodologies, deployment times, tools, and life cycle.
The biggest misconception about microservices is that it’s about scaling of services. It’s not; that’s just a pleasant side-effect. For most companies, it’s not about the scaling of services, but rather the scaling of the development teams. You can grow your company to hundreds (or as Google has shown, tens of thousands) of developers, where each team is independent of the others.
It’s hard to say what technology is the most important as far as microservices are concerned. What do I love most? The ease of deployment? The orchestrators/schedulers, like Mesos or Kubernetes? The service discovery facilities? The RPC and available eventing mechanisms? Personally, I think containers are the most important tech aspect for microservices. Docker is at the heart of a microservices team’s independence. It has also enabled orchestrators like Mesos and Kubernetes to arise and be mainstream, in turn enabling ease of deployment.
Microservices in 7 days
On December 2015, during an internal Wix Hackathon, we decided to rewrite our aging microservices infrastructure. At the time, our infrastructure was slow to deploy and rollback was difficult, and the decision on which servers to run which services was static — you had to figure it out beforehand, and not let the infrastructure handling it automatically. This was great when Wix started using microservices (it was state of the art at the time!) but times have changed.
Should everyone try to match our speed? We did it in seven days, after all. You can too. It’s 2017. It is possible to develop coherent and competent microservices architecture in a short period of time. Maybe not exactly in seven days, like we did. But even a large company with multiple data centers should be able to transition to a microservices architecture with a reasonable amount of speed.
As for how a developer would build a microservices architecture, well, that’s a huge topic. It’s definitely out of scope of my talk for JAX London! If I had to summarize, I would say that building a microservices architecture from scratch is different, and easier, than taking an existing architecture and turning it into microservices.
In our talk, we will see how to build a modern infrastructure that enables you to deploy a self-servicing grid of computers on which microservices can run and discover one another. Will I show the best way to build a microservices infrastructure? No, but I will be showing how easy it is to build using off the shelf components like Mesos, Node, and Nginx. Through describing the process of building one for a Hackathon, you will understand, in a more intuitive way, what consists a microservices infrastructure, and what you will need to think about when you will build one.
Gil Tayar will be delivering a talk at JAX London that will go into more detail with these ideas, explaining how easy it is for you to build your own microservices architecture. He will also lead an introductory workshop on NodeJS.
we got the glow in out teeth, white teeth teens are out