Professional Documents
Culture Documents
DevOps Intro
DevOps Intro
2024
########################
Day 1 - 18th Mar. 2024
########################
- Requirement Analysis
- Design
- Code
- Testing
- Implementation
- Monitoring/Maintain
Software - Applications :
- Desktop Applications
- Web Applications
- Mobile Applications
- System Applications
- Embedded Applications
Waterfall Model ::
- Linear in approach
- Follows Top-Down Approach.
- Monolith Application Architecture
- Tightly coupled Applications
Desktop Applications
Billing System 10 Months!
10 functions + 1
Project :
- Requirement Analysis
- Design
- Code current
- Testing
- Implementation
- Monitoring/Maintain
Enhancement - Project :
- Requirement Analysis
- Design
- Code
- Testing
- Implementation
- Monitoring/Maintain
Agile Methologies :::
Desktop Applications
Billing System 10 Months!
10 functions/Modules. - Iterations
- Requirement Analysis
- Design
- Code
- Testing
- Implementation
- Monitoring/Maintain
- Requirement Analysis
- Design
- Code
- Testing
- Implementation
- Monitoring/Maintain
- Requirement Analysis
- Design
- Code
- Testing
- Implementation
- Monitoring/Maintain
Using AGILE :
we can achieve :
Continuous Development
Continuous Integration
Continuous Testing
Continuous Delivery
- This expects a Manual approvals for Production Release
We cannot achieve :
Continuous Deployment
- Without any Manual Intervension/approvals for Production
Release
DevOps :::
DevOps is a Software Development Strategy which helps to promote the
collaboration between the Teams like Development Teams and Operation Teams to
achieve Continuous Development, Continuous Integration, Continuous Testing,
Continuous Delivery, Continuous Deployment and Continuous Monitoring in more
automated fashion.
How to Implement DevOps ???
1. Application Architecture:
3. DevOps Stages :
- Continuous Development :
- It is the capability of the Development Team to continuously
develop code
- Improve the Productivity of the Developers
How ?
Role of Developer ?
- Code
- Coding
- Manual Build Application -
- Build - Is a process of compiling the source code and
create artifacts(Binaries - *.war/*.jar/*.exec/*.dll)
- Perform Unit Testing
- Promote the code to higher environments (QA / UAT / Prod)
- Notify the Testing team thru emails
Tools ::
- Continuous Integration :
- It is capability of the Development Team to continuously
integrate the code for further testing without waiting for others.
Tools :
- GIT/Github
- Jenkins
- Docker, Kubernetes, Ansible
- Continuous Testing :
Tools :
- TestNG/JUnit
- Selenium
- Jenkins
- Continuous Delivery :
- It expect Manual Approval for Production Release
- Expect Downtime during Production Release
- Continuous Deployment :
- It NEVER expect Manual Approval for Production Release
- Production Release will be completly automated.
- NO Downtime during Production Release
Tools :
- Jenkins
- Docker, Ansible
- Kubernetes
- Continuous Monitoring :
- It is used to Monitor the Production Environment and
Applications
www.amazon.com :
Tools :
Prometheus / Grafana / Splunk / Dynatrace - Infra-
Structure Monitoring Tools
AppDynamics / DataDog -
Application Monitoring Tools
Jenkins
4. Infra-Structure Management :
5. DevOps Tools :
Open-Source Tools
GIT,Jenkins,Docker,Kubernetes,Ansible,Terraform,Prometheus,Grafana
Managed Services
AWS - Code commit, Code Pipeline, Code Build,....
AZURE - Azure DeveOps Services
GCP - GCP DevOps Services
- DevOps Team :
- Infra-Structure Management Team
- Application Development Team
- Testing Team
- Release Management Team
- Production Support Team
- Production Monitoring Team
- Security Team
7. DevOps Assessment :
- People
- Process
- Tools
DevOps LifeCycle
gihub account ?