What is DevOps? Understanding DevOps terms and Tools

Cloud Champ
14 May 202312:42

Summary

TLDRThis video from Cloud Champ demystifies DevOps by explaining its core concepts and tools with real-world examples. It covers version control systems like GitHub, infrastructure as code with tools like Terraform, configuration management with Ansible, and CI/CD pipelines using Jenkins. The tutorial also explores microservices, containerization with Docker, orchestration with Kubernetes, and monitoring with Prometheus and Grafana, guiding viewers through the entire application deployment process.

Takeaways

  • πŸ˜€ DevOps is a process aimed at delivering applications or software in a fast and reliable manner, involving building, testing, deployment, and post-deployment monitoring and logging.
  • πŸ”§ Version Control Systems like GitHub, GitLab, and Bitbucket are essential for managing code repositories, enabling collaboration, version tracking, and secure code access from anywhere.
  • πŸ‘¨β€πŸ’» Git is the underlying Version Control System, whereas GitHub is a web-based platform for creating repositories and storing code, used together for CI/CD purposes.
  • 🏭 Infrastructure as Code tools like Terraform, CloudFormation, and Pulumi allow for defining infrastructure requirements in code, enabling easy reuse and management across different environments.
  • πŸ”© Configuration management tools such as Ansible, Chef, Puppet, and Salt automate the process of configuring servers and installing necessary software for applications.
  • πŸš€ CI/CD pipelines automate the building, testing, and deployment of applications, integrating with version control systems to streamline development workflows.
  • πŸ”„ Microservices architecture involves deploying applications as a collection of small, independent services that communicate through APIs, offering better scalability and maintainability compared to monolithic architecture.
  • πŸ“¦ Containerization with Docker allows applications to be packaged with their environment, dependencies, and configurations, making them portable and easy to deploy.
  • πŸ€– Kubernetes is a leading container orchestration tool that manages the deployment, scaling, and operations of application containers across clusters.
  • πŸ”„ GitOps is a practice of using Git to define and manage infrastructure and application deployment to Kubernetes, automating updates and ensuring consistency.
  • πŸ›Ž Monitoring and alerting tools like Prometheus, Grafana, and Nagios are crucial for checking the health of applications and notifying teams of issues, ensuring high availability and performance.

Q & A

  • What is DevOps and why is it important?

    -DevOps is a set of practices that combines software development (Dev) and IT operations (Ops) to shorten the systems development life cycle and provide continuous delivery of high-quality software. It's important because it enables faster and more reliable delivery of applications and services, which is crucial in today's fast-paced digital environment.

  • What are some common DevOps tools mentioned in the script?

    -The script mentions several DevOps tools including Terraform, Ansible, Kubernetes, Jenkins, GitHub, GitLab, Prometheus, and Grafana. These tools are used for various aspects of the DevOps process such as infrastructure as code, configuration management, continuous integration and deployment, container orchestration, and monitoring.

  • What is the role of a Version Control System in DevOps?

    -A Version Control System (VCS) in DevOps is used to manage and track changes to the source code of applications. It allows multiple developers to work on the same project without overwriting each other's changes, supports branching and merging, and provides a way to roll back to previous versions if needed.

  • How does Infrastructure as Code (IaC) simplify the creation of cloud resources?

    -Infrastructure as Code (IaC) allows developers to define and provision infrastructure using code, which can then be version-controlled and automated. This simplifies the creation of cloud resources by making it reproducible, consistent, and less error-prone, as opposed to manually setting up each resource.

  • What is the difference between Git and GitHub as mentioned in the script?

    -Git is a Version Control System that allows you to manage and keep track of code history, while GitHub is a web-based platform that uses Git for version control and additionally provides features like repositories, collaboration tools, and integrations for CI/CD pipelines.

  • Why is it beneficial to use configuration management tools in DevOps?

    -Configuration management tools like Ansible, Chef, and Puppet are beneficial in DevOps because they automate the process of configuring servers and installing necessary software. This ensures consistency across environments, reduces human error, and speeds up the deployment process.

  • What is the purpose of CI/CD in the software deployment process?

    -CI/CD, or Continuous Integration and Continuous Deployment, is used to automate the steps of building, testing, and deploying software. It ensures that code changes are automatically tested and deployed, which increases the speed and reliability of software releases.

  • How does containerization with Docker help in deploying applications?

    -Containerization with Docker packages an application and its dependencies into a single unit, called a container, which can run consistently across different computing environments. This makes it easier to deploy, scale, and manage applications, as it provides isolation and consistency.

  • What is Kubernetes and why is it used for container orchestration?

    -Kubernetes is an open-source platform used for automating the deployment, scaling, and management of containerized applications. It is used for container orchestration because it efficiently manages the lifecycle of containers, handles service discovery, load balancing, and storage orchestration, making it ideal for complex applications with multiple containers.

  • Why is monitoring important in the context of DevOps?

    -Monitoring is crucial in DevOps to ensure the health and performance of applications and infrastructure. It helps in identifying and addressing issues proactively, thus preventing downtime and ensuring a positive user experience. Tools like Prometheus and Grafana provide insights into application metrics and system health.

