The Microservices and DevOps Journey at Wix

Jonathan Israel | July 22nd 2015 | Architecture

We at Wix.com started our journey on DevOps and Microservices about two years ago and recently switched from a monolithic application to a microservices-based application. Yes, it took us a full two years to complete the transition from monolith to microservices!

Arun Gupta (@arungupta) got connected with Aviran Mordo (@aviranm), head of backend engineering here at Wix, through twitter.

 

We migrated to microservices because the “system could not scale” and the requirements for functional components were varied. The journey took our WAR-based deployment on Tomcat to fat JAR with embedded Jetty. On a side note, take a look at WildFly Swarm if you are interested in a similar approach for Java EE applications.

Video Interview

Arun Gupta discussed some points with Aviran about this journey and you can watch the same below.

In this discussion, you’ll learn:

  • Why Continuous Delivery and DevOps are important requirements for microservices?
  • How we migrated from a big monolith to smaller monoliths and then a full-blown microservices architecture
  • How database referential integrity constraints were moved from database to application?
  • “micro” in microservices refers to the area of responsibility, nothing to do with LOC
  • Neither REST nor messaging was used for communication between different services. Which protocol was used? JSON-RPC
  • How do services register and discover each other? Is that required during early phases?
  • Why YAGNI and KISS are important?
  • Chef for configuration management and how to make it accessible for massive deployments
  • TeamCity for CI
  • Is 100% automation a requirement? Can 100% automation be achieved? Learn about Petri, Wix’s open source framework for A/B testing
  • Relevance of hybrid cloud (Google, Amazon, Private data center) and redundancy
  • Hardest part of migrating from monolith to microservice
  • How much code was repurposed during refactoring?
  • Where was the most effort spent during the two years of migration?
  • Distributed transactions
  • What was the biggest challenge in DevOps journey?

Look out for a nice story towards the end that could be motivating for your team as well 😉

Additional Material

Watch the slides from DevoxxUK:

You can also learn more about our architecture in Scaling Wix to 60m Users.

Enjoy!

Here is a link to the Original Post, by Arun Gupta, as posted on Voxxed.

 


By Jonathan Israel
Wix

We are always looking for excellent people. Browse Jobs Here   

At Wix Engineering we develop some of the most innovative cloud-based web applications that influence our 80+ million users worldwide.

Have any questions? Email academy@wix.com.

Find out what’s coming up at Wix Engineering:

Subscribe to our newsletter for updates, events and more.