Before Getting started with DevOps
Documentation of all my learnings

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

By DevOps,the communication between the developers team and operations team in an organisation gets tightly integrated throughout the application lifecycle.
Why DevOps?
By Comparing with Waterfall and Agile methods,the DevOps
- can deploy faster
- has less failure
- has better recovery time
Principles of DevOps
The CAMS Model

The CAMS model defines set of values which are followed by many DevOps engineers and this model totally emphasize the People over Process over Tools.
C for Culture
Culture is nothing but the, communication and a good work relation between the people and the teams. If there is no proper communication and coordination among them, then it can slow down the process of the application delivery and it can also cause wastage of time.
A for Automation
We have thousands of servers in large infrastructures and it is difficult to do it manually. So we have Automation to get the job done easily.Automation is a very important component in DevOps.
M for Measurement
Measurement involves in the scaling and the improvement of the process.
S for Sharing
One has to share the things it might be the knowledge or any learnings through his experience among the team of people where it can lead to achieve the final goal.
The 3 ways of implementing DevOps
1. Flow Thinking
Work always flows in one direction – downstream.

2. Amplify Feedback
Create, shorten and amplify feedback loops.
3. Experiment and Learn
Continued experimentation, in order to learn from mistakes, and achieve mastery.

DevOps Life Cycle
DevOps Lifecycle is a methodology, where software development teams use to bring products to market more quickly and efficiently.
It's a way of managing the entire software lifecycle from development through release, focusing on collaboration between developers and IT operations professionals.
DevOps Jargons
The Terms or words which are usually used in DevOps;
1. Provisioning
When we say Provisioning it means to ensure that the server is ready with OS, Software and Networking.
2. Deployment
Adding or Upgrading the software on server.
3. Orchestration
Coordination of operations on multiple systems.
4. Configuration Management
Managing server configuration via files such as RAM, Space, Dependency Software etc.
5. Imperative Methodology
To Produce desired state using commands.
6. Declarative
Desired state is defined and tools will achieve it.
7. Idempotent
Repeat execution but same result.
8. Blue Green Deployment
Identical Deployment on more than one server which can be used for switching.
9. Continuous Integration
Building and unit testing stages at every checkin during the software release process.
10. Continuous Delivery
Deploying on production live environment at every new check in.
11. Continuous Deployment
After unit testing deploy changes to production in small batches.
Thank You :)
Ashwaq Reheman