Outlines

00:00

πŸ˜€ Introduction to DevOps and Its Tools

The video script introduces the complex world of DevOps, an approach to software development that emphasizes collaboration between development and operations teams. It covers a variety of terms and tools such as Infrastructure as Code, containerization, configuration management, Version Control Systems, microservices, CI/CD, and monitoring tools like Prometheus and Grafana. The speaker promises to explain these concepts with real-world examples to clarify their use in the deployment process. The target audience is newcomers to DevOps who may find the terminology confusing. The script outlines the video's intent to guide viewers through the deployment of an application from scratch, using various DevOps tools and best practices.

05:02

πŸ› οΈ DevOps Practices: Version Control and Infrastructure as Code

This paragraph delves into the initial steps of the DevOps process, emphasizing the importance of Version Control Systems like GitHub, GitLab, or Bitbucket for code storage and management. It highlights the benefits of using such systems, including branch management, collaborative work, and the ability to roll back changes. The script introduces the difference between 'git', the Version Control System, and 'GitHub', the web-based platform. It then discusses the transition from local development to cloud deployment, touching on the use of Infrastructure as Code tools like Terraform, CloudFormation, or Pulumi to automate server creation on cloud platforms, thereby reducing manual effort and increasing reproducibility across environments.

10:03

πŸ”„ Automation and Deployment Strategies in DevOps

The script continues with the discussion on automating server configuration using tools like Ansible, Chef, Puppet, and Salt. It explains how these tools allow for the definition of server configurations in code, enabling the simultaneous setup of multiple servers. Following this, the paragraph explores the manual process of deploying applications and the benefits of automating this with CI/CD pipelines using tools such as Jenkins, GitHub Actions, and GitLab CI. The transition from manual deployments to automated processes is highlighted as a key aspect of efficient DevOps practices. Additionally, the paragraph touches on the scalability of applications and the shift from monolithic to microservices architecture, introducing Docker for containerization and Kubernetes for container orchestration.

πŸš€ Advanced DevOps Techniques: GitOps, CI/CD, and Monitoring

The final paragraph of the script covers advanced DevOps techniques such as GitOps, where manifest files for Kubernetes are stored in git repositories and changes are automatically applied to the cluster. It also revisits CI/CD in the context of deploying applications on Kubernetes, using tools like Jenkins, Travis CI, and GitHub Actions to streamline the process. The importance of monitoring applications using tools like Prometheus and Grafana is underscored, as is the use of alerting tools to notify teams of issues promptly. The script concludes by summarizing the entire DevOps process from code repository management to application deployment, container orchestration, and monitoring, inviting viewers to engage with the content and reach out with questions.

Mindmap

Keywords

πŸ’‘DevOps

DevOps is a set of practices that combines software development (Dev) and IT operations (Ops) to shorten the systems development life cycle and provide continuous delivery of high-quality software. In the video, DevOps is described as a process of delivering applications or software in a fast and reliable manner. The video aims to demystify various DevOps terms and tools, showcasing how they are used in the deployment process.

