Devops esenials Flashcards
DevOps
Devops is a software engineering culture and practice that aims at unifying software development and software operations
A grassroots movement
grassroots movement is an organized effort undertaken by groups of individuals in a given geographic area to bring about changes in social policy or influence an outcome, often of a political issue. By harnessing spontaneous support at local levels to bring about policy changes at local, regional, national, or international levels, grassroots movements are considered bottom-up, rather than top-down efforts—much in the way grass grows. Today, grassroots movements work to influence social issues such as racial injustice, reproductive rights, climate change, income inequality, or affordable housing
Continuous integration CI
The practice of frequently merging code changes done by developers
Continuous delivery CD
The practice of continuously maintaining code in a deployable state
Continuous deployment CD
The practice of frequently deploying small code changes to production
Infrastructure as Code (IaC)
Manage and provision infrastructure through code and automation
Configuration management
Maintaining and changing the state of pieces of infrastructure in a consistent, maintainable, and stable way
Orchestration
Automation that supports processes and workflows, such as provisioning resources
Monitoring
The collection and presentation of data about the performance and stability of services and infrastructure
Configuration Management
Ansible (Declarative configuration) uses YAML, no requirement for control server, not required agent
Puppet - Declarative, UI, Custom modules, Control server
Chef - Procedural, Agent/server, uses Chef DSL
Salt - Declarative, Agent, YAML, event driven automation
Managing and changing the state of pieces of infrastructure in a consistent and maintainable way
Virtualization
Managing resources by creating virtual rather than physical machines
Hypervisor
Runs on bare metal and manages virtual machines
There are different types of monitoring
1) Infrastructure
2) Application performance
Infrastructure monitoring tools
1) Sensu - infrastructure monitoring
Designed a modern replacement for Nagios
Server/agent
Agents push data to an AMQP broker
2) NewRelic - infrastructure monitoring (Also application performance)
Saas + agent
Wide variety metrics
3) AppDynamics (Application performance monitoring ) - collection data points about applications and presents in a centralized dashboard
Code level diagnostics
Sever agent
Aggeration and Analytics - collecting monitoring data analyze
Elastic stack
Orchestration tools
1) Docker Swarm
Docker native
Orchestration for docker containers
2) Kubernetes
Open source
Orchestration server
Manage containerized apps across multiple hosts
3) Zookeeper
Can work alongside Kubernetes
Offers a centralized service registry that integrates with
orchestration features
4) Terraform
Combine orchestration and Iac
Work well with AWS
Integrates with Kubernetes