Skip to content
This repository has been archived by the owner on Apr 2, 2023. It is now read-only.

aurora-scheduler/scheduler

Repository files navigation

Aurora Logo

Build Status

Aurora Scheduler 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 like a distributed monit or distributed supervisord that you can instruct to do things like run 100 of these, somewhere, forever.

What this project is and what it is not

Aurora Scheduler is a mainteannce fork of Apache Aurora after the original project entered the Apache Attic. The goal of this fork is to continue maintenance and quality of life updates to the scheduler codebase but we don't anticipate any new large features being landed.

Please note that this also means the original Python2 client is unmaintained.

Changes made to the scheduler will always strive to be compatible with existing tools but compatibility is not guaranteed.

Features

Aurora is built for users and operators.

  • User-facing Features:

  • 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 and when not to use Aurora

Diclaimer: If you are not already using Aurora, it is strongly suggested you look into other projects in this space as the Mesos ecosystem (including our project) is in maintenance mode.

We are extremely proud of what has been achieved by this project but the reality is there are other projects with a much more active community behind them where users will be able to enjoy better support.

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.

However, 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.

Getting Help

If you have questions that aren't answered in our documentation, you can reach out to the community via Matrix on #aurora-scheduler.

You can also file bugs/issues in our Github repo.

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.