Get Advice Icon

Need advice about which tool to choose?Ask the StackShare community!

Apache Aurora

70
96
+ 1
0
Kubernetes

60.1K
51.9K
+ 1
681
Add tool

Apache Aurora vs Kubernetes: What are the differences?

Introduction: Apache Aurora and Kubernetes are both popular open-source container orchestration platforms that enable the deployment, scaling, and management of containerized applications. While they share similarities, there are key differences between the two that are worth considering when choosing the right platform for a specific use case or environment.

  1. Architecture and Design: Apache Aurora follows a traditional, monolithic architecture where the scheduler and the executor are tightly coupled. In contrast, Kubernetes adopts a more modular and distributed design, with the scheduler (kube-scheduler) responsible for placing containers onto nodes and the kubelet executing them.

  2. Workload Types: Apache Aurora is mainly focused on batch and long-running tasks, such as running production services or workflows that require complex scheduling capabilities. On the other hand, Kubernetes is designed to handle a wide range of workloads, including stateless applications, stateful applications, and batch jobs.

  3. Resource Management: In Apache Aurora, tasks are statically allocated CPU and memory resources, and scaling is managed manually. Kubernetes, however, provides more dynamic resource management through the concept of pods, which allows for fine-grained resource allocation and automatic scaling based on defined resource policies.

  4. Fault Tolerance and High Availability: Apache Aurora offers automatic failover and recovery features for its services, ensuring high availability. Kubernetes also provides fault tolerance and high availability capabilities but requires additional configuration and deployment of external components, such as etcd or distributed storage solutions, to achieve the same level of resilience.

  5. Community and Ecosystem: Kubernetes has gained widespread adoption and has a larger community and ecosystem compared to Apache Aurora. This translates to a wider range of supported integrations, plugins, and tools, making it easier to find solutions and resources when using Kubernetes.

  6. Ease of Use and Learning Curve: While both Apache Aurora and Kubernetes have their learning curves, Kubernetes is often considered more complex and has a steeper learning curve compared to Apache Aurora. Kubernetes offers more flexibility and advanced features but requires more effort and time to master compared to the more straightforward setup and configuration of Apache Aurora.

In summary, Apache Aurora and Kubernetes differ in their architecture, workload types, resource management, fault tolerance, community support, and ease of use. The choice between the two depends on specific requirements, the complexity of the environment, and the level of scalability and flexibility needed for containerized applications.

Decisions about Apache Aurora and Kubernetes
Simon Reymann
Senior Fullstack Developer at QUANTUSflow Software GmbH · | 30 upvotes · 11.8M views

Our whole DevOps stack consists of the following tools:

  • GitHub (incl. GitHub Pages/Markdown for Documentation, GettingStarted and HowTo's) for collaborative review and code management tool
  • Respectively Git as revision control system
  • SourceTree as Git GUI
  • Visual Studio Code as IDE
  • CircleCI for continuous integration (automatize development process)
  • Prettier / TSLint / ESLint as code linter
  • SonarQube as quality gate
  • Docker as container management (incl. Docker Compose for multi-container application management)
  • VirtualBox for operating system simulation tests
  • Kubernetes as cluster management for docker containers
  • Heroku for deploying in test environments
  • nginx as web server (preferably used as facade server in production environment)
  • SSLMate (using OpenSSL) for certificate management
  • Amazon EC2 (incl. Amazon S3) for deploying in stage (production-like) and production environments
  • PostgreSQL as preferred database system
  • Redis as preferred in-memory database/store (great for caching)

The main reason we have chosen Kubernetes over Docker Swarm is related to the following artifacts:

  • Key features: Easy and flexible installation, Clear dashboard, Great scaling operations, Monitoring is an integral part, Great load balancing concepts, Monitors the condition and ensures compensation in the event of failure.
  • Applications: An application can be deployed using a combination of pods, deployments, and services (or micro-services).
  • Functionality: Kubernetes as a complex installation and setup process, but it not as limited as Docker Swarm.
  • Monitoring: It supports multiple versions of logging and monitoring when the services are deployed within the cluster (Elasticsearch/Kibana (ELK), Heapster/Grafana, Sysdig cloud integration).
  • Scalability: All-in-one framework for distributed systems.
  • Other Benefits: Kubernetes is backed by the Cloud Native Computing Foundation (CNCF), huge community among container orchestration tools, it is an open source and modular tool that works with any OS.
See more
Manage your open source components, licenses, and vulnerabilities
Learn More
Pros of Apache Aurora
Pros of Kubernetes
    Be the first to leave a pro
    • 166
      Leading docker container management solution
    • 129
      Simple and powerful
    • 107
      Open source
    • 76
      Backed by google
    • 58
      The right abstractions
    • 25
      Scale services
    • 20
      Replication controller
    • 11
      Permission managment
    • 9
      Supports autoscaling
    • 8
      Simple
    • 8
      Cheap
    • 6
      Self-healing
    • 5
      Open, powerful, stable
    • 5
      Reliable
    • 5
      No cloud platform lock-in
    • 5
      Promotes modern/good infrascture practice
    • 4
      Scalable
    • 4
      Quick cloud setup
    • 3
      Custom and extensibility
    • 3
      Captain of Container Ship
    • 3
      Cloud Agnostic
    • 3
      Backed by Red Hat
    • 3
      Runs on azure
    • 3
      A self healing environment with rich metadata
    • 2
      Everything of CaaS
    • 2
      Gke
    • 2
      Golang
    • 2
      Easy setup
    • 2
      Expandable
    • 2
      Sfg

    Sign up to add or upvote prosMake informed product decisions

    Cons of Apache Aurora
    Cons of Kubernetes
      Be the first to leave a con
      • 16
        Steep learning curve
      • 15
        Poor workflow for development
      • 8
        Orchestrates only infrastructure
      • 4
        High resource requirements for on-prem clusters
      • 2
        Too heavy for simple systems
      • 1
        Additional vendor lock-in (Docker)
      • 1
        More moving parts to secure
      • 1
        Additional Technology Overhead

      Sign up to add or upvote consMake informed product decisions

      9
      1
      824
      3.9K
      58.3K

      What is Apache Aurora?

      Apache Aurora is a service scheduler that runs on top of Mesos, enabling you to run long-running services that take advantage of Mesos' scalability, fault-tolerance, and resource isolation.

      What is Kubernetes?

      Kubernetes is an open source orchestration system for Docker containers. It handles scheduling onto nodes in a compute cluster and actively manages workloads to ensure that their state matches the users declared intentions.

      Need advice about which tool to choose?Ask the StackShare community!

      What companies use Apache Aurora?
      What companies use Kubernetes?
      Manage your open source components, licenses, and vulnerabilities
      Learn More

      Sign up to get full access to all the companiesMake informed product decisions

      What tools integrate with Apache Aurora?
      What tools integrate with Kubernetes?

      Sign up to get full access to all the tool integrationsMake informed product decisions

      Blog Posts

      Kubernetesetcd+2
      2
      1202
      Dec 8 2020 at 5:50PM

      DigitalOcean

      GitHubMySQLPostgreSQL+11
      2
      2465
      PythonDockerKubernetes+7
      3
      1167
      May 21 2020 at 12:02AM

      Rancher Labs

      KubernetesAmazon EC2Grafana+12
      5
      1544
      Apr 16 2020 at 5:34AM

      Rancher Labs

      KubernetesRancher+2
      2
      983
      What are some alternatives to Apache Aurora and Kubernetes?
      Marathon
      Marathon is an Apache Mesos framework for container orchestration. Marathon provides a REST API for starting, stopping, and scaling applications. Marathon is written in Scala and can run in highly-available mode by running multiple copies. The state of running tasks gets stored in the Mesos state abstraction.
      Apache Mesos
      Apache Mesos is a cluster manager that simplifies the complexity of running applications on a shared pool of servers.
      Git
      Git is a free and open source distributed version control system designed to handle everything from small to very large projects with speed and efficiency.
      GitHub
      GitHub is the best place to share code with friends, co-workers, classmates, and complete strangers. Over three million people use GitHub to build amazing things together.
      Visual Studio Code
      Build and debug modern web and cloud applications. Code is free and available on your favorite platform - Linux, Mac OSX, and Windows.
      See all alternatives