KEMBAR78
What Is DevOps | PDF | Software Repository | Computer Science
0% found this document useful (0 votes)
53 views4 pages

What Is DevOps

Uploaded by

Camber
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
53 views4 pages

What Is DevOps

Uploaded by

Camber
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 4

What is DevOps?

By TechWorld with Nana

New, broad, maybe encompassing other IT fields.

An overlap of Development and Operations, which are two main components of the release process.

Release Process
 Create an application and release it to end users.
 Idea -> requirements -> code it -> test it -> build & package -> deploy
o Deploy -> configure server, configure firewall rules, launch
 After launch, have to Operate & Monitor, optimize, improve, add features.
 Each major change after launch is tracked through “Versioning” ie 1.0.0, 1.0.2, etc.

This describes a cycle of Continuous Delivery. DevOps oversees quickly delivering high quality code.

Challenges
Challenges (frictions, roadblocks) in release process

 Miscommunications & lack of collaboration between developers and operations


o Developers may code without considering how it deploys, or write a good deployment
guide
o Operations may not understand app’s purpose or how it works
o If no clearly defined, streamlined, automated process to handover between Dev & Ops
 Conflict of Interest
o Dev & Ops may have different interests or priorities
 Dev: New features fast
 Ops: maintain stability, so resist speed of release to check stability & safety
 Security
o similar to Ops ensuring stability, DevSecOps has to ensure security, which can slow
deployment especially in a traditional, manual, bureaucratic manner
 Application testing
o Testing is often done manually.
 Manual Work
o Manually deploying app
o Manually preparing deployment environment
o Manually configuring “Jenkins” build jobs
o Manually configuring access & permissions
o Manual work can be slower, more error-prone. Sharing knowledge is more difficult. It’s
intransparent & hard to trace. More difficult to recover & replicate exact infrastructure
state

DevOps tries to remove all these challenges & roadblocks and automate & streamline release process.

DevOps as a Solution
 Combination of anything that creates the process of releasing software fast & high quality. This
is very broad so each company deploys in different ways, although patterns & practices have
developed.
What is DevOps? By TechWorld with Nana

 Continuous Integration, Continuous Delivery (CI/CD) is the central process

Continuous Integration, Continuous Delivery (CI/CD)


What makes a fully streamlined CICD process and in general what does a DevOps engineer need to
know?

CICD

 Development – DevOps don’t code, but need to know:


o how developers work.
o Which Git (code repository) workflow they’re using
o How app is configured
o Automated testing
 Operations
o Servers
o Preparing infrastructure servers
o Servers are Linux
 Linux Command Line (CLI)
 Linux shell commands
 Linux file system
 Server Management
 Networking & security
o Configure firewalls & proxy servers
o Load balances
o HTTP/HTTPs
o IP addresses/DNS name resolution
 DevOps vs IT Opeations
o Need basics, not specialized knowledge of servers & other infrastructure
 Containerized Applications
o Docker – creates containers. crucial
o Kubernetes – manages docker containers
 Release – a main responsibility of DevOps
o Package Application – after development & testing, package the app as an Artifact such
as a .jar file for deployment
 Package using “Build Tools & Package Manager” tools such as npm, Maven,
Gradle, etc.
o Build Docker images
o Push to Artifact Repository – Where artifacts are saved – Nexus, DockerHub are
examples. DevOps needs to manage this repository
o Automate: using tools like “Jenkins” for Continuous Integration/Continuous deployment
 Continuous integration: gets code & code changes from Git repository
 Continuous deployment: deploys code on server
What is DevOps? By TechWorld with Nana

 Configure complete CICD pipeline

Cloud Providers
 Amazon Web Services, Azure, Google Cloud
o Save costs, offer a range of services, usually platform-specific, so learn at least one of
these

Container Orchestration
 Apps run in/as containers
 Smaller apps can be managed by DockerCompose (included with Docker?)
 Larger app clusters run by Kubernetes, powerful but complex
 Monitoring:
o Track performance
o Discover problems
o Monitoring tools you need to know: Prometheus, Nagios

Infrastructure as Code

 Automate replicating production environment into testing, staging, development environments


o Doing this manually is time consuming and error prone
 Infrastructure provisioning (Terraform), or configuration management tools (Ansible, CHEF,
Puppet) make this more efficient

Scripting language

 Small apps usable to automate tasks, so learn at least one scripting language like Bash or
Powershell (OS dependent), or Python, Ruby, GoLink (OS independent). Python is most popular.

Version Control

 Manage versioning through GIT


What is DevOps? By TechWorld with Nana

Learn the most popular tool in each category.


DevOps vs Site Reliability Engineering

 SRE may be a specific application of high level DevOps concepts


 DevOps became more focused on speed of delivery (CI/CD cycle)
 SRE as more focused on reliability/stability. SRE & DevOps became two sides of one coin.

You might also like