/infraverse

Infrastructure Platforms and Applications Comparison

Creative Commons Zero v1.0 UniversalCC0-1.0

The most ambitious crossover in history since the MCU. An educational repository regarding the different platforms and projects in the infrastructure world.

Disclaimer: the project in some parts is opininated

Cloud

Services


AWS

Azure

GCP

OpenStack
Open Source Alternatives or Solutions
Compute
EC2

Virtual Machine

Compute Engine

Nova

oVirt
Network
VPC

Virtual Network

VPC

Neutron
Object Storage
s3

Blob Storage

Cloud Storage

Swift
Block Storage
EBS

Disk Storage

Persistent Disk

Cinder
Image
AMI

Images



Images

Glance
Identity
IAM

Active Directory

Identity

Keystone
Load Balancer
Elastic Load Balancing

Load Balancer

Load Balancing

Octavia

Traefik
NGINX
HAProxy
Seesaw
Event/Data Streaming
Kinesis

Stream Analytics

Pub/Sub


Kafka

CI/CD

CI/CD - Platforms


Jenkins

GitLab CI

CircleCI

Bamboo

OpenShift Pipelines

TeamCity
OPEN SOURCE





Deployment Options
Managed service,
On-premise

Hosted,
On-premise

Hosted,
On-premise

Managed service,
On-premise

Depends on how OpenShift was deployed

Managed Service, On-Premise
Plugins
Over thousand plugins




Tekton Hub

Pipeline/Job/Task Format
Groovy,
Pipeline DSL

YAML

YAML

Java TaskType Module definition

Kubernetes YAMLs

Kotlin DSL
Best Use Case (imho)
Total Freedom (+ You are not afraid of using Groovy)

When your code is already in Gitlab

When you just want out-of-the-box working CI/CD

No idea

You don't want to maintain a CI/CD server and your CI/CD is mainly containers based

You want versatile CI/CD but don't care about open source

CI/CD - Configuration


Jenkins

GitLab CI

CircleCI

Bamboo
Set Node/Worker/Runner Slave
Runner
Runner
Agent

Configuration Management


Ansible

Puppet

Chef
OPEN SOURCE


Agent
vs.
Agentless

Agentless

Master-Agent

Master-Agent
Underlying
Programming Language

Python

Ruby

Ruby
Push vs. Pull
Both supported.
Push is the default

Both supported.
Pull is the default

Pull

Dashboards


Kibana

Grafana

ReportPortal
OPEN SOURCE


Querying
Lucene and KQL

Based on the
data source

Supports multiple
data sources

Only Elasticsearch


Visualizations
Pie charts, Line charts
Data tables, Markdown
Geo Maps, Metrics
Heat Map

Pie charts, Line charts
Data tables, Markdown
Geo Maps, Metrics
Heat Map

Pie charts, Line charts
Data tables
Best suited for
Logs Analysis

Metrics Analysis

Pattern Analysis

Provisioning

Note: Many systems and tools can be used for provisioning (e.g. Ansible). This is focusing on those who were built mainly for this purpose.


Terraform

Pulumi

CloudFormation
OPEN SOURCE


Language DSL (HCL) Python, C#, JavaScript,
Go and TypeScript
JSON or YAML
Cloud Agnostic


Written in Go Go, Typescript and Python ?
Main Advantage Large community and
many supported providers
Supports multiple languages AWS services coverage
and rolling updates management

Monitoring


Prometheus

Graphite

Nagios
Main Purpose Time series DB and monitoring system Time Series DB and Graph rendering of the data Monitoring system focused specifically on servers and network
OPEN SOURCE


Written in Go Python C
API RESTful HTTP and JSON HTTP API Sockets RESTful HTTP via Addon installation
Written in Go Go, Typescript and Python ?
Data Gathering Pull (Exporters) Push Pull (Agents)
Alerts


Queries


Visualizations
Users mainly use Grafana for dashboards


More Infra related projects

Contribute

Contributions welcome! Read the contribution guidelines first.

License

CC0