![uber dcommander uber dcommander](https://www.denverpost.com/wp-content/uploads/2016/04/20160127__Uber_Appp1.jpg)
As the engineering organization grew, so too did the need for setting up proper dependency management and resource isolation. These services shared dependencies and config files that were put directly on the hosts, and had few resource constraints. In early 2015, we were deploying 400 services to bare metal hosts across our infrastructure.
![uber dcommander uber dcommander](https://abload.de/img/tc9.51_combined3mj9h.png)
Giving back to the growing stack of microservice technologies, we open sourced its core component, Makisu, to enable other organizations to leverage the same benefits for their own architectures.
Uber dcommander code#
For the ease of maintaining and upgrading microservices, we adopted Docker in 2015 to enforce resource constraints and encapsulate executable with its dependencies.Īs part of the Docker migration, the core infrastructure team developed a pipeline that quickly and reliably generates Dockerfiles and builds application code into Docker images for Apache Mesos and Kubernetes-based container ecosystems. These services enable new features to greatly improve the experiences of riders, drivers, and eaters on our platform.Īlthough this paradigm supported hypergrowth in both scale and application complexity, it resulted in serious growing pains given the size and scope of our business. To ensure the stable, scalable growth of our diverse tech stack, we leverage a microservices-oriented architecture, letting engineers deploy thousands of services on a dynamic, high-velocity release cycle.