Base Image source : AWS Marketplace hypertext transfer protocol : //aws.amazon.com/marketplace/solutions/devops #
The evolution of Operational Service Models.
One of the effect concepts in DevOps is the preposition of Cattle volt Pets to describe the service model .
The “ Pets ” military service model describes cautiously tended servers that are fondly nourish and given names like they were faithful family pets. Zeus, Apollo, Athena et aluminum are well cared for.
Reading: Cattle vs Pets – DevOps Explained
When they start to fail or struggle, you cautiously nurse them rear to health, scale them up and make them shiny and new once in a while .
Being a mainframe, lonely service, database waiter or load halter, when Zeus goes missing, everybody notices .
Cattle on the other hand are n’t afforded quite the same love attention as Zeus or Apollo. This service model typically tag servers like svr01 svr02 svr03 etc much the lapp way cattle ear tags are applied. They are all configured pretty much identically, so that when one gets ill, you merely replace it with another one without a second gear idea .
A typical use of cattle configurations would be web server arrays, search clusters, no-sql clusters, datastores and big-data clusters .
As the borrowing of bare-metal rack cattle servers either on-prem or in data centers became popular, so did the need for automation to control them. Tools like Puppet and Chef enabled Ops to configure fleets of “ cattle ” using automation .
Cloud IaaS – the dawn of a new age.
With the advent of Infrastructure as a Service ( IaaS ), developers and operations teams nowadays had access to wholly virtualized IT infrastructure. In 2006, the entire network, storage, calculate, memory and CPU infrastructure ecosystem was available through Amazon Web Services ( AWS ), followed a few years subsequently by Microsoft Azure in 2010 and Google Cloud Platform ( GCP ) in 2011 .
Same cattle, on person else ‘s ( server ) farm .
The necessitate to automate and orchestrate the shape and deployment of overcast solutions gave rise to tools like Salt Stack, Ansible and Terraform. These tools gave Developers and Operations ( DevOps ) the ability to programmatically deploy infrastructure required to support your applications – a process now know as “ Infrastructure as Code ” .
While the virtualization of the environments required to support applications was now amply automated the ability to containerise applications and the supporting infrastructure required to make applications portable regardless of the underlying hardware or cloud engineering was seen as the following evolution. early on solutions like Linux Containers, OpenVZ and Docker provided the ability to segregate applications into their own isolated environment without having to virtualize the underlie hardware .
Containers enjoyed an explosion of popularity and Docker evolved into it ‘s own ecosystem and a raft of technologies aimed at allocate resources to containers and deploy them across clusters of cattle servers became available including Kubernetes, Apache Mesos, Swarm and Nomad .
What happened to the Pets?
They are still alive and well. There will always be the want for run-time change and configuration of application servers managed in house or in the cloud. Terraform, Ansible and Chef still look like the most popular platforms chosen by DevOps to manage and deploy infrastructure as code .
Using Containers to Deploy Applications.
For teams adopting a containerize infrastructure methodology, Kubernetes now appears to be the default option fomite to deploy applications on the big three mottle platforms .
Google Kubernetes Engine ( GKE ), Azure Container Service ( AKS ) and AWS Elastic Container Service ( EKS ) are all implementations of Kubernetes scheduling services.
Read more: Caring For The African Dwarf Frog
Config Management (CM) vs Container Orchestration (CO)
Although they are not mutually exclusive, big reliance on one broadly reduces the reliance on the early .
Ansible would be one of the most democratic CM tools use and basic cognition would be of profit, however the advance skills required to master CO. Docker is more or less the container standard at the moment and the CO mechanism for orchestration is Kubernetes .
It will probably take 6 months to be amply comfortable with the basics of Kubernetes, but worth it as the market dominance over tools like Nomad shows in the advertise preference of Kubernetes when firms are hiring DevOps engineers .
Terraform is besides a must have skill. Having the skills to drive tools that deploy infrastructure as code is a decidedly a major bonus specially as tools like Terraform feature in about every modern Ops stack. You do n’t need to be a master, however it ‘s a skill that is about assumed that every mid-level Devops engineer would have .
CI / CD Continuous Integration / Continuous Delivery
With the automated deployment of applications across clusters of containers independent of the underlying hardware Developers have the opportunity to deliver code changes more frequently and faithfully. CI/CD is an Agile Methodology best practice that enables dev teams to focus on the business requirements, security and code choice as the deployment is automated. The CI systems establish a reproducible and automated way to build, software and quiz code. The fact that the integration process is in place allows developers to commit code changes more frequently .
After the code is committed, CD takes over and distributes to multiple environments such as dev, test and output via automation .
The CI/CD process stores all the environment specific parameters that must be packaged with each delivery and automates the calls to web servers, databases or other servers that may require a resume after application deployment .
Jenkins is credibly the most widely use tool in the CI/CD outer space but has it ‘s challenges. It would be worth getting to grips with it, even if you finally head down a GitLab, Travis, and CircleCI amongst others .
There are possibly unlimited numbers of combinations of tools to build, configure and deploy code and applications in a “ DevOps push-down list ” .
A thoroughly foundation if you are starting out would be the ever democratic combination of
- Terraform ( to build the infrastructure )
- Ansible ( to configure )
- Jenkins ( to deploy apps )
A greater understand of AWS and CloudFormation templating is besides highly valuable in Devops as is a fast understanding of Git, Docker, Kubernetes, Jira/Confluence, Nexus/Maven, Bash, JSON/Yaml, Powershell … and the list goes on .
Of course, once you ‘ve established and deployed your Pets or Cattle the following footprint is to accurately document your net topology. not only do becoming accurate diagrams make it easier to explain what is going on both internally within your DevOps team, but besides externally with management and to meet the ever demanding requirements of your security team .
A thoroughly AWS network diagram that ‘s car generated ( hands free ) will besides satisfy the most academic PCI submission auditor .
That ‘s what we do, we bring you the benefits of render mottle documentation.
You are welcome to take hava.io for a free 14 day test now, or bookmark this site for when you have something built .