πŸ’‘Infrastructure as Code (IaC)

Infrastructure as Code is the approach of managing and provisioning computer data centers through machine-readable definition files, rather than physical hardware configuration or interactive configuration tools. The video explains how tools like Terraform, CloudFormation, or Pulumi are used to define infrastructure in code, allowing for easy reuse and management of infrastructure across different environments.

πŸ’‘Version Control Systems

Version Control Systems are essential tools used to track and manage changes to source code over time. In the context of the video, GitHub, GitLab, and Bitbucket are mentioned as platforms where developers can create repositories and push their code, allowing for collaboration, branching, and rollbacks when necessary.

πŸ’‘Microservices

Microservices architecture is an approach to developing a single application as a suite of small services, each running in its process and often its own container, and each service is loosely coupled to other services. The video contrasts microservices with monolithic architecture, highlighting the benefits of scalability and maintainability in a microservices setup.

πŸ’‘Containerization

Containerization is the process of encapsulating and bundling a software application and its dependencies together in a container. Docker is mentioned in the video as the popular tool for containerization, allowing applications to be run in isolated containers, which can be easily deployed and managed.

πŸ’‘CI/CD

CI/CD stands for Continuous Integration and Continuous Deployment. It is a practice where developers regularly merge their code changes into a central repository, and the code is automatically tested and prepared for a release to production. The video emphasizes the importance of CI/CD in automating the process of building, testing, and deploying applications, with tools like Jenkins, GitHub Actions, and GitLab CI/CD.

πŸ’‘Configuration Management

Configuration management tools are used to automate the configuration of servers and other infrastructure. In the video, tools like Ansible, Chef, Puppet, and Salt are mentioned for automating the installation of software, managing configurations, and ensuring consistency across environments.

πŸ’‘Kubernetes

Kubernetes is an open-source container orchestration platform for automating deployment, scaling, and management of containerized applications. The video explains how Kubernetes can be used to manage multiple containers of an application, defining how many replicas should be running, what images should be used, and managing volumes and other resources.

πŸ’‘Monitoring

Monitoring in the context of DevOps refers to the practice of observing and checking the health of applications and infrastructure to ensure they are running correctly. The video mentions tools like Prometheus, Grafana, and Nagios for monitoring purposes, which can alert teams when there are issues or downtimes.

πŸ’‘Git

Git is a distributed version control system created by Linus Torvalds, the same person who created Linux. In the video, Git is described as the underlying Version Control System used to manage and track changes in source code, which is essential for collaboration among developers and for pushing code to platforms like GitHub.

Highlights

DevOps is a process of delivering applications or software in a fast and reliable manner.

DevOps engineers are responsible for application building, testing, deployment, and post-deployment stages like monitoring and logging.

Version Control Systems like GitHub, GitLab, or Bitbucket are essential for code management, providing benefits such as branching, collaboration, and rollback capabilities.

Git is the underlying Version Control System, while GitHub is a web-based platform for creating repositories and storing code.

Infrastructure as Code tools like Terraform, CloudFormation, or Pulumi allow for defining infrastructure in code, simplifying environment setup and reducing setup time.

Configuration management tools such as Ansible, Chef, Puppet, and Salt automate server configuration and software installation.

CI/CD pipelines automate the process of building, testing, and deploying applications, integrating with version control systems for continuous updates.

Microservices architecture involves deploying small, independent services that work together, offering advantages in maintainability and scalability over monolithic architecture.

Docker is a popular tool for containerizing applications, allowing them to run in isolated environments.

A Dockerfile contains instructions to create a Docker image, which can be stored and pulled from repositories like Docker Hub or ECR.

Container orchestration tools like Kubernetes manage multiple containers, defining replicas, images, and volumes for application deployment.

GitOps is a practice of automating deployment and management of containerized applications using GitHub in conjunction with Kubernetes.

CI/CD for Kubernetes automates the deployment process of applications on Kubernetes clusters using tools like Jenkins, Travis CI, or GitHub Actions.

