Skip to content

Latest commit

 

History

History
148 lines (120 loc) · 5.92 KB

README.md

File metadata and controls

148 lines (120 loc) · 5.92 KB

Apache Aurora lets you use an Apache Mesos cluster as a private cloud. It supports running long-running services, cron jobs, and ad-hoc jobs.

Aurora aims to make it extremely quick and easy to take a built application and run it on machines in a cluster, with an emphasis on reliability. It provides basic operations to manage services running in a cluster, such as rolling upgrades.

To very concisely describe Aurora, it is a system that you can instruct to do things like run 100 of these, somewhere, forever.

Features

User-facing

  • Management of long-running services
  • Cron scheduling
  • Resource quotas: provide guaranteed resources for specific applications
  • Rolling job updates, with automatic rollback
  • Multi-user support
  • Sophisticated DSL: supports templating, allowing you to establish common patterns and avoid redundant configurations
  • Dedicated machines: for things like stateful services that must always run on the same machines
  • Service registration: announce services in ZooKeeper for discovery by clients like finagle.
  • Scheduling constraints to run on specific machines, or to mitigate impact of issues like machine and rack failure

Under the hood, to help you rest easy

  • Preemption: important services can 'steal' resources when they need it
  • High-availability: resists machine failures and disk failures
  • Scalable: proven to work in data center-sized clusters, with hundreds of users and thousands of jobs
  • Instrumented: a wealth of information makes it easy to monitor and debug

When to use Aurora

Aurora can take over for most uses of software like monit and chef. Aurora can manage applications, while these tools are still useful to manage Aurora and Mesos themselves.

When to not use Aurora

If you have very specific scheduling requirements, or are building a system that looks like a scheduler itself, you may want to explore developing your own framework.

Companies using Aurora

Are you using Aurora too? Let us know, or submit a patch to join the list!

Getting Started

Getting Help

If you have questions, you can reach out to our mailing list: [email protected] (archive). We're also often available in IRC: #aurora on irc.freenode.net.

You can also file bugs/issues in our JIRA queue.

Requirements

  • Python 2.7 or higher

  • JDK 1.8 or higher

  • Source distribution requirements * Gradle

How to build

Gradle and Bower are not shipped with the source distribution of Apache Aurora. The following instructions apply for the source release downloads only. When using Apache Aurora checked out from the source repository or the binary distribution the Gradle wrapper and JavaScript dependencies are provided.

  1. Install Gradle following the instructions on the Gradle web site
  2. From the root directory of the Apache Aurora project generate the gradle wrapper by running:
    gradle wrapper

Testing

To run the same tests that are run in the Apache Aurora continuous integration environment

  • From the root directory of the Apache Aurora project run:
    ./build-support/jenkins/build.sh
  • In addition, there is an end-to-end test that runs a suite of aurora commands using a virtual cluster. To run the end-to-end tests:
    $ bash src/test/sh/org/apache/aurora/e2e/test_end_to_end.sh

Compiling the source packages

To compile the source packages into binary distributions

  • From the root directory of the Apache Aurora project run:
    ./gradlew distTar
    ./build-support/release/make-python-sdists

For additional information see the Developing Aurora guide.

License

Except as otherwise noted this software is licensed under the Apache License, Version 2.0

Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.