👨💻 Introduction to DevOps
2 min read
What is DevOps?
DevOps is the combination of cultural philosophies, practices, and tools that increases an organization’s ability to deliver applications and services at high velocity, evolving and improving products at a faster pace than organizations using traditional software development and infrastructure management processes.
This speed enables organizations to better serve their customers and compete more effectively in the market
people → process → tools
Thousands of servers are impossible to manage but do you need thousand servers ? how much can you automate ? or should you automate ?
It's not just about infra measurement. business measure, client activity and other pointers. Recovery time, cycle time are obvious but it's important to measure and incentivise it.
share responsibility, share ownership and no escape goat. feedback loop is important
DevOps 3 ways
- flow thinking
- amplify feedback
- experiment and learn
- People over process over tools
- Continuous delivery
- lean management
- Infrastructure as code
- Developers wants to deliver features fast and deploy them quickly.
- Ops wants system to be stable and uptime is most important to them.
- Blameless Postmortems
- transparent downtime
- Integrate team - devs and Ops
- Extension of agile
- IAAC - GIT for ops
DevOps Basic Terminologies
Provisioning -> Server is ready with OS, software and networking
Deployment -> adding or upgrading software on server
Orchestration -> coordinated operations on multiple systems
Configuration management -> managing server configuration via files such as ram, space, dependency softwares etc
Imperative (procedural) -> commands to produce desired state
Declarative (procedural) -> desired state is defined and tools will achieve it
idempotent -> repeat execution and same result
blue green deployment -> Identical deployment, used as switch
Continuous Integration -> Build and unit test at every checkin
Continuous Delivery -> deploy on production live environment at every checkin
Continuous Deployment -> After unit testing, deploy changes to production in small batches
Did you find this article valuable?
Support Bhalala Mihir by becoming a sponsor. Any amount is appreciated!