# DevOps Bootcamp

Day 2

**Introduction to DevOps**

Overview and concepts explained

\-&gt; Different roles with different job descriptions

\-&gt; Good overview of own department

`Complete Software Development Process`

* to build an application requires all different IT roles.
    

1. **Programming**
    

> Software is programmed by developers.
> 
> in different programming languages, e.g. Java, Python, and Javascript.
> 
> one team per app or per features
> 
> new functionalities
> 
> fix bugs.

1. **Software Testing**
    

> Test the new features
> 
> test the old code/functionality
> 
> testing is done by developers and dedicated testers
> 
> Automated testing

1. **Release of Software**
    

> Build application
> 
> run on servers
> 
> upgrade existing features

1. **Operations**
    

> run software in production
> 
> no downtime
> 
> handle huge traffic

**Development vs Operations**

*Development* *Operations*

1. Programming language OS, mostly Linux
    
2. Testing frameworks Command line
    
3. Databases Scripting
    
4. Version Control Monitoring tools
    

Communication is very important while implementing but in reality Silos between these two.

---

**Solution: DevOps Culture**

> DevOps was just way of working between DEV's and OP's
> 
> Common language to communicate
> 
> Became its own role and job

**<mark>DevOps Tasks and Responsibilities</mark>**

needs some know-how from DEV and OP's team.

additional DevOps specific skills and know-how.

**Building CI-CD pipeline**

TEST -&gt; BUILD -&gt; PUSH -&gt; DEPLOY

**Waterfall vs Agile**

Requirement--&gt; Development--&gt; Testing--&gt; Operations

> plan everything beforehand
> 
> Developers code complete app
> 
> testing after everything has developed
> 
> huge preparation

. **ineffective process**

**. over time new requirements may arise**

. **many places of failure and communications**

`Benefit of Agile`

> Speed of development, testing and deployment cycles.
> 
> each feature gets tested, deployed
> 
> immediate feedback
> 
> scrum and kanban implementations

Agile methodology is the core of the CI-CD process which is the reason that many companies are adopting it.
