DevOps Essentials

What is DevOps

  • Is a culture of collabaration with Developers and Operations people.
  • Is NOT tools but tools are essentail to success in DevOps
  • Is NOT a standard
  • Is NOT a product
  • Is NOT a job title.

Read : Waterfall vs Agile method of software development.

DevOps Culture

Traditional Model : Dev and Ops are seperated. DevOps Culture : Dev and Ops works together and share the same goals.

Goals

  • Fast time-to-market (TTM)
  • Minimize production Failures

Devops vs Traditional Silos

Traditional Flow

Devlopers -> QA team -> Operations

  • No Trust between teams
  • Different Priorities
  • Different Goals
  • Developers focus on features but Operations focus on uptime.
  • Lengthy process
  • Lacks of automation

DevOps Way

  • Dev writes code
  • Commit will trigger build and integration tests
  • QA can be automate
  • Automated monitoring
  • Auto-rollback previous version

Build Automation

Automate the process of preparing code for deployment.

Why ?

  • fast
  • consistent
  • repeatable
  • portable
  • reliable

Continuous Integration

  • frequent code changes

  • Using a CI Server
  • Multiple times a day
  • feedback on merge and build

Why ?

  • Easy to detect issue with smaller changes
  • small releases instead of big releases
  • continuous testing

Continuous Delivery and Continuous Deployment

  • code is always ready for deployment
  • frequently deploying small code changes

  • Automated deployment
  • if issue, automatic roll back

Why ?

  • faster time-to-market
  • fewer problems caused by deployment process
  • lower risk
  • Reliable rollbacks

Infrastructure As Code

  • manage and provision infrastructure via code
  • provisioning and managing will be done via automation

Why ?

  • consistency
  • re-usability
  • scalability
  • self-documenting
  • simplify complex infrastructure

Configuration Management

  • automated infrastructure management
  • maintainable way

Why ?

  • Save time
  • Insight
  • maintainability
  • less configuration drifts

Orchestration

  • orchestrate build and automate

Why ?

  • Scalability
  • Stability
  • Save Time
  • Self-service

Monitoring

  • Collect data like usage of CPU< memory, disk i/o etc

Why ?

  • Fast Recovery
  • Better root cause analysis
  • Visibility across teams
  • Automated response - self healing

DevOps Practices

### DevOps Tools

comments powered by Disqus