01 - Introduction of Devops
Traditional Development Models: Waterfall
DevOps is short for Development Operations
Agile
(Scrum Master)
Agile & DevOps
DevOps Goals
- Requirement Gathering -> Business
- System Design
- System Implementation
- System Testing -> QA / Testing team
- System Deployment
- System Maintenance
- It focuses on collaboration between developers and other parties involved in building, deploying, operating, and maintaining software systems
- It is about defining a flow from development through full-scale operation of a system
- It is about Systems Thinking with feedback to earlier stages of a DevOps workflow
- The emphasis is on automating processes required to release and change the software
- With a view to rapid, frequent, and reliable releases
- Agile Software Development is an umbrella term for a set of methods and on the values and principles expressed in the Agile Manifesto
- Solutions evolve through collaboration between self-organizing, teams utilizing the appropriate practices for their context
(Scrum Master)
- Some of the principles of Agile manifesto that lead to a DevOps environment
- Our highest priority is to satisfy the customer through early and continuous delivery of valuable software
- Deliver working software frequently, from a couple of weeks to a couple of months, with a preference for the shorter time scale
- Business people and developers must work together daily throughout the project
- DevOps not only talks about the collaboration between Development and Operations but improved collaboration between all teams including business
- DevOps also promotes using a lot of automation to complete the many tasks and steps that go into making a deliverable potentially shippable increment
- Using tools to replace the non-human steps like build creation, environment setup, trigger test cases, automated deployments multiple times in a day
What DevOps is Not
- A title
- A separate team
- A tool
- Only Culture
- Only automation
- Anarchy
- A one size fits all strategy
Evolution of IT
Development Process ===> Waterfall --> Agile --> DevOps
Application Architecture ===> Monolithic --> N-Tire --> Microservices
Deployment & Packaging ===> Physical Servers --> Virtual Servers --> Containers
Application Infrasturcture ===> DataCenre --> Hosted --> Cloud
- Smaller, more frequent release
- Reduced effort and risks
- Reduced cost of product iterations and delays
- A culture of communication and collaboration
- Consistency and speed through automation
- Continuous Itegration (Jenkins ) -> Push code -> complied -> Testing
- Monitoring Tools (Nagios )
- Being Proactive
- Working Together
- Automated Testing
- Cross Training
DevOps Values
Automation -> Lean -> Measurement -> Sharing -> Culture
DevOps Stakeholders
Architects, Business representatives, Customers, Product Manager, Project Manager, Quality - QA, QC , Suppliers
DevOps Workflow ( DevOps + Continuous Delivery Cycle )
- Business Need / Use Cases
- Product Owner
- Software development Team
- IDE = Integrated Deployment Environment
- eclipse, Visual Studio
- Software Check-in
- git (VC = Version Control ) or ( SCM Source = Code Management)
- Automated Software Build
- Compiled Code ( CI / CD )
- Jenkins
- Bamboo
- Maven
- Automated Test Scripts
- QA / Testing Team
- Visual Studio
- Jenkins
- Automated Deployment
- Dev -> QA -> Staging -> Product
- Ansible
- CHEF
- Puppet labs
- Monitoring / Operations
- System Centre
- Nagios
Comments
Post a Comment