All Projects → Yelp → Paasta

Yelp / Paasta

Licence: apache-2.0
An open, distributed platform as a service

Programming Languages

python
139335 projects - #7 most used programming language
shell
77523 projects

Projects that are alternatives of or similar to Paasta

xxcloud
xxcloud,旨在整合数据中心异构虚拟化资源为统一的资源池,并在资源池上为用户提供各类IAAS、PAAS服务。
Stars: ✭ 64 (-95.92%)
Mutual labels:  paas, marathon, mesos
Panteras
PanteraS - PaaS - Platform as a Service in a box
Stars: ✭ 189 (-87.95%)
Mutual labels:  paas, marathon, mesos
sbt-marathon
An sbt plugin for launching application containers on the Mesosphere Marathon platform.
Stars: ✭ 23 (-98.53%)
Mutual labels:  marathon, mesos
dcos-deploy
Deploy, manage and orchestrate services and apps on DC/OS
Stars: ✭ 21 (-98.66%)
Mutual labels:  marathon, mesos
Swan
A Distributed, Highly Available Mesos Scheduler, Inspired by the design of Google Borg
Stars: ✭ 411 (-73.8%)
Mutual labels:  marathon, mesos
spring-cloud-marathon
Spring Cloud integration with Mesos and Marathon
Stars: ✭ 29 (-98.15%)
Mutual labels:  marathon, mesos
resty-marathon-lb
基于 OpenResty 的 Marathon 服务发现 & 路由
Stars: ✭ 13 (-99.17%)
Mutual labels:  marathon, mesos
Nixy
nixy - nginx auto configuration and service discovery for Mesos/Marathon
Stars: ✭ 259 (-83.49%)
Mutual labels:  marathon, mesos
casper
Yelp's internal caching proxy, powered by Nginx and OpenResty at its core
Stars: ✭ 81 (-94.84%)
Mutual labels:  infrastructure, yelp
Linkerdcosdockerfile
Linker Dcos DockerFile&DockerCompose yml file
Stars: ✭ 8 (-99.49%)
Mutual labels:  marathon, mesos
Chronos
Fault tolerant job scheduler for Mesos which handles dependencies and ISO8601 based schedules
Stars: ✭ 4,303 (+174.25%)
Mutual labels:  mesos, chronos
Traefik
The Cloud Native Application Proxy
Stars: ✭ 36,089 (+2200.13%)
Mutual labels:  marathon, mesos
marathon-slack
Integration for Marathon's Event Bus with Slack
Stars: ✭ 42 (-97.32%)
Mutual labels:  marathon, mesos
micro-service-practice
OpenStack+Docker+RestAPI+OAuth/HMAC+RabbitMQ/ZMQ+OpenResty/HAProxy/Nginx/APIGateway+Bootstrap/AngularJS+Ansible+K8S/Mesos/Marathon构建/探索微服务最佳实践。
Stars: ✭ 25 (-98.41%)
Mutual labels:  marathon, mesos
consul-registration-hook
Hook that can be used for synchronous registration and deregistration in Consul discovery service on Kubernetes or Mesos cluster with Allegro executor
Stars: ✭ 17 (-98.92%)
Mutual labels:  marathon, mesos
marathon-appcop
Marathon applications law enforcement
Stars: ✭ 18 (-98.85%)
Mutual labels:  marathon, mesos
dcos-autoscaler
Autoscaler for DC/OS hosted in a cloud provider
Stars: ✭ 12 (-99.24%)
Mutual labels:  marathon, mesos
Waiter
Runs, manages, and autoscales web services on Mesos and Kubernetes
Stars: ✭ 65 (-95.86%)
Mutual labels:  marathon, mesos
Marathon Lb
Marathon-lb is a service discovery & load balancing tool for DC/OS
Stars: ✭ 449 (-71.38%)
Mutual labels:  marathon, mesos
Pci Paas Webapp Ase Sqldb Appgateway Keyvault Oms
Azure PCI PaaS Reference Architecture
Stars: ✭ 36 (-97.71%)
Mutual labels:  paas, infrastructure

Build Status Documentation Status

PaaSTA - Build, Deploy, Connect, and Monitor Services

PaaSTA Logo

PaaSTA is a highly-available, distributed system for building, deploying, and running services using containers and Apache Mesos!

Want to know more about the opinions behind what makes PaaSTA special? Check out the PaaSTA Principles.

Note: PaaSTA has been running in production at Yelp for years, and has a number of "Yelpisms" still lingering in the codebase. We have made efforts to excise them, but there are bound to be lingering issues. Please help us by opening an issue or better yet a pull request.

Components

Note: PaaSTA is an opinionated platform that uses a few un-opinionated tools. It requires a non-trivial amount of infrastructure to be in place before it works completely:

  • Docker for code delivery and containment
  • Mesos / Kubernetes for code execution and scheduling (runs Docker containers)
  • Marathon for managing long-running services
  • Tron for running things on a timer (nightly batches)
  • SmartStack / Envoy for service registration and discovery
  • Sensu for monitoring/alerting
  • Jenkins (optionally) for continuous deployment

The main advantage to having a PaaS composed of components like these is you get to reuse them for other purposes. For example at Yelp Sensu is not just for PaaSTA, it can be used to monitor all sorts of things. Also Mesos can be re-used for things like custom frameworks. For example at Yelp we use the Mesos infrastructure to run our large-scale testing framework: Jolt. SmartStack is used at Yelp for service discovery for Non-PaaSTA things as well, like databases, legacy apps, and Puppet-defined apps. Most PaaS's do not allow for this type of component re-use.

On the other hand, requiring lots of components means lots of infrastructure to setup before PaaSTA is fully baked. If you are looking for a project that doesn't require external components, we encourage you to look at the doc comparing PaaSTA to other tools.

Design Goals

  • Declarative, rather than imperative, control
  • Fault tolerance
  • Service isolation
  • Efficient use of resources
  • No single points of failure
  • Pleasant interface

PaaSTA is an opinionated platform, and it is not designed to interoperate with every possible backend service out there.

Think of it as an example of how we have integrated these technologies together to build a cohesive PaaS. It is not a turn-key PaaS solution.

Getting Started

See the getting started documentation for how to deploy PaaSTA.

Documentation

Read the documentation at Read the Docs.

Yelp-internal Documentation/Links

Videos / Talks About PaaSTA

License

PaaSTA is licensed under the Apache License, Version 2.0: http://www.apache.org/licenses/LICENSE-2.0

Contributing

Everyone is encouraged to contribute to PaaSTA by forking the Github repository and making a pull request or opening an issue.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].