For the past three years, Box has been recognized as a strong leader in Gartner's Magic Quadrant for Enterprise File Synchronization and Sharing. In order to keep their impressive reputation, Box employs up to date practices to keep their company as leader of the pack.
How has microservices helped Box speed up their times to deployment?
Box was founded before The Cloud even existed. Like many companies, Box’s code was written on a monolithic architecture. The steps to deploy a new service were painfully exhaustive. It took weeks, or even months to deploy one service. With hundreds of projects in the backlog, Box began investigating how to make service deployment more efficient.
MICROSERVICES AS A SOLUTION
Box made a few key decisions - to build their platform on containers, to transfer to a microservice architecture, and to focus on rapid development and deployment. Box began splitting up their main monolithic PHP application into a microservice architecture. The organization realized that they would ultimately need dozens (even hundreds) of microservices to be successful, but there was a serious problem: the model for provisioning new services was extremely outdated.
Microservices brought the File sharing leader to the 21st century.
After weighing the Platform as a Service (PaaS) options, Box decided to go with a combination of Docker and Kubernetes. Docker is a tool designed to make it easier to create, deploy, and run applications by using containers. Containers allow a developer to package up an application with all of the parts it needs, such as libraries and other dependencies, and ship it all out as one package. Kubernetes is an open-source system for automating deployment, scaling, and management of containerized applications. It groups containers that make up an application into logical units for easy management and discovery.
Instead of taking months to deploy code, now an engineer just has to write a Dockerfile, then package up their service into a Docker image. The image is published into the internal registry, the same engineer writes and tests the code in Kubernetes objects almost instantly.
The above workflow was the result of moving from a monolithic application to a microservices framework. This has resulted in a reduction from six months to launch a service to an average of less than a week - even sometimes less than an hour.
Moving to a microservice architecture, and being able to deploy services within hours will ensure Box’s ranking as a strong leader in Enterprise File Synchronization and Sharing for many years to come.