| 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:
ChefHudson: 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 SwarmMESOS 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, CircleCIKubernetes 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, ZipkinKubernetesIstio and LinkedCRDgitops 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 -> kubernetesMESOS 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.cgroupnamespace 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)