Kubernetes alternatives at the edge

Choosing the right application management solution for container applications can be a mind-boggling task at first. With a diverse set of tooling to choose from, it might be difficult to know where to start. But when it comes to distributed environments, there are several edge-specific circumstances that help narrow down the selection. Let’s look closer at Avassa and Kubernetes and see what characteristics make each tool the given choice for very different environments.

What does Avassa do?

Avassa is an application-centric platform for deploying, monitoring and observing containerized applications across many locations with precise control of application placement and versioning.

What does Kubernetes do?

Kubernetes is a system for automating deployment, scaling, and management of containerized applications in a single cluster and location.

What Avassa is not

Avassa is not an orchestration solution for traditional centralized datacenters or public cloud environments. Avassa is built specifically for the edge, and at the heart of the platform is a distributed scheduler with many features related to managing geographically distributed replicas of container applications. Avassa does not replace central cloud capabilities, but rather extends them to distributed edge environments.

What Kubernetes is not

Kubernetes is not a traditional, all-inclusive Platform-as-a-Service system. Kubernetes provides some generally applicable features common to PaaS offerings, such as deployment, scaling, load balancing, allowing users to integrate their own logging, monitoring, and alerting solutions. Kubernetes also does not provide features for multi-site application orchestration.

A comparison

So, let’s take a closer look at the characteristics of Kubernetes and Avassa, as well as the characteristics of the environments in which each solution is the better fit.

Avassa is great when …

  • There are few hosts in many locations
  • There are hard limits on resources
  • Location matters
  • Business need to be up and running even through periodical internet connectivity outages

Kubernetes is great when …

  • There are many hosts in few locations
  • Compute resources are unlimited
  • Location doesn’t really matter
  • Applications relies on 100% internet connectivity availability

When to use what

Alright, so when is Kubernetes and when is Avassa the better choice for container management? Well, it all depends on the environment where the container application is intended to run.

Avassa and kubernetes

Same same but different

Software systems provide abstractions – usually expressed in API definitions – tailored for the problem space they are solving for. The APIs and abstractions in Kubernetes is designed to provide the best possible experience when managing applications in single clusters (central clouds), while the Avassa APIs and abstractions target the lifecycle and monitoring of applications across many locations (the edge). Edge and cloud orchestration are same same but different.

Integrating Avassa and Kubernetes

Should my application run in the central cloud or the edge? In most cases the answer is both of the above. Most solutions have many application instances running at the edge close to the physical world (e.g. serving sensors, cameras, medical equipments), while data processing and storage is done in a central component. We see this emerging two-layer model all over the place and in this article, we describe how you can convert a Kubernetes application to Avassa in a few simple steps.

You are also more than welcome to request a free trial in it you’d like to try our edge application management yourself.