PaaSTA

An open, distributed platform as a service

Github星跟踪图

Build Status
Download
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.

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.

主要指标

概览
名称与所有者Yelp/paasta
主编程语言Python
编程语言Makefile (语言数: 5)
平台
许可证Apache License 2.0
所有者活动
创建于2015-10-26 21:35:53
推送于2025-05-30 23:23:42
最后一次提交2025-05-30 14:46:25
发布数2841
最新版本名称v1.22.0 (发布于 )
第一版名称v0.0.2 (发布于 )
用户参与
星数1.7k
关注者数91
派生数246
提交数14.3k
已启用问题?
问题数0
打开的问题数0
拉请求数3271
打开的拉请求数26
关闭的拉请求数377
项目设置
已启用Wiki?
已存档?
是复刻?
已锁定?
是镜像?
是私有?