Lecture 1
Lecture 1
•B.E from VTU, M.S in Software Systems from BITS (WILP) and PhD from MAHE
•Worked as Business Analyst and Team Lead at SLK Software Services for 7+
years
•Previously worked in Presidency University and Sahyadri College, Mangaluru as
R&D Head, CSE
•Executed 10+ Consultancy projects
•COE member in AI&ML and COE member in Data Science (Govt. Sponsored for
1.2 Cr)
Consultancy
•ISRO-SAC (Ahmedabad) funded research project titled “Ontology Enabled
Disaster Management Web Service using Data Integration” as Technical
Consultant. Deployed in ISRO.
• Name
• Experience in any Cloud platform: Yes / No (If Yes, mention Cloud Provider)
CO1 Understand the DevOps landscape with dimensions such as people, process,
and tools
CO4 Familiarize with the tools and technologies employed in implementing Cloud
DevOps for effective application deployment and management
CO5 Understand the principles and practices involved in DataOps and MLOps
Module Description
0 Foundational Concepts
1 Introduction to DevOps
4 Continuous Integration
6 Kubernetes
7 Continuous Deployment
Module Description
8 IaC and Serverless CI/CD
11 MLOps
12 DataOps
Session Coverage
CS01 Foundational Concepts and Introduction to DevOps
CS02 Introduction to DevOps (contd…)
CS03 Cloud Native Application
CS04 Source Code Management
CS05 Continuous Integration (Traditional approach)
CS06 Continuous Integration and Continuous Delivery using GitOps
CS07 Kubernetes
CS08 Kubernetes (contd…)
CS09 Continuous Deployment (Traditional approach)
CS10 Continuous Deployment using GitOps
CS11 IaC and Serverless CI/CD
CS12 Security in the DevOps lifecycle
CS13 Observability and Continuous Monitoring
CS14 MLOps
CS15 DataOps
CS16 Future trends in Cloud DevOps & Course Review
Foundational Concepts
Agenda [Recap/ Review]
• Design our flows in language that IT crowd can understand straight away
[UML - Visio]
• Overlaps with requirement analysis
• Desirable as diagrams are perfect middle language that we are looking for
• Minimal Value Product
• May include Storytelling via Prototypes
• Software is built
• “Deliver early and deliver often” is mantra followed to minimize impact of wrong
specification
• No matter what we do, our software has to be modular so we can plug and play
modules in order to accommodate new requirements
• Deploy = Release
Software Process (SP) is a framework for the activities, actions, and tasks that are
required to build high-quality software.
Prescriptive models are used as guidelines to organize and structure how software
developmental activities should be performed, and in what order.
The name 'prescriptive' is given because the model prescribes a set of activities,
actions, tasks, quality assurance and change the mechanism for every project.
October 10, 2020 SEWI ZG512 Object Oriented Analysis and Design
BITS Pilani, Pilani Campus
BITS Pilani
Pilani Campus
• The project will produce the wrong product [after long months / year effort]
• The project will produce a product of inferior quality [not meeting expectations]
• The project will be late
• We’ll have to work 80 hour weeks
• We’ll have to break commitments
Kent Beck et al
1. Our highest priority is to satisfy the customer through early and continuous delivery of valuable
software
2. Welcome changing requirements, even late in development. Agile processes harness change for the
customer's competitive advantage
3. Deliver working software frequently, from a couple of weeks to a couple of months, with a preference
to the shorter timescale
4. Business people and developers must work together daily throughout the project
5. Build projects around motivated individuals. Give them the environment and support they need, and
trust them to get the job done
6. The most efficient and effective method of conveying information to and within a development team is
face-to-face conversation
7. Working software is the primary measure of progress
8. Agile processes promote sustainable development. The sponsors, developers, and users should be
able to maintain a constant pace indefinitely
9. Continuous attention to technical excellence and good design enhances agility
10. Simplicity--the art of maximizing the amount of work not done--is essential
11. The best architectures, requirements, and designs emerge from self-organizing teams
12. At regular intervals, the team reflects on how to become more effective, then tunes and adjusts its
behavior accordingly
*self-organizing team -> cross-functional team, collaboration (dev, test, ops), ownership, focus on
continuous delivery
Being Agile
•Effective (rapid and
adaptive) response to
change
•Effective
communication among
all stakeholders
•Drawing the customer
onto the team
•Organizing a team so
that it is in control of
the work performed
https://
www.youtube.com/watch?v=1iccpf2eN1Q
• Scrum
• Extreme Programming [XP]
• Test driven Development [TDD]
• Feature Driven Development [FDD]
• Behavior-driven development [BDD]
2. Sprint Planning
– Product Owner and Scrum Master select subset of items from product backlog to work for the
sprint (~2-4 weeks).
– Team commits to deliver the potentially shippable product increment
3. Sprint Backlog
– Tasks / Timelines for the current sprint are estimated and team commits
4. Daily Stand-ups
– Discuss progress, challenges and plans for the day
– Answer three qns -> What did I do yesterday, What will I do today. Any impediments for my
progress?
5. Sprint Review
– At the end of sprint, team will showcase work to stakeholders and feedback is gathered
2. Scrum Master
– Facilitates the scrum process
– Helps team remove impediments
– Ensures that scrum practices are followed
3. Development Team
– Cross- functional and self-organizing
– Usually consists of developers, testers, designers
– Commits to completing tasks in the Sprint Backlog
4. Stakeholders
– Anyone with an interest in the project, including customers, end-users, and managers
– Provides feedback during Sprint Review
https://jessefewell.com/wp-content/uploads/2014/07/scrum-responsibilities-raci.png
Introduction to DevOps
Need for DevOps
Blame Game