Monitoring tools such as Prometheus and Grafana are crucial for checking the health of applications and ensuring they respond to requests.

Alerting tools like SNS on AWS, Slack, or PagerDuty notify teams of issues, allowing for quick response to application downtime or failures.

The video provides a comprehensive guide from building an application to deploying it on servers or containers, including setting up CI/CD and using Kubernetes for orchestration.

The importance of understanding DevOps terms and tools is emphasized for efficient application deployment and management.

Transcripts

play00:02

devops is confusing with so many

play00:05

different terms like infrastructure as

play00:07

code containerization configuration

play00:09

management Version Control Systems

play00:11

microservices cicd and so much more not

play00:14

to mention the different devops schools

play00:16

like terraform ansible kubernetes

play00:17

Jenkins GitHub gitlab Prometheus grafana

play00:21

and so much more so in this video I am

play00:24

going to explain you all these different

play00:25

terms with the real world example to

play00:27

make you understand where to use all

play00:29

these different tools in the deployment

play00:30

process this video is going to be very

play00:33

helpful for you so watch this video till

play00:35

the end

play00:37

hey everyone Welcome to Cloud champ in

play00:40

this video we are going to understand

play00:42

devops completely so if you're new to

play00:44

devops and have no idea what are these

play00:46

different devops terms or don't know

play00:48

when to use terraform or Jenkins or

play00:50

Prometheus in the devops process then

play00:52

this video is for you throughout this

play00:54

video we are going to take an example

play00:55

and understand how is an application

play00:57

deployed from scratch discussing all the

play01:00

different devops terms and the tools

play01:01

used along with best practices so please

play01:04

like this video if you're new subscribe

play01:06

to the channel and let's start before we

play01:09

move ahead let's understand what is

play01:10

devops which is one of the most

play01:12

confusing terms and there are so many

play01:13

different definitions for it so to

play01:15

explain your devops in very simple way

play01:17

devops is a process of delivering

play01:19

applications or softwares in a fast and

play01:21

reliable Manner and a devops engineer is

play01:23

a person who is responsible for

play01:24

application building testing and

play01:27

deployment also some stages after

play01:29

deployment like monitoring and logging

play01:31

to make sure your application is running

play01:32

fine now that we have an idea of what is

play01:34

devops so let's take a scenario consider

play01:36

you are working as a developer engineer

play01:38

at a company where you are given a task

play01:40

to deploy an application so the code for

play01:43

this application has been written and

play01:44

given it to you by developer you have

play01:47

your code in your local machine and now

play01:49

you are ready to deploy it but there are

play01:50

issues when you have your code in your

play01:52

local machine so if you lose your

play01:54

machine your code is gone if you don't

play01:55

have access to your machine you don't

play01:57

have access to your code and that is why

play01:59

it's a best practice to First create a

play02:01

repository and push your code on Version

play02:03

Control Systems like GitHub gitlab or

play02:06

bitbucket pushing your code to Version

play02:07

Control Systems like GitHub and gitlab

play02:09

can provide you with so many different

play02:11

benefits you can have different branches

play02:13

for different versions of your

play02:14

applications different people working on

play02:16

your application you can also have a way

play02:18

to roll back if there's an issue and you

play02:20

also have a place where you can securely

play02:21

push your code and access it from

play02:23

anywhere in the world so first thing you

play02:25

should always do when starting with an

play02:27

application is pushing your code on

play02:28

GitHub and gitlab or bitbucket anything

play02:31

so you decided to push your code on

play02:33

GitHub repositories and for that you use

play02:35

git to push your code on GitHub

play02:37

repositories understand there is a

play02:39

difference between git and GitHub GitHub

play02:40

is a web-based platform where you can

play02:42

create repositories and push your code

play02:44

but for you to push the code you require

play02:46

git which is created by Lena store walls

play02:48

the same person who created Linux so get

play02:51

is the underlying Version Control System

play02:53

whereas GitHub or gitlab or bitbucket

play02:55

are all web-based platforms where you

play02:57

can create repositories and store your

play02:58

code these repositories can also be used

play03:00

