What is DevOps?
- It's a cultural practice in an organization by development team and operation team to use each other's tool, to smooth out the process of software delivery.
- CODE > TEST > DEPLOY > OPERATION
- Operation team uses a lot of dev tools.
- lf you want to implement DevOps in an organization' you need to learn:
- Core Values, Core Ideas, Methods, Practices, Tools
Benefits of DevOps:
- Team thinks it as a complete process.
- Front End, Backend, QA, DB Admins, Network Admins.
DevOps CAMS:-
CULTURE : Talk to each other
AUTOMATION : Not just chef or puppet
Thousands of servers are impossible to manage but do you need thousand servers?
How much can you automate ? or should you automate ?
3. MEASUREMENTS : Measure to improve
It's not just about infra measurements. business measure, client activity and other pointers.
Recovery time, cycle time are obvious but it's important to measure and incentive it.
4. SHARING : Share to GOAL
- Share responsibility, share ownership and no escape goat. feedback loop is important.
DevOps in Three Ways:
System Thinking: Understand and increase flow.
Amplify Feedback: Shorten and amplify feedback loops.
Experiment and Learn: Continuous experimentation, taking risks and learning from failure.
- Analysis is good but sometimes trying only gives answer. what suits for others might not suit your organization. Don't hesitate to experiment in work flows.
BIG OVERVIEW TO REMEMBER
People over process over tools
Continuous delivery
Lean management
Infrastructure as a Code
IT Divide:
Developers wants to deliver features fast and deploy them quickly.
Operations wants system to be stable and up-time is most important to them.
Terms Of DevOps:
Provisioning : Server is ready with OS, software and networking.
Deployment : Adding or upgrading software on server
Orchestration : Co-ordination operations on multiple system.
Configuration Management : Managing server configuration via files such as RAM, space, dependency software etc.
Imperative (procedural) : Commands to produce desired state (procedural)
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 checking.
Continuous Deployment : After unit testing ,deploy changes to production in small batches.