Yelp, which hosts user generated business reviews all around the world, has open sourced a crucial component of its cloud infrastructure: a platform-as-a-service (PaaS) called PaaSTA. The PaaS is used internally by the company to automate the management and deployment of services that power Yelp.
Built by the in-house development team, the PaaS "allows developers to declare, in config files, exactly how they want the code in their git repo to be built, deployed, routed, and monitored," according to Yelp. PaaSTA has been used by Yelp for 18 months and currently runs more than 100 production applications in the company.
Prior to PaaSTA's implementation, the process to get applications up and running in Yelp involved manual steps and had to go through the operations team, which took days or even months. This is a reality that many development teams are faced with. PaaSTA brought in a set of tooling around shipping services to modernise the process. According to Yelp site reliability engineer Kyle Anderson, the PaaS works by integrating existing open source components that worked well together, including:
- Docker for code delivery and containment
- Apache Mesos for code execution and scheduling (runs Docker containers)
- Mesosphere’s Marathon for managing long-running services
- Chronos for running things on a timer (nightly batches)
- SmartStack for service registration and discovery
- Sensu for monitoring/alerting
- Jenkins (optionally) for continuous deployment
[Via Yelp Engineering blog]