Aptomi is a platform for development teams that simplifies the roll-out and operation of container-based applications on Kubernetes. It introduces a service-centric abstraction, which allows users to compose applications from multiple connected components. Aptomi supports components packaged using Helm, ksonnet, k8s YAMLs, and any other Kubernetes-friendly way!
Aptomi's approach to application delivery becomes especially powerful in a multi-team setup, where components owned by different teams must be put together into a service. With ownership boundaries, Dev teams can specify multi-cluster and multi-env (e.g. dev, stage, prod) service behavior, as well as control the lifecycle and updates of their respective services.
Aptomi also provides contextual visibility into teams and services, allowing our users to visualize complex dependencies and accurately assess the impact of changes.
You can also read this blog post about the project.
- Aptomi: installation - https://asciinema.org/a/163250
- Aptomi: point to Kubernetes cluster - https://asciinema.org/a/163252
- Aptomi: defining & running applications - https://asciinema.org/a/163258
- Aptomi: updating a service instance - https://asciinema.org/a/163262
- Aptomi: deleting service instances - https://asciinema.org/a/163269
- Detailed Demo - http://www.youtube.com/watch?v=HL4RwoBnuTc
- OpenDev CI/CD 2018 (Vancouver) - https://www.youtube.com/watch?v=GVB3kKocKi4
Table of contents
- Why Aptomi?
- How It Works
- How to contribute
- Why would I want to use Aptomi as a Developer?
- Why would I want to use Aptomi as an Operator?
- How does Aptomi fit into CI/CD model with Spinnaker/Jenkins?
- Why would I want to use Aptomi if I'm already implementing Kubernetes/OpenShift?
Step #1: Installation
There are several ways to install Aptomi. The simplest one is Compact, but you may pick one that suits your needs:
|Compact||Easy||Aptomi will be installed on a local machine (binaries or in a single Docker container)|
|Kubernetes||Medium||Aptomi will be deployed on k8s via Helm chart|
You can also install Aptomi in a stripped-down mode with a fake executor:
|Concepts||Easy||Use this only if you want get familiar with Aptomi's concepts, API and UI. App deployment to k8s is DISABLED|
Step #2: Setting up k8s Cluster
You will need to have access to a k8s cluster to deploy apps from the provided examples.
Having a powerful k8s cluster with a good internet connection will definitely provide a better experience compared to a local, single-node k8s cluster. We consider GKE to be the best option if you don't have your own k8s cluster.
|Kubernetes Cluster||When to use||How to run|
|Your own||If you already have a k8s cluster set up||Configure Aptomi to use an existing k8s cluster|
|Google Kubernetes Engine||If you have a Google account and free credits||Configure Aptomi to use GKE|
|k8s / Minikube||Single-node, local machine with 16GB+ RAM||Configure Aptomi to use Minikube|
|k8s / Docker For Mac||Single-node, local machine with 16GB+ RAM||Configure Aptomi to use Docker For Mac|
Step #3: Running Examples
Once the Aptomi server is up and your k8s cluster is ready, you can get started by running the following examples:
|twitter-analytics||Twitter Analytics Application, multiple services, multi-cloud, based on Helm|
|twitter-analytics-with-concourse-ci||Twitter Analytics Application, integrated with Concourse CI/CD pipelines|
|guestbook||K8S Guestbook Application, multi-cloud, based on K8S YAMLs|
Step #4: Send us a note on Slack
How It Works
How to contribute
The very least you can do is report a bug!
If you want to make a pull request for a bug fix or contribute a feature, see our Development Guide for how to develop, run and test your code.
Feature Backlog, as well as weekly project milestones, are good places to look at the roadmap items.