DevOps/CI/CD

By - Rajesh Kumar

Email - rajesh@scmgalaxy.com

https://twitter.com/rajeshkumarin.

DevOps is a Philosophy

  • Agile & Lean applied to the whole software delivery chain, not just developers
  • Driven by efficiency and consistencies
    1. Building applications
    2. Building Environments
    3. Configuring Applications and environments
  • Optimizing software Delivery to End to End

DevOps is ....

  • no definition
  • It certainly isn't a person
  • No strict rules
  • No strict tools
  • It's not even new
  • If you aren't doing it already...
  • ... you are doing it wrong

Vision and Directions of DevOps

  • Must have
    • Centralized build server across products
    • Standard approach for validating builds through automated testing
    • Centralized static code analysis setup for all products
    • Significant automated test coverage across products
For More Click Here
  • Nice to have (Standardization)
    • Centralized common source management tools such as Git
    • Common build script across the organization
    • Standard release and deployment process across products
    • Centralized monitoring setup for CM infrastructure, builds and notifications
    • Centralized server to manage, upgrades and Install SCM, builds and QA machines

DevOps / CI / CD

What is
Continuous Integration (CI)?

Continuous Integration is a software development practice where members of a team integrate their work frequently, usually each person integrates at least daily - leading to multiple integrations per day. Each integration is verified by an automated build (including test) to detect integration errors as quickly as possible.

- Martin Fowler
Down arrow

Continuous Integration (CI)

What is
Continuous Delivery (CD)?

Continuous Delivery is the continual delivery of code to an environment once the developer feels the code is ready to ship.

The idea is to deliver code to a user base - QA (UAT or Staging) or customers (Production environment), for continual review and inspection.

Benefits from CI / CD?

  • Fast, reliable, and ready to QA/Deploy/Build operation
  • Seamless integration between CM, build, QA, deployment, security, and continuous feedback.
  • Reduces risks and defects and Improves the quality of the deliverables
  • Improves development team agility and velocity
  • Make Every build is for potential release

Benefits from CI / CD?

  • Eliminate manual bottlenecks and automate whatever possible
  • Have automated tests you can trust and Enforces best practices
  • Avoid wait time, handoff conflicts and human errors
  • Know results earlier! Fix bugs faster! More stable builds!
  • Supports transition to Cloud based deployment

Why Feedback?

Monitoring is for Feedback of

  • Code Quality poor | average | good | best
  • Builds pass | fail
  • Test Quality
  • System Availability
  • Performance of Tools and Products
  • SCM Infrastructure Availability
  • It save time of.
    • Developer
    • Engineer
    • Manager
    • Director
    • CEO

Continuous Delivery Workflow

Delivery Vs Deployment

Challenges for Large Organization

Solution

One Problem One tool

Benefits

Some Board Work ..... Found on Google

Thanks For Watching