34-DevOps On The Cloud
34-DevOps On The Cloud
efficiently
as possible.
Operations teams need to identify and resolve problems as soon as possible by
monitoring,
predicting failure, managing the environment, and fixing issues.
Combining development and operations with the ability to monitor and analyze and
optimize
bottlenecks gives us DevOps—a collaborative approach where business owners and the
development,
operations, and quality assurance teams collaborate to continuously deliver
software.
A DevOps approach applies agile and lean thinking principles to all stakeholders in
an organization
who develop, operate, or benefit from the business’s software systems, including
customers,
suppliers, partners.
By extending lean principles across the software supply chain, DevOps capabilities
improve
productivity through accelerated customer feedback cycles, unified measurements and
collaboration across an enterprise, and reduced overhead, duplication, and rework.
Using the DevOps approach, developers can produce software in short iterations
on a continuous delivery schedule of new features and bug fixes in rapid cycles;
and businesses can seize market opportunities and reduce time to include customer
feedback
in their products.
The DevOps process involves: Continuous Delivery, which is about delivering
small, well-designed, high-quality, increments of software to customers.
Continuous Integration; creating packaged builds of the code changes released as
immutable
images; where immutable implies that when modifications are needed, the entire
component
is replaced with an upgraded version.
Continuous Deployment, which involves progressing each new packaged build through
the deployment
lifecycle as rapidly as possible.
Continuous Monitoring; with tools that help developers understand the performance
and
availability of their applications, even before they are deployed to production.
Delivery Pipeline; which is an automated sequence of steps that involves the stages
of
Ideation, Coding, Building, Deploying, Managing, and Continuous Improvement; which
loops back
to the Ideation phase in the delivery pipeline.
While DevOps can apply to applications anywhere, there is especially a compelling
case for
DevOps when it comes to cloud-ready, and cloud-native applications.
DevOps and Cloud share a symbiotic relationship.
With its near limitless compute power and available data and application services,
cloud
computing platforms come with their own risks and challenges.
DevOps’ tools, practices, and processes are helping tackle some of the complexities
and challenges posed by the cloud and allowing solutions to be delivered—quickly
and reliably.
Let’s look at some core capabilities that DevOps provides to help building and
running
applications in the cloud a lot more manageable: DevOps best practices make it
possible to
programmatically provision servers, build middleware, install application code, and
fully automate the installation process in a way that is documented, repeatable,
verifiable,
and traceable.
Application deployments often involve considerable complexity.
The DevOps’ practices of continuous integration and continuous deployment help
create a fully
automated deployment pipeline, which is important all through the application
development lifecycle.
Cloud native applications form a complex distributed system with multiple moving
parts, independent
tech stacks, and rapid release cycles.
DevOps principles are essential to define how people work together to build,
deploy,
and manage applications in a cloud native approach.
With the DevOps best practices of automated provisioning and continuous deployment,
developers,
quality professionals, and other stakeholders can test in low-cost, production-like
test
environments that were previously not available—enhancing both productivity and
quality.
When systems are compromised or struggling to recover from natural disasters,
DevOps
best practices make it possible to rebuild these systems quickly and reliably.
DevOps provides a powerful set of principles, practices, and tools to realize the
full potential
of cloud-native computing, as well as for modernizing existing applications to
leverage
cloud benefits.
In the next video, we’ll learn about application modernization.