Skip to main content

Command Palette

Search for a command to run...

DevOps : A Beginner's Guide (Before You get Started)

Published
3 min read

What is DevOps ? It's a cultural practice in an organization by development team and operations team to use each other's tool, to smooth out the process of software delivery.

Developers Team :- Team which collects the requirement/ problem statement and write code for it . Operations/Ops Team :- Anything which is onto the cloud or servers is basically handled by the Ops Team . Their responsibility is to keep the servers always up and Running .

If you want to implement DevOps in an organization, you need to learn: -core values .

  • core Ideas .
  • Methods.
  • Practices .
  • Tools .

Why should anyone learn DevOps ?

-Deploy faster -less failure -Better recovery time

DevOps CAMS

C - Culture :- Talk to each other in a team . Remember always consider People over Process over Tools .

A - Automation : It is not just about chef or puppet (an automation tools) Thousands of servers are impossible to manage , but remember that do we really need those number of servers . Instagram, still uses Monolithic Servers .

M- Measurement : Measure to improve . It is not just about the infrastructure , business or client measurement . Recovery time, cycle time are obvious but it's important to measure and incentivize it . eg : cloud watch in AWS .

S - Sharing : Share the goal . share responsibility, share ownership and no escape goat. feedback loop is important .

3 Ways to implement DevOps

  1. Flow Thinking : It is a traditional way in which DevOps is being implemented . Here the developer team collects the information from the client write the code and release it to the Operation Team . there is no concept of talking/sharing among them .

  2. Amplify Feedback : Operations Team and Developer team are always in touch , and developer gets the feedback once the code is sent from there end . This is the most used practice in today.

  3. Experimental Learn : Dev Team uses new team to roll out the features and sent it to the ops team . This is a risky way and hardly used .

## Big overview to remember

  • People over process over tools
  • Continuous delivery
  • lean management : no need for separate management for dev , ops and testers .
  • Infrastructure as code

DevOps LifeCycle

Devops Diagram.png

DEV OPS Plan Release Code Deploy Build Operate Test Moniter

Important Terms in DevOps

Provisioning : Server is ready with OS, software and networking

Deployment : adding or upgrading software on server

Orchestration : coordinated operations on multiple systems

Configuration management : configuration via files such as ram, space, dependency software's 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 check-in

Continuous Delivery: deploy on production live environment at every check-in

Continuous Deployment : After unit testing, deploy changes to production in small batches.