for CI CD purposes which we are going to

play03:03

learn later on but for now we are using

play03:05

GitHub to push our code from a local

play03:07

machine to GitHub repositories through

play03:09

which we can access our code from

play03:10

anywhere now the code is on GitHub and

play03:13

we can clone it on any machine and try

play03:15

to run it locally when we run an

play03:17

application locally it's only accessible

play03:18

to us it's not accessible to the

play03:20

internet and for you to make it

play03:22

accessible you have to deploy it on the

play03:24

cloud

play03:25

so to reply the cloud you have two

play03:26

options you can either deploy this

play03:27

application on servers or on containers

play03:31

let's say for now you don't have much

play03:33

traffic and you don't want to have

play03:34

scaling so you decided to go with the

play03:36

servers so you want to deploy this

play03:38

application on servers and for that you

play03:40

need to create servers on the cloud and

play03:42

to create a service on the cloud you

play03:43

need to go to the cloud provider let's

play03:44

say AWS you went to ec2 dashboard

play03:46

clicked on launch instance fill in all

play03:48

the details what operating system you

play03:49

want what Security Group should be there

play03:51

what should be the key keypad what

play03:53

should be the volume and all of that and

play03:54

you created an instance but that's not

play03:57

how devops Engineers do so if you want

play03:59

to create a server you will be using

play04:00

tools like terraform cloud formation or

play04:03

pulumi where you write the

play04:04

infrastructure in the form of code so

play04:06

you will be defining I want to have two

play04:07

ec2 instances with Linux operating

play04:09

systems 8GB storage and all of that in

play04:12

the form of code something like this and

play04:14

then you can run the command turn off

play04:16

apply to have that server on the cloud

play04:18

using infrastructure as code tools like

play04:20

terraform you can easily reuse the code

play04:23

to create infrastructure in different

play04:24

environments like staging development

play04:26

and Broad also reducing the time and

play04:28

effort required to set up your

play04:30

infrastructure now only this you can

play04:32

also store your code on Version Control

play04:34

Systems to maintain versions and

play04:36

rollbacks if necessary so companies use

play04:39

different infrastructure as code tools

play04:40

like terraform pulumi cloudformation

play04:42

Azure Ram templates Google Cloud

play04:44

deployment manager and much more now you

play04:46

have your server ready which is created

play04:48

through infrastructure as code practice

play04:50

but there is something more you need to

play04:52

do before you deploy your application on

play04:53

the server so this application is

play04:56

written in Python language and for you

play04:58

to run it on server you need to install

play04:59

python on it along with some other

play05:01

dependencies that might be required for

play05:03

the application to run so you can run

play05:05

the commands to configure it or to

play05:07

install python or any other database or

play05:10

any dependencies let's say flask or

play05:11

Django but a devops Engineers won't be

play05:14

doing it manually so to automate this

play05:16

configuration you can use configuration

play05:18

management tools like ansible Chef

play05:21

puppet salt and a lot more using these

play05:24

tools you can configure your servers and

play05:26

install the necessary software so the

play05:28

idea is you need to define the

play05:29

configuration in the form of code so you

play05:31

can tell install python install this

play05:33

database start the database add this

play05:35

query all that stuff in the form of code

play05:37

and run it on the service when you do

play05:40

this you can configure multiple servers

play05:42

at once so you can configure your

play05:44

infrastructure using tools like ansible

play05:45

puppet Chef salt and lot more so now you

play05:49

have your server ready and configured to

play05:51

run your application so you cloned the

play05:53

code from the repository on the server

play05:55

now and you have deployed your

play05:56

application which is running properly

play05:58

you also connected your IP address with

play06:00

the domain name using DNS so now anyone

play06:03

on the internet can access your

play06:04

application through your domain name so

play06:06

now your application is working properly

play06:07

on the servers and your users are happy

play06:09

as well let's say you want to include

play06:11

some feature or new version of your

play06:13

application so you will get the code

play06:14

from the developer create a build and

play06:16

deploy it on your server get the code

play06:18

create a build Deploy on server get the

play06:20

code create the build and deployment

play06:21

server so this is all manual process and

play06:23

to automate all of this you can use CI

play06:25

CD or continuous integration and

play06:28

continuous deployment using CI CD

play06:30

pipeline you can automate the process of

play06:32

building testing and deploying your

play06:34

application on the server so everything

play06:36

done automatically so the idea is you

play06:37

can connect it with your version control

play06:39

system whenever there's a push mate to

play06:41

GitHub or gitlab the build should be

play06:44

created and automatically deployed on

play06:45

the servers this can be done using

play06:47

different tools like Jenkins GitHub

play06:49

actions gitlab cicd Travis CI Circle CI

play06:53

and a lot more CI CD is one of the most

play06:56

important aspect of devops and is used

play06:58

by all the companies now so you should

play07:01

have an idea of what is a CI CD till now

play07:03

we have discussed everything required to

play07:05

deploy an application on the servers we

play07:07

have seen how you can push your code on

play07:09

repositories how to create a server

play07:11

using infrastructure as code tools like

play07:13

terraform you can you have also seen how

play07:16

to configure your servers using

play07:17

configuration management tools like

play07:19

ansible we have seen how to deploy our

play07:21

applications on the servers and to

play07:23

automate all of this stuff we have seen

play07:25

how we can use CI CD pipelines using

play07:27

tools like Jenkins gitlab or GitHub

play07:29

right now now let's consider that your

play07:33

application is viral and you have a lot

play07:35

more traffic so you want to convert your

play07:37

application in a micro service

play07:39

architecture where you want to deploy

play07:41

all of your components in separate

play07:43

containers using Docker so let's

play07:45

understand what is a microservice

play07:46

architecture and what is a monolith

play07:48

architecture so monolith is an

play07:49

architecture where your application is

play07:51

deployed as a single unit and there are

play07:53

some disadvantages whereas some

play07:55

advantages as well for this so Advantage

play07:57

is that it is very easy for you to

play07:59

develop and deploy your application

play08:00

whereas it is difficult for you to

play08:02

maintain and scale this also if one of

play08:05

the component in the monolith

play08:06

architecture fails the entire

play08:08

application is brought down whereas if

play08:10

you look at microservices micro service

play08:12

architecture microservice architecture

play08:14

is a collection of small and independent

play08:15

services that work together to form a

play08:17

large application each service is

play08:19

responsible for different functions so

play08:21

let's say one of the container or one of

play08:23

the service is a database second is a

play08:25

message queue it can be a web

play08:26

application or anything and all of them

play08:29

talk to each other through apis so they

play08:31

are very Loosely coupled unlike monolith

play08:33

which are very tightly coupled even if

play08:34

one of the application one of the

play08:36

service is down the other services are

play08:38

not affected where you can easily scale

play08:40

and maintain it but disadvantage is you

play08:42

have to have lot of knowledge and it's

play08:44

very complex for you to develop and

play08:45

deploy microservices application so

play08:47

let's say you decided to my create an

play08:49

application in the form of microservices

play08:50

and you want to deploy it in the form of

play08:52

containers and whenever you want to

play08:54

deploy application in the form of

play08:55

container the most popular tool is

play08:57

Docker so using Docker you can

play08:59

containerize your application to make it

play09:01

run on containers so now your

play09:03

application was running on servers but

play09:05

you won't deploy it on containers and

play09:06

for you to do that you need to create

play09:08

Docker file so a Docker file what is a

play09:11

Docker file Docker file is a

play09:12

instructions written down in a file for

play09:14

your application to make it run as a

play09:16

Docker container using Docker file you

play09:18

can create an image so you will create a

play09:20

Docker file run the build command Docker

play09:22

build hyphen T my image name and then it

play09:24

will create an image for you now you

play09:26

have your image which you can store on

play09:27

Docker Hub or ECR repositories this

play09:30

image can be pulled by anyone if it is a

play09:32

Public Image but if it isn't private

play09:33

people in your organization can pull

play09:35

that image and run your application in

play09:37

the form of container after you have

play09:39

your image you will now you can running

play09:41

the containers and your application has

play09:43

multiple containers one container for

play09:44

database one for message queue one for

play09:46

your application and a lot more so there

play09:49

are multiple containers and for you to

play09:50

manage them you need to use something

play09:52

known as container orchestration and

play09:54

there are different tools for container

play09:56

orchestration like kubernetes openshift

play09:58

mezos launcher and a lot more the most

play10:01

popular One is kubernetes using

play10:02

kubernetes you can manage different

play10:03

containers of your application you can

play10:05

Define how much replica should be

play10:07

running what should be the image running

play10:08

for your application how much should be

play10:09

the volume and all of that stuff so

play10:11

overall the container orchestration

play10:12

tools like kubernetes are responsible to

play10:15

provide a way to manage and automate the

play10:16

deployment of applications that are

play10:18

running on Docker containers now you

play10:19

have your application running on

play10:21

containers using kubernetes which is

play10:23

very awesome so I hope you have

play10:24

understood everything till now if you

play10:26

have any questions feel free to note

play10:28

down in the comment section after you

play10:30

have kubernetes you can use something

play10:31

known as git Ops using githubs with

play10:33

kubernetes you can automate the

play10:35

deployment and management of

play10:36

containerized applications so the main

play10:38

popular GitHub foreign city and the idea

play10:41

is you define your manifest files on git

play10:43

repositories and whenever there's a

play10:45

change the change is going to be

play10:46

reflected on your kubernetes cluster so

play10:48

if you added a new service it will be

play10:50

shown on here you don't need to run any

play10:51

commands you don't need to run cubicle

play10:53

apply as well and everything will be

play10:55

defined on your kubernetes cluster when

play10:57

you make the change in your git

play10:58

repositories because the git

play11:00

repositories are usually connected with

play11:01

these get offs tools now your

play11:04

application is running on kubernetes you

play11:05

can also enable CI CD to automate all

play11:07

this process whenever you have a new

play11:09

application that should be deployed on

play11:10

kubernetes so cicdu using tools like

play11:13

Jenkins or Travis Ci or GitHub actions

play11:15

or gitlab cicd you can automate the

play11:17

process of deploying your applications

play11:18

on kubernetes now once your application

play11:21

is ready you need to make sure that it

play11:23

is running properly so you need to

play11:25

monitor them and monitoring means

play11:27

checking the health of your applications

play11:28

and making sure that an application is

play11:30

responsing to all the requests you can

play11:31

use different tools like Prometheus

play11:33

grafana nagios for your monitoring

play11:35

purposes

play11:36

or you can also use alerting tools like

play11:38

SNS on AWS you can use slack you can use

play11:41

pager Duty so whenever there's an issue

play11:43

or your application is down cluster is

play11:45

down or container is not creating you

play11:47

can get a notification on slack and you

play11:49

can easily look into it so these are all

play11:51

the different steps all the processes

play11:53

required for deploying your applications

play11:54

on servers or on containers including

play11:57

different terms like infrastructure as

play11:59

code configuration management Version

play12:01

Control System

play12:02

containerization CI CD and a lot more I

play12:06

hope this video was helpful throughout

play12:07

the video we have learned everything

play12:09

from the start right from the start from

play12:11

building the application to pushing or

play12:13

pushing on git repositories to deploying

play12:16

on servers setting up CI CD then

play12:18

deploying on containers using kubernetes

play12:21

to for container orchestration

play12:23

monitoring your application using tools

play12:26

like Prometheus grafana and alerting as

play12:29

well so I hope this video was helpful if

play12:31

you have any questions any doubt to feel

play12:33

free to drop a comment below and you can

play12:35

also reach me on LinkedIn I hope this

play12:37

was informative please like this video

play12:39

subscribe to my channel and have a good

play12:41

day

Rate This
β˜…
β˜…
β˜…
β˜…
β˜…

5.0 / 5 (0 votes)

Related Tags
DevOpsInfrastructure as CodeContainerizationCI/CDMicroservicesVersion ControlCloud DeploymentConfiguration ManagementDockerKubernetes