By Sheldon L | Published at 2020-05-01 | Updated at 2020-05-01 |
Nagios
, didn’t have a way to pull out the logs and centrally manage it.2008
Puppet
, mainly for laptops and desk tops.Borg
, orchestrator for containers.cgroup
kernel offered a process resources isolation.lxc
), built on top of cgroups and namespaces.2009:
Chef
Hudson
: open source, recreated to Jenkins
for some lisence reasons.dotCloud created a web-based collaborative IDE environment based on lxc
, where you could write code in one window, and executed in another window, and then was brought to be open source, then named Docker
, and became the fastest moving project of 2013.
Borg
) for almost 8 years, decided to open source a project named Kubernets
, show the world how to use Docker
like google.Docker
releases its own orchestration engine called Swarm
MESOS
system, which was being used since 2009, became very popular. It is a hybrid orchestrator, where you could run a Hadoop job, along with a cron job, along with a Spark job,… And they added the container orchestration feature and framework that they added for that was called Marathon
.SALTSTACK
, a new tool based on python, coexist with Puppet
, Chef
, and Ansible
.Jenkins
is the boss, and others are Travis CI
, Bamboo
, go
, CircleCI
Kubernetes
has matured as the most preferred container orchestration engine of today, kubernetes
along with docker
has become sort of standard for running applications:
Ansible
has sort of becom a preferred tool for configuration management system. There have been a lot of changes. In today’s world, now that Docker along with K8s has become prominent, the application configuration have complete gone away. So, what you are left is just the configuration of your underlying systems, maybe installing k8s itself, doing network configuration, the system configuration, patching, and compliance tools, and so on. Ansible
is a great tool to fill the rest of the gaps. Red Hat aquired Ansible in 2015.
Jenkins
always been sort of the boss in Continuous Integration, but has not been stagnant.
Cloud: AWS, Azure, GCP
Containers: Docker
and k8s
IaaC (Infrastructur as a code): Ansible
, Terraform
, Docker compose
, kubernetes scripts
.
CI/CD (Continuous Integration / Continuous Delivery): Jenkins
. Always consider Jenkins at your start point, “Pipeline as a code”, Jenkins
+ Docker
, Jekins
+ Spinnaker
(a hybrid deployment tool, deploy on multipul clouds and regions)
Obserbability: It does not mean that you just go and install a bunch of tools, it is also about setting up the culture of observability.
Nagios
and Graphaite
, we now have Prometheus
which collects multi-dimensional dataELK
stack (Elasticsearch
, Logstash
, Kibana
)Prometheus
is more like a time series database with multiple dimensions that you can store, and Grafana
is a visualizer for it.Jaeger
, Zipkin
Kubernetes
Istio
and Linked
CRD
gitops
for promoting code to environments.gitops
workflow.S3
-Storage Services, EC2
-Elastic Cloud Compute), IaasVPC
, EBS
-Elastic Block Storage, ELB
-Elastic Block Balancer, auto-scaling
), Google Cloud EngineWant to have a complete control over the kind of infrastructure. AWS, GCP, Azure.
You would be setting up your infrastructure on cloud, then installing and configuring everything, including Docker
or Kubernetes
Want to leverage a lot of components which are already there. Som Services of Azure, AWS-EB (Elastic Beantalk), RedHat-OpenShift.
You not only need to know about Docker
, and you should have a good working knowledge, operational knowledge about it, but also an orchestration engine which helps you to deploy your container workloads in a production-like environment, where it comes to Kubernetes
. Scource
-> Image
-> Deployed at scale. You don’t have a lot of control over the platform
chroot
command, afile system - namespace
.zones
, BSDs with something called jails
, also called operation system virtualization.Borg
. They contributed to the Linux Kernel called cgroup
later.cgroup
and namespace
, became core part of the Linux Kernel.lxc
, an online IDE which can write code in one window and execute on another window.docker
and brought it open source.Borg
-> kubernetes
MESOS
system, which was being used since 2009, became very popular. It is a hybrid orchestrator, where you could run a Hadoop job, along with a cron job, along with a Spark job,… And they added the container orchestration feature and framework that they added for that was called Marathon
.kubernetes
matured and win.cgroup
namespace
Exploratory Test
|-|
Automated UI Test
|-----|
Automated API Test
|---------|
Automated Service Test
|--------------|
Automated Components Test
|------------------|
Automated Unit Test
|----------------------|
Spinnaker
- adding schema changes, doing canary releases, blue-green deployments)