devops_unit1
devops_unit1
Introduction:
Introduction,
Agile development model,
DevOps,
ITIL.
DevOps process and Continuous Delivery,
Release management,
Scrum,
Kanban,
delivery pipeline,
bottlenecks,
examples.
Introduction
http://agilemanifesto.org/
1
fi
fi
fi
fi
Another core goal of DevOps is automation and Continuous Delivery.
Simply put, automating repetitive and tedious tasks leaves more time for human
interaction, where true value can be created.
There are several different cycles in Agile development, from the Portfolio
level through to the Scrum and Kanban cycles and down to the Continuous
Integration cycle. The emphasis on which cadence work happens in is a bit
different depending on which Agile framework you are working with. Canberra
emphasizes the 24-hour cycle and is popular in operations teams. Scrum cycles
can be between two to four weeks and are often used by development teams
using the Scrum Agile process. Longer cycles are also common and are called
Program Increments, which span several Scrum Sprint cycles, in Scaled Agile
Framework.
DevOps must be able to support all these cycles. This is quite natural
given the central theme of DevOps: cooperation between disciplines in an Agile
organisation.
Here are some examples of when DevOps can bene t Agile cycles:
• Deployment systems, maintained by DevOps engineers, make the deliveries
at the end of Scrum cycles faster and more ef cient. These can take place with
a periodicity of two to four weeks.
In organizations where deployments are done mostly by hand, the time to
deploy can be several days. Organizations that have these inef cient
deployment processes will bene t greatly from a DevOps mindset.
• The Kanban cycle is 24 hours, and it's therefore obvious that the deployment
cycle needs to be much faster than that if we are to succeed with Kanban.
A well-designed DevOps Continuous Delivery pipeline can deploy code from
2
fi
fi
fi
fi
being committed to the code repository to production in the order of minutes,
depending on the size of the change.
Agile development
3
fi
- Requirements Gathering:
Here is where you de ne the project’s requirements. This phase includes
explaining business opportunities and planning the time and effort required for
the project. Once you quantify this information, you can evaluate the technical
and economic feasibility of your project
- Construction/Iteration:
After the team de nes and designs the requirements, the real work begins.
Product, design, and developer teams start working on related projects,
ultimately deploying a product or service that is not static.
- Testing:
The quality assurance (QA) team examines and evaluates the product's
performance, looking for bugs and other flaws.
- Deployment:
The team deploys the product in a working environment.
- Feedback:
Once the product is released, the team receives feedback about the product and
handles any issues that may have arisen.
Advantages
• The agile Development Model provides additional techniques obtainable, so
in that case, if there is any kind of Modify request or improvement appears
among any level, it could be applied without any budget.
• In the Agile Development Model, ef ciency could be produced quickly.
4
fi
fi
fi
fi
fi
• The bene t of the Agile Development Model can be conserving of your time as
well as money.
• It encourages teamwork and cross-training and needs minimal resources.
• It suites in xed or evolving desires.
• You can easily control it, and it is flexible for developers.
• Working software could be delivered constantly, i.e. in Weeks or Months.
• Regularly or weekly interaction among entrepreneurs and developers
promotes software development speed.
• It primarily concentrates on the deliverable and fewer about paperwork.
• Customer, developers, and tester continuously interact with each other.
Disadvantages
• If the client-consultant is de nitely not clear what the end result they need
after the project, they can simply get the track removed.
• There is certainly large people dependency as you can nd minimal
paperwork is completed.
• It is not ideal for managing complicated dependencies.
• Transfer of technology towards the additional new team is usually hard
because there is very much less paperwork is completed.
• It offers a few troubles to testing due to insuf cient documentation.
• Why should we Use Agile Development Model?
• Many businesses are implementing Agile Development Model to assist boost
team ef ciency, improve client satisfaction and boost project flexibility.
Businesses that have used agile techniques can react to market dynamics and
associate with all their projects effectively. Agile training is a perfect way to
level-set your business as well as your project group within the foundations of
Agile and connected execution techniques. Agile training can clear up a large
number of myths and misunderstandings regarding procedures of Agile. It
may also support and reveal the fundamentals of Agile ideas and explains the
differences between the different execution solutions.
• The Organization has veri ed this model of project administration using its
improved client satisfaction rate. The worth for businesses involving this
model consists of:
• Allowing customers to become happier with the nal product by making
advancements and including potential clients with development options
through the method.
• Encourages open conversation between team members as well as customers.
• Offering teams using an affordable bene t by simply getting problems and
building changes through the entire development method, rather by the end.
• Lower Cost.
• Increases the time used in assessments for each analysis is merely on a small
section of the entire project.
• Assures changes could be made faster and through the development method
with regular evaluations to assess the item with all the expected results.
• The idea maintains every single project transparent with frequent, reliable
conferences with the customers and systems that may enable everybody to
engage and access the project data as well as to improve.
When a team adopts DevOps culture, practices, and tools, they can
achieve amazing things:
6
fi
fi
• Adapt to the market and competition
A DevOps culture demands teams have a customer- rst focus. By marrying
agility, team collaboration, and focus on the customer experience, teams can
continuously deliver value to their customers and increase their competitiveness
in the marketplace.
ITIL
ITIL is the most widely recognized and accepted framework for IT service
management (ITSM) in the world. It lays out a number of ITSM best practices,
giving direction to organizations on how to:
• Use IT for speci c business value
• Apply IT to development, transformation, and change
7
fi
fi
ITIL de nes and documents IT processes and procedures with a large
focus on oversight and planning. But, opponents say, it ends up creating silos,
which is exactly the opposite of DevOps. The biggest issue with silos, of course,
is the lack of transparency among teams, resulting in:
• Lack of ef ciency
• Gaps in security
• Repetitive or unnecessary expenses and costs
The latest version, ITIL 4, which debuted in 2019, continues to provide the
guidance needed for organizations to address new service management
challenges—but its most notable changes were around guidance on using
different technology in the era of digital transformation, cloud, and DevOps. ITIL
has also renewed its focus on the customer experience.
8
fi
fi
fi
Release Management
Now that most software has moved from hard and fast release dates to the
software as a service (SaaS) business model, release management has become a
constant process that works alongside development. This is especially true for
businesses that have converted to utilizing continuous delivery pipelines that
see new releases occurring at blistering rates. DevOps now plays a large role in
many of the duties that were originally considered to be under the purview of
release management roles; however, DevOps has not resulted in the
obsolescence of release management.
Release management acts as a method for lling the data gap in DevOps.
The planning of implementation and rollback safety nets is part of the DevOps
world, but release management still needs to keep tabs on applications, its
components, and the promotion schedule as part of change orders. The key to
managing software releases in a way that keeps pace with DevOps deployment
schedules is through automated management tools.
SCRUM
• Scrum roles
There are three key roles in Scrum: the product owner, the Scrum master, and
the Scrum team.
• Product owner
The product owner is responsible for what the team builds, and why they build
it. The product owner is responsible for keeping the backlog of work up to date
and in priority order.
• Scrum master
The Scrum master ensures that the Scrum process is followed by the team.
Scrum masters are continually on the lookout for how the team can improve,
while also resolving impediments and other blocking issues that arise during
the sprint. Scrum masters are part coach, part team member, and part
cheerleader.
10
fi
• Scrum team
The members of the Scrum team actually build the product. The team owns the
engineering of the product, and the quality that goes with it.
Product backlog
The product backlog is a prioritized list of work the team can deliver. The
product owner is responsible for adding, changing, and reprioritizing the
backlog as needed. The items at the top of the backlog should always be ready
for the team to execute on.
Scrum de nes a practice called a daily Scrum, often called the daily standup.
The daily Scrum is a daily meeting limited to fteen minutes. Team members
often stand during the meeting to ensure it stays brief. Each team member
briefly reports their progress since yesterday, the plans for today, and anything
impeding their progress.
• Task board
The task board lists each backlog item the team is working on, broken down into
the tasks required to complete it. Tasks are placed in To do, In progress, and
Done columns based on their status. The board provides a visual way to track
the progress of each backlog item.
• Sprint review
The team demonstrates what they've accomplished to stakeholders. They demo
the software and show its value.
• Sprint retrospective
The team takes time to reflect on what went well and which areas need
improvement. The outcome of the retrospective are actions for the next sprint.
11
fi
fi
Increment
The product of a sprint is called the increment or potentially shippable
increment. Regardless of the term, a sprint's output should be of shippable
quality, even if it's part of something bigger and can't ship by itself. It should
meet all the quality criteria set by the team and product owner.
This shorter, iterative cycle provides the team with lots of opportunities to
learn and improve. A traditional project often has a long lifecycle, say 6-12
months. While a team can learn from a traditional project, the opportunities are
far less than a team who executes in two-week sprints, for example.
This iterative cycle is, in many ways, the essence of Agile.
Kanban
• Focus on flow: We pull not push work, which helps us to defer commitment
until we meet our de nition of done (DoD) and we have the capacity to commit
to the next activity.
12
fi
fi
fi
• Continuous improvement: It is important to measure work from when it enters
our backlog, how long it takes to get through the process (lead time), and how
ef cient we are working (cycle/lead time). This enables us to continuously
inspect and improve how we work and track progress.
13
fi
14
Delivery Pipeline
15
fi
fi
fi
fi
fi
fi
Bottlenecks
1. Environmental challenges
Solution
16
fi
fi
fi
fi
Codemagic has an in-built infrastructure and provides end-to-end CI/CD
pipelines for mobile apps. You can manage and expand your environment in just
a few steps on Codemagic. It also allows you to encrypt and use environment
variables without storing them on the machines. You can connect your GitHub,
GitLab or Bitbucket account, set up pipelines and schedule builds for different
branches with ease.
Solution
Solution
17
fi
fi
fi
fi
Codemagic allows you to con gure and perform tests, deploy to Google Play
Store and Apple App Store, extract build artifacts and perform custom steps.
Solution
Solution
6. Obsolete practices
This process is repeated until there is no time remaining, and teams are
left to agree on what defects they can tolerate and promote to production. This is
a death spiral in action. With every release, they introduce more technical debt
into the system, lowering its quality and reliability and increasing unplanned
work.
Solution
It’s better to block bugs from moving forward in the development process.
This is accomplished by building automated test harnesses and automatically
failing the build if any of the tests fail. Continuous integration has been designed
for this process. Testing should be implemented as part of the process rather
than after the development process.
Codemagic is the fastest mobile CI/CD out there with easily customizable
workflows. You can connect your existing infrastructure and services to
automate your pipelines.
A very common pattern is the automation of repetitive tasks that kill time.
But working on automating processes for existing infrastructure is like building a
castle on loose sand, and the result is not hidden. This occurs when a team
declares itself to be a DevOps team or a person declares themselves to be a
DevOps engineer and immediately starts writing hundreds or thousands of lines
of scripts to automate their existing processes.
Solution
19
fi
fi
fi
8. Incentive-driven approach
If every team is not marching towards the same goals, then there will be a
never-ending battle of priorities and resources. If this practice continues, then
every DevOps process will remain an unsolved puzzle forever.
Solution
Did you know that Codemagic reduces development time by 50%? Their
premium VMs are the best-in-class to supercharge your team’s productivity by
running multiple builds in parallel.
9. Lack of governance
Solution
The most successful organizations have top-level support for their DevOps
initiative. These organizations make DevOps a priority in their cycles. They
break down barriers, drive organizational change, improve incentive plans,
communicate why they are doing DevOps and fund the initiative.
20
fi
fi
Organizations that incorporate the practice into their system and do not
have the required top-level monitoring suffer sooner or later. The DevOps
process itself becomes a bottleneck in the organization’s growth. The practices
should be introduced at a grassroots level. Sometimes when executives see the
results and the ROI, they become the champions for furthering the cause.
Solution
21
22
23
24
25
26
27
28
29
30
31
32
33
34