DevOps is a methodology that merges cultural philosophies, practices, and tools to streamline the process of software development and IT operations [AWS what is devops]. Its core objective is to deliver applications and services faster and more reliably.
2. What is DevOps?
DevOps is a set of practices that combines software development and IT
operations. It aims to shorten the system development life cycle and provide
continuous delivery with high software quality.
DevOps is the combination of cultural philosophies, practices, and tools that
increases an organization's ability to deliver applications and services at high velocity
3. Why DevOps?
● The operation and development team worked in complete isolation.
● Without the use of DevOps, the team members are spending a large
amount of time on designing, testing, and deploying instead of building
the project.
● Manual code deployment leads to human errors in production.
● Coding and operation teams have their separate timelines and are not in
synch, causing further delays.
5. 1. Automation
● Automation can reduce time consumption, especially
during the testing and deployment phase.
● The productivity increases, and releases are made quicker
by automation. This will lead to catching bugs quickly so
that it can be fixed easily.
6. 2. Collaboration
The Development and Operations team collaborates as a DevOps
team, which improves the cultural model as the teams become more
productive with their productivity, which strengthens accountability
and ownership. The teams share their responsibilities and work
closely in sync, which in turn makes the deployment to production
faster.
7. 3. Integration
● Applications need to be integrated with other components in the environment.
● The integration phase is where the existing code is combined with new
functionality and then tested.
● Continuous integration and testing enable continuous development.
● The frequency in the releases and micro-services leads to significant
operational challenges. To overcome such problems, continuous integration and
delivery are implemented to deliver in a quicker, safer, and reliable manner.
8. 4. Configuration Management
● It ensures the application to interact with only those resources that
are concerned with the environment in which it runs.
● The configuration files are not created where the external
configuration to the application is separated from the source code.
● The configuration file can be written during deployment, or they can
be loaded at the run time, depending on the environment in which it is
running
9. Tools
“DevOps tools” is an umbrella term that includes all the platforms, tools,
servers, and other applications used in a relatively new software
development life cycle (SLDC) model called DevOps.
11. 1. Git: Distributed source code management and version control system
● Git is one of the most popular DevOps tools, widely used across the software industry. It’s
a distributed SCM (source code management) tool, loved by remote teams and open-
source contributors.
● Git allows you to track the progress of your development work.
● It’s also great for experimenting, as you can create separate branches and merge new
features only when they’re ready to go.
12. 2. Jira: Issue and project tracking platform
● Jira is a popular issue tracking and project management platform.
● It’s a product of Atlassian, a renowned IT company that develops several
highly sought-after software tools, including Confluence, Bitbucket, Trello,
Statuspage, and others.
● As Jira started as a bug tracking tool, this is how most developers still think
of it. Its user-friendly interface allows you to see the development status of
your projects in context, create branches and pull requests, view commits,
manage dependencies and releases, visualize progress, and more.
13. 3. Gradle: Multi-language build automation tool
● Gradle is a versatile tool that supports multiple programming
languages, including Java, C++, Python, and others.
● It’s also supported by popular IDEs (Integrated Development
Environments) such as Netbeans, Eclipse, and IntelliJ IDEA.
● Plus, Google selected Gradle as the official build tool for Android
Studio.
14. Containerization platforms
Containerization is a lightweight form of virtualization that
packages up the source code of an application and all its
dependencies as a container image, so that it can be deployed to
different environments without further configuration.
15. 1. Docker: Open-source containerization platform
Docker has made containerization popular in the tech world, mainly
because it makes distributed development possible and helps
automate the deployment process.
It isolates applications into separate containers, so they become
portable across environments and more secure.
16. 2. Kubernetes: Automated container-orchestration
platform
● Kubernetes is a container orchestration platform that takes container
management to the next level.
● Kubernetes works well with Docker or any of its alternatives to help you
group your containers into logical units.
● Kubernetes allows you to automate the process of managing hundreds
or thousands of containers.
17. CI/CD and deployment tools
● CI/CD stands for continuous integration and continuous
delivery/deployment.
● Continuous integration is a software development practice that merges
the work of all developers working on the same project, while
continuous delivery ensures reliable and frequent releases.
18. 1. Jenkins: Open-source automated CI/CD server
● Jenkins is one of the most popular DevOps automation tools in the
market.
● It’s an open-source CI/CD server that allows you to automate the
different stages of your delivery pipeline.
● The main reason for Jenkins’ popularity is its huge plugin
ecosystem.
● With more than 1,800 plugins, it integrates with almost all DevOps
tools, including Docker, Puppet, Octopus Deploy, and more.
19. 2. Bamboo: Commercial automated CI/CD server
● Bamboo is Atlassian’s CI/CD server solution, and has many
similar features to Jenkins.
● Both are popular DevOps tools that allow you to automate your
delivery pipeline from builds to deployment.
● However, while Jenkins is open-source, Bamboo comes with a
price tag.
20. Cloud DevOps tools
These days, it’s possible to run your entire DevOps stack in the
cloud, using the managed DevOps solutions of cloud service
providers.
21. 1. Azure DevOps Services: Microsoft’s cloud-based
integrated DevOps platform
● Azure DevOps (formerly known as Visual Studio Team System or
VSTS) is Microsoft’s integrated DevOps platform.
● It enables you to manage your entire DevOps cycle from one
integrated interface.
● While Azure DevOps Services is a cloud DevOps tool that you can
use as a SaaS (Software-as-a-Service) applications.