JAX London: Why did your team decide to rebuild your microservices architecture?
Gil Tayar: Because Wix had an aging Micro-services infrastructure that was showing its age. It was slow to deploy on it, 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 change.
JAX London: Should everyone try to match your speed? Is it actually possible to develop a coherent and competent microservices architecture in 7 days?
Gil Tayar: Yes, even more so in 2017 than in 2015. I wouldn’t say 7 days, but definitely a month. Unless you’re a really big company with multiple data centers and whatnot (like Wix is). Then it will probably take longer.
If I would wager what was the most important enabler for microservices? I would say Docker.
JAX London: What steps would another developer follow if they wanted to build a microservices architecture for their project?
Gil Tayar: That’s a huge topic, and one that is definitely out of scope of my talk for Jax London “How to Build a Microservices Infrastructure in 7 Days“, but if I would have to summarize, I would say – building a microservices architecture from scratch is different, and easier, than taking an existing architecture and turning it into microservices.
JAX London: Have microservices helped you achieve your goals?
Gil Tayar: Most definitely! 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 lifecycle.
JAX London: How important is it to first ask yourself “Should I be using microservices”? Why?
Gil Tayar: It’s not important. 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.
JAX London: What is the biggest misconception about microservices?
Gil Tayar: 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 (and as Google and others have shown, tens of thousands) of developers, where each team is independent of the others.
Building a microservices architecture from scratch is different, and easier, than taking an existing architecture and turning it into microservices.
JAX London: What technology do you think is the most important as far as microservices are concerned?
Gil Tayar: It’s a little like the infamous question kids get asked – who do you love more? Daddy or mommy. So who do I love more? The ease of deployment? The orchestrators/schedulers like Mesos or Kubernetes? The service discovery facilities? The RPC and eventing mechanisms available? I can’t say, but if I would wager what was the most important enabler for microservices? I would say Docker, because Docker is at the heart of Microservices’ team independence, and also enabled orchestrators like Mesos and Kubernetes to arise and be mainstream, which in turn enabled ease of deployment.
JAX London: What can attendees get out of your talk?
Gil Tayar: Will I show the best way to build a Micro-services 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 visceral way, what consists a Micro-services infrastructure, and what you will need to think about when _you_ will build one.