---
title: 'Azure DevOps Engineer Full Course 2026 [FREE] | Azure DevOps Tutorial For Beginners | Simplilearn'
source: 'https://youtube.com/watch?v=D3C4cXkbu-w'
video_id: 'D3C4cXkbu-w'
date: 2026-08-08
duration_sec: 23639
---

# Azure DevOps Engineer Full Course 2026 [FREE] | Azure DevOps Tutorial For Beginners | Simplilearn

> Source: [Azure DevOps Engineer Full Course 2026 (FREE) | Azure DevOps Tutorial For Beginners | Simplilearn](https://youtube.com/watch?v=D3C4cXkbu-w)

## Summary

This video is a comprehensive Azure DevOps Engineer (AZ-400) course by Simplilearn, covering the fundamentals of DevOps, its importance in modern app-driven organizations, and a detailed walkthrough of implementing DevOps practices using GitHub and Azure. It includes hands-on labs for setting up deployment slots, creating CI/CD pipelines with GitHub Actions, and deploying containerized applications to Azure.

### Key Points

- **Why Learn Azure DevOps** [00:11] — Modern organizations adopt cloud and automation for faster, secure, reliable app delivery. Azure revenue grew 24.3% in Q1 2026, showing demand for cloud skills. DevOps engineers are essential for automating infrastructure and improving reliability.
- **DevOps Definition** [02:14] — DevOps is a culture, process, and tools. Culture and process come first; tools come last. It's about transformation, not just using tools.
- **DevOps Example: Developer-Admin Conflict** [07:32] — A developer (Ispita) needs infrastructure, but admin (Nages) is busy and misconfigures services. DevOps solves this by giving developers controlled access to create infrastructure as code (JSON/YAML), reducing bureaucracy and delays.
- **Traditional Development Flow** [19:19] — Traditional flow: source code development, unit tests, testing team (JUnit, Selenium), deployment team (BMC Serena) to server. No version control, no rollback.
- **DevOps Stage 1: Introduce SCM** [23:37] — Start with source code management (GitHub, GitLab, Subversion) to maintain versions. Introduce tools gradually to avoid failure.
- **DevOps Stage 2: Build and Release** [27:14] — Add build tools (Jenkins, CircleCI) and release tools (Ansible, Chef, Puppet) for automation and rollback capabilities.
- **DevOps Stage 3: Cloud-Based Tools** [30:10] — Use Azure Repos, Azure Build Pipeline, Azure Test, and Release Pipeline. No need to install tools; everything is preconfigured in the cloud.
- **Why DevOps Booms Now** [42:01] — App-driven world: customers use apps for everything (banking, food, cars). Apps need constant updates, requiring automation to handle thousands of changes with small teams.
- **Greenfield vs Brownfield Projects** [56:46] — Microsoft recommends introducing DevOps to new (greenfield) projects. Existing (brownfield) projects may create chaos; introduce tools step-by-step.
- **Lab: Identify Issues in Current Process** [01:00:01] — Current process: developer deploys directly to Azure App Service. Issues: no code versioning, no code sharing, direct deployment to production.
- **Solution: Introduce GitHub and Deployment Slots** [01:11:11] — Use GitHub for version control and collaboration. Create deployment slots (dev, QA, prod) in Azure App Service to stage deployments.
- **Lab: Connect GitHub to Azure** [01:41:02] — Create a GitHub personal access token, connect to Azure App Service deployment center, and push code to dev slot.
- **Swap Slots** [01:51:51] — After testing in dev, swap slots to move code to QA and then to production. This allows safe, staged deployments.
- **GitHub Collaboration Features** [02:03:26] — GitHub provides repositories, project management (Kanban), collaboration, API, and GitHub Copilot. It's a cost-effective alternative to Azure DevOps for small organizations.
- **GitHub History and Features** [02:34:23] — GitHub acquired by Microsoft, now offers private repos, project management, collaboration, API, and Copilot. Available as personal or organizational accounts.
- **Lab: GitHub Collaboration** [02:47:34] — Simulate a team: create a repository, add collaborators, upload files, use issues for communication, and track contributions via insights.
- **CI/CD with GitHub Actions** [03:16:42] — GitHub Actions allows building and releasing directly from a YAML file. It creates a VM (e.g., Ubuntu), runs build/test, and creates artifacts.
- **Lab: Store Build Artifacts in Azure Blob Storage** [03:44:14] — Use GitHub Actions to upload build artifacts to Azure Blob Storage. Store connection string as a GitHub secret.
- **DevOps Flow Summary** [04:22:46] — Developers push code to SCM (GitHub), build tools (Jenkins, MS Build), testing (JUnit, Selenium), release (Ansible), deployment (BMC Serena).
- **Containers and Microservices** [04:35:33] — Modern apps (Uber, eBay) run in containers. Containers are lightweight, contain app dependencies, and enable microservices architecture.
- **Container vs VM** [05:00:38] — Containers share the host OS kernel, only include user space and app. They are lightweight and portable. Docker is a company providing container images via Docker Hub.
- **Docker and Azure** [05:35:44] — Docker images can be run anywhere. Azure offers ACI (for testing), App Service (for production with scaling), and AKS (for orchestration).
- **CI/CD with Containers** [05:45:51] — In real DevOps, code goes to GitHub, then Azure Pipeline with Docker plugin, builds a Docker image, and deploys to App Service or AKS.
- **Lab: Deploy Container to Azure** [05:52:41] — Create Azure Container Registry (ACR), pull a public image (e.g., Mario game), deploy to App Service, and access it online.

### Conclusion

DevOps is a cultural and process transformation that, when combined with the right tools, enables organizations to deliver applications faster and more reliably. The course provides practical labs to implement DevOps using GitHub and Azure, from version control to containerized deployments.

## Transcript

Engineer Expert AZ 400 full course by simply learnon. You'll be wondering why learn Microsoft Azure DevOps Engineer course. The reason is modern organizations are rapidly adopting cloud platforms and automation to deliver
application faster, secure and more reliable. Microsoft Azure continues to experience strong growth with Microsoft intelligent cloud revenue and also includes Azure growing up by 24.3% in quarter 1 2026. Also, it is highlighting
the increasing demand for cloud technologies and skilled professionals. DevOps engineers are becoming essential for organizations looking to automate infrastructure and improve application reliability. With AZ 400 course, you can
build expertise in designing and implementing CI/CD pipelines, managing source control using GitHand, GitHub, and implementing security and compliance more about it, then watch this video till the end. Now, here is a short quest
DevOps service is mainly used to automate application builds, testing, and deployment? And your options are Azure Board, Azure Pipelines, Azure your answer in the comment section below. Now before we start our session
just a quick info guys if you want to become a Microsoft certified Azure DevOps engineer then you should check out simply learns Microsoft Azure DevOps engineer expert AZ 400 certification in this course you're going to learn from
going to get access to official Microsoft courseware and you're going to practice with integrated Azure labs working on real world projects preparing for the AZ 400 certification exam with comprehensive training support. So guys
course link is mentioned in the description box. description box. The first thing come in our mind
that I am talking about technology. I'm talking about tools.
So when we say devops it means that I am talking about a culture I am talking about a culture I am talking about process I am talking about process and I also talk about tools. So tools
and I also talk about tools. So tools comes last process and the culture came first.
agent who help organization to adopt who help organization to adopt agile process.
clear out the path to achieve objective. For an example, if I want to cut sort my deployment time
by let's say 30% or 40%, it's a very clear objective. Same application when we used to develop and deploy it might take a month. I can shorten that timeline
I can shorten that timeline probably by 3 weeks. [snorts] organization to set that process.
So it's more like a transformation rather than just use a tool will fail if there is no right process
if there is no right process if there is no right culture. yourself as Azure Debops,
Azure Debops, you also say that you are the person who you also say that you are the person who can redefine the way our organization is developing application, testing the
application and deploying the application. So it's a big task. It's a big you can say kind of a skill anyone have. I can
use to work on tool that is a technical part. But do I understand the tool? part. But do I understand the tool? Now I am going to ask you these three fundamental questions like we always used to do in every
like we always used to do in every module. Number one, module. Number one, what is dev ops? what is dev ops? Number two,
why dev ops? And number three, why dev ops? Boom. Boom. Now,
so let me ask a first question to all of you. In your understanding, what is deps? Anyone of you just put in a chat and if you want you can come on mic.
Uh development operation for continuous integration. Nages. Perfect. Very good. isa development team and operation
development team and operation big big big big big big big big task.
right, no worry. So let's understand [snorts]
development creation. Okay. One is
the essence of DevOps. So I'm just putting a name here.
a developer and I just take one name. and I just take one name. I can say Nagis is I can say Nagis is an administrator.
Ispita is developer. Ispita use Let's say Ispita is a Java developer. Ispita develop a wonderful program
Ispita develop a wonderful program and then this program need to deploy on a server on a app on a container.
control on Azure because Azure is management. Then ispa raise a request
raise a request via ticket via other system where app need to deploy.
Nages received this request and said that okay Arita I'm very busy. I will do it on Saturday. What Saturday? I have to reply now. No no Arita I have a lot of things I have to do this task
a lot of things I have to do this task this task. This task I'm not free.
not provided the infrastructure in the cloud in time.
Finally Nages get a order from his manager. manager. Nag take it on priority. Say all right is then n create
server or maybe an app or maybe a kubernetes cluster
whatever is requirement of our pitha is pitha. So pitha. So the problem is
by Nag Nages see it from infra point of view. Nages see it from infra point of view. Nages have no idea that it's not about a it's about configuration of the VM which probably
requested by ispita. He said that you ask me create a VM I He said that you ask me create a VM I give you a BM.
enable three services. You have to en enable three services. You have to en enable RPC you have to enable HTTPS. You have to enable XY Z. Nages is not a developer.
Nages tried to configure these services and he misconfigured. When Arpita tried to deploy the service or application on the target, it failed.
because there are some prerequisite which is not met in that service. And n being an infra guy n do not understand what exactly this is asking every time or go there and click there I'm not a developer
developer and operation and operation is totally not in sync.
So how debop's process now come into the picture. So then in this organization you come into the picture who you are.
You know that in the organization this can be a biggest challenge. Now here your job is start. You set a process
services which is controlled by you. What you do now? What you do now? Give Arpita
excess of your cloud and in that excess only enable what Arpita can do cannot do. For Arpita for example, Arpita can create a VM with only 80 GB of RAM.
okay okay okay you give me this control access you give me this control access you can give a control access via key you can give a control access via key via any other authentication method
via any other authentication method and then arita use this key see also create infrastructure as a code which can be a JSON file
which can be a JSON file which can be an YAML file. programming language, Espita may use JSON or YAML. And what Espita may use JSON or YAML. And what this JSON dota
by sitting at her desk? See run one command and this command execute this JSON script and it will now go and create that target infrastructure
with all prerequisite which is SPIA want to know and then Nag which is SPIA want to know and then Nag responsibility is only limited to ensure
the VM is always running once the provisioning done. provisioning done. You should not attack or hack
along with the code is now this responsibility is merge.
So C is dev doing some part of ops.
What it happened now? Now the unnecessary delay which is happening from developer to the administrator that is has been cut short.
No bureaucracy in the between. No very long approval discussion chain. No very long approval discussion chain. No wasting time in hurdle meetings.
Is pitha need infrastructure? Infrastructure is there. what she can do, what she cannot do. Lag still have a control
that he has to ensure that service is always available in Hitchcloud is not compromised and so in Hitchcloud is not compromised and so on.
can say basic example. Do you feel that in this way your development to deployment can be faster in a state of going through the chain like this?
going through the chain like this? Yes or no?
Yes. Sorry. So here the DevOps guy comes right. So he can maintain the right. So he can maintain the &gt;&gt; so so he not he is not doing any tool he's only setting a process &gt;&gt; correct correct so that is what I want
&gt;&gt; that is that is important one right because until there is no process it correct &gt;&gt; correct correct correct &gt;&gt; so this is the very important responsibility rajima it means that we
have to understand where in our current processes is a problem and then you have to suggest the way out to you know resolve that problem so that your development fast your deployment fast bureaucracy cut in between I hope that
right now you are probably have a long of email chain also right your approval chains yeah so that bureaucracy have to be gone if you want to speed up otherwise it will be a problem yes
yes &gt;&gt; so yeah Now &gt;&gt; so yeah Now I give you a three generations I give you a three generations that how exactly
uh you can say development to deployment happen in a development to deployment happen in a older days and make a note because this is going to be a very very important part.
Now I'm talking about a traditional development environment
do. So the first flow start with uh you know the a source a source code development.
To develop a source code you have a 100 of languages. For example you can use Java, you can use Python, you can use Python, you can use it
you can use it you can use react. how we do that we first develop our source code
then possibly we can also run our [snorts] unit test here function by function we test it. So you can say that source code plus unit test
unit test at happen at development level.
Then developer once the whole develop unit is clear
Now testing team use various type of testing tool. For example, a popular testing tool if you know it's a JUnit.
It can be XUnit. It can be selenium. It can be MS build. Uh sorry MS test.
I mean to say there are multiple tools available available where the testing team do the testing
and then once the test finish that artifact now send to that artifact now send to a deployment team.
a deployment tools. For example, one of the very tools. For example, one of the very popular tool is called BMC Serena.
your artifact which can be a zip file, jar file or war file go and push to your target environment and target environment in the old time
is only one thing is server. It can be your Dell server, it can be your HP server and this is how the process happened.
where that update code gone where it save save or do you overwrite the existing code?
that whatever changes we make it will be override and we do not have a traces of what we done in a previous drawing.
approach? You make a very small you can say uh introdiction of the first Debops tool. Same environment and now you are moving your organization
and now you are moving your organization to the DevOps stage one.
code with unit test the code will now go to some kind of a central repository.
So now you are first time introducing a source code management service which can be a GitHub, a GitLab, a sub version.
Because if you introduce a full DevOps flow in one go 90% chances it will fail. People will not adopt it correctly.
So I start with the first say Deops one we are going to introduce SCM2. Let the people to now adopt this practice and when this practice adopted that every source code now go and sit in the
SCM where you maintain the version of the code then you introduce probably a second tool and what is second tool you say that now I am going to
build means it is going to create something called package something called package test your code is bug free and so on test your code is bug free and so on and there are many build tool available.
like a new gate. Now these are the few popular name Now these are the few popular name people use it for people use it for build process.
deployment. deployment. This is we called debops stage one.
with this process, to a debops stage
a debops stage two.
We now going to introduce one more tool after the test
something goes wrong in the deployment you have a roll back option to roll back you have a roll back option to roll back to your previous releases.
And to do a release again there are lot of tool available
we have option to use encible here encible here we can use chief puppet
So it means that if you work on traditional DevOps practices
and many company they once they mature they once they mature they automate
by creating something called a deployment pipeline deployment pipeline very popularly known
as Genkins and very popularly you can say known as and very popularly you can say known as circle CI. Okay.
organization is move and adopt the whole end to end automation process. Now you probably decide to take your company to the next stage
and that is the final journey of the whole transformation exercise. whole transformation exercise. We call it as in debops stage three We call it as in debops stage three which is a current stage
what we are replacing now I say that in a state of using public I say that in a state of using public git repositories
same functionality but it is very very restricted to my but it is very very restricted to my company only. This other can't access it
Azure repo.
So while using it you hardly notice any difference your company only. Other cannot see that other cannot access it. No problem.
While your MS build maven as a build process as a build maven as a build process as a build behind tool is same.
You just use automation tool change automation tool. So there is no genkins use same configuration which is
your build tools remain same because that need to be installed in your environment. But what we are going to use now we are going to use now a build use now we are going to use now a build pipeline.
on a server then you have to do configuration pure SAS platform just click ready to
For a test you can use your test you use same back end JUnit xunit selenium and ms test test but to write your test cases
you can use Azure Azure test
instead of a nible and a CHF. We now going to use same pipeline
instead of a build we are going to use release pipeline. Now your deployment we do not need BMC Serena.
You can simply use your release process the release artifact which is created by the release
the release can be either automate or you can just have a single click button it will whole application going to deploy. In in fact if you want you can also
create an infrastructure in the target environment. here to the deployment none of the tool we have to install
is come with the preconfigured environment and service which provide all these tools
DevOps tool. You are going to explore it as I said in a class number as I said in a class number 6 7 and 8.
this tool actually create a magic and it will take lot of task you know and it will take lot of task you know lot of task of the administrator.
Yes, lot of task of the administrator install genkins or encel or this or that.
Finish gone. Single click done. just like we do in Azure and what we get additional advantage now in a cloud.
and instead of a traditional server your target environment can include a your target environment can include a wide variety of services. It can be a VM.
or you can say any of the container service
anymore. So I mean to say if you look at So I mean to say if you look at the way everything is transformed
or traditional environment to if organization decide to move to Debop stage three which is a pure Debop stage three which is a pure cloudbased
Bola, Dominar, Nagis, Espita, Gri.
Huh? Git Git action can do or run a build but yes I guess all good Oliver same so for scripting option also you create
so for scripting option also you create your YAML script send to the SCM either you can use the build test is not required for scripting or you can required for scripting or you can directly release
It can be your Terapform script. It can be your NCL script. It can be It can be your NCL script. It can be your Azure ARM script or bicep script
Okay. So, Grogi remember the GitHub action which we are going to see today again
it lack multiple thing for example approval number two reporting
it doesn't create the process which I am showing you right now. For example, you have a build, then you have a test, then you have a release have a test, then you have a release and GitHub also not give you an option
to use your own infrastructure means let's say you want you decide to use virtual server which loaded with the tool this is not possible you have to use only GitHub. So in the short no
only GitHub. So in the short no reporting you cannot create a multi-stage deployment
for example if you want to introduce authorization sanitize the target before deployment that it is matching your standard
organization and compliances not this checks and balances not there. Yeah. Yes. So
all this process end to end is done by the debops team. So actually now if you look at that developer task, developer task, build build engineer task, tester task,
release task, deployment engineer task, everything is now consolidated. now consolidated. You have a single tool.
Make sense? You have a single tool and later on we will explore more. You it also have a project management tool
where you can manage the overall project visibility through canban board. visibility through canban board. Why it is booming across industry? Everyone is now say that in my company we are going to use Debops. We are going
to use Deops. Any idea what is a main triggering Any idea what is a main triggering point?
what has changed you can say in last couple of years cloud huh digital cloud is booming. Yes. This is Nagis This is Nagis of Of course. Yes. Entire project.
Entire project. Yes. Yes. Automation and less build time. Exactly. Exactly. Automation Arati. Exactly. But I
still have four questions. Same question. Okay, just give me one second.
good but we have a question is still there right DevOps is not a new service right it's not a new process devops exist for almost like 18 20 years
now So why the benefit of deops not realized by industry I can say five to seven years back and why every industry is now coming back and saying that I I am going to use
DevOps. DevOps was there for a very long time. Yes or no? For example, Genkins tool available from
For example, Genkins tool available from last 15 years.
I give you a scenario. [laughter] Yes. Nice.
I think that everywhere when you take uh let's say India or any other country. Yeah. Bola. Yeah. Yeah. Exactly.
So let me ask one question. For example, For example, if we have to order food,
if we want to eat something, what we do? Should we go to restaurant what we do? Should we go to restaurant and should we order from online?
to have a dinner, should we go to restaurant
we go to restaurant or app? What you do now?
I'm giving an example now. Let's say this is your food aggregator platform. You can take any name in your country which provide a similar service
is a food agreeator agreeator app. It can be Uber.
It can be Netflix. It can be your your favorite bank. It can be your your favorite bank. It can be anything.
Now this app is developed by your developer. Perfect. And look at the whole process. What And look at the whole process. What happened now?
So you actually it's aggregator app. Now you have vendors restaurant. So let's say one of the vendor or one of the restaurant is sending an update.
must be reflected then only people can see that another vendor they now announce they now announce 141 free. If you order one pa I will
141 free. If you order one pa I will deliver another pizza.
1 + 1 you can say 1 + 1 free it must be so in your app then only user can avail and let's say you have a third
vendor vendor number three they say that sorry and a specific food item is not available.
Let's say hot dog not available. about one vendor. There are thousand vendor. Each vendor is continuously
vendor. Each vendor is continuously sending an update. And you have a very small development team.
view. So So development team
Then it goes to a build
Then code get deploy and where it deploy first it might be deploy to a test first it might be deploy to a test environment.
Once the this is pass then it will go to your probably QA environment just to ensure everything in your app work lot of people internally check this application even vendor participate they
check yes yes it is visual then will finally go to your production
thousand app thousand updates every day, thousand app thousand updates every day, thousand updates
developer you need? How many build engineer you need? How many tester you need? How many deployment person you need in a How many deployment person you need in a company? You have to handle
company? You have to handle thousand update every day.
deployment team we need? How many How many tester we need?
Probably we need two 300 people. Yes or no? the build, one deploy in a test environment, one is
checking everything and it's not about one, it's about and it's not about one, it's about thousand update coming continuously.
more than you know like a you have a 10 people 20 people so maybe I can say that it is only have a 10 people
out of 10 people maybe five is developer maybe five is developer rest are ops team
to run a build command run a build command you have to run a run a build command you have to run a build you have to wait to do a testing you again have to run a test
and I'm talking about lot of updates keep coming now whole site work.
once developer update the code, build, deploy, test, everything is automated. Everything done by machine. Everything is done by machine. Everything is done by tool. Only developer have to work. That's it.
debop suddenly you get pop-up now? It's because because our world has changed
Bank is app based. Government is app. You want to buy a car app base. Go to bank app base. Watch a film app base. Yes or no. So that is the one of the reason why you suddenly because app
suddenly because app is now became a de facto
And to make a constant update we need a huge team member that is going to be a added cost. So that is how the tool going to make everything faster. Now you clearly understand why we use DevOps now. Why
understand why we use DevOps now. Why DevOps boom now? Because we as a customer, we as a consumer, we change our you know behavior. We do not like to go outside. We want to order everything through app
We want to order everything through app and that app need a constant update. and that app need a constant update. Make sense?
Buo bulindor.
So this is very very important one. Now we understand as of now what is DevOps. We also understand why DevOps boom. Now,
when we say I want to introduce Debops in my company if I want to use a Debops in my company if I want to use a Debops and you are the change agent
So the very very first thing you have to take care take care about overhauling the whole process
and where will you introduce this debops? Now your project can be an existing project.
an existing project. Existing project which I mean
which I mean the project which is already running in Microsoft world we called such project as a brownfield project.
Be careful when you try to introduce DevOps process in running project because it create lot of challenges and issues.
Microsoft suggest if you are first time introducing DevOps in your organization use rollout DevOps tool with new project.
We called such project as green field project.
So Microsoft recommend if you want to use your deops file please use it for green field
introducing deops tool in between running project it can be create a chaos create a issues Because your old project may have a lot
of technical burdens, issues. running project, do not introduce the whole step in one
single go. Go a step by step. Start introducing source code introducing source code GitHub. Then introduce build gradually.
of an existing project and then we see that how we are going to use ABOPS stage one
This is my current running project. In a current running project, current running project, I have a developer.
let's say it's a net developer. So, it use a net So, it use a net code. develop a net code code. develop a net code with help of an ID like a visual studio
and then from this they deploy this whole code to Microsoft Azure. to Microsoft Azure. Let's say they deploy it on Azure app
service. This is current scenario. Developer directly from their local machine
directly from their local machine they push this code to app service
How you are going to now just by introducing one single tool just by introducing one single tool and changing the process
dynamics number one what the first issues you are number one what the first issues you are able to identify here from a development to target environment.
environment. What are process you identify What are process you identify or issues you identify?
Vijal Bola is pita nag lit. What is the current problem in this process?
you are a devops person identify in current development to
deployment because first of all you have to identify the issues and once the issue identify then only you can suggest your then only you can suggest your suggestions right
huh limitation of the de managing as your service more time required code is not tested Nagish. Yes. Yes. Very good.
Directly deploying the code. [laughter] Exactly. That is just let's see if you can able to example. So just opening
one of my code where we want to deploy my service to
development environment. So I'm saying code space dot have developed this wonderful code with me
and if I want to deploy on Microsoft Azure let's say an app service I can go to the extension of the VS code and I simply install and I simply install SDK of an app service
and once that SDK installed I can go and connect Microsoft Azure Exactly. Now [laughter] you know what is the problem?
[laughter] you know what is the problem? Excuse me. The problem is if I make let's say if I make in this
and I deploy So after making a change, I simply make it uh go and deploy this code to the target audio is breaking.
Just confirm if my audio is breaking quickly. Really? Okay. All right. So I'm saying that I just
All right. So I'm saying that I just make a change here and I deploy my code. make a change here and I deploy my code. Next time I make another change.
Now can I recover my old code because it is overritten now. Yes or no?
Can I recover the old code? No, because I have already overwrite it. Now let's say for an example, I want that some portion of the code.
I want that some portion of the code. You should now develop some part of the code. You are a different developer and you now want to make uh contribute in this code. How I can share my code to you? It is in my
local laptop. Can I share the code with you? Yes or Can I share the code with you? Yes or no?
So actually if you look at that you have no exactly you have but two two bigger issues in this whole process. Number one,
no code code version we can say changes
VS code or any ID you get extension. In that extension you can see if you want to deploy it in Azure app service, Azure functions or any other Azure services you have
simply click it and you get a install option. extension it can be Azure it can be AWS also you will get the icon of Azure here
you see that and when you have a icon you get a sign in button just look at that this is how you can see all your services now once you
see all your services now once you authenticate is that clear Oliver install extension and then you should able to see the icon like Azure AWS.
Click that icon you get a sign in option. Click sign in and you are connected. Yeah. Yeah. Perfect. So look at the problem here. In this issues there is no code version
issues there is no code version maintenance. Second, one developer
cannot share code with other as
application code in their local laptop
or local machine you can Okay. The third issues which we identify it directly deploy
app service. So if anything goes wrong, So if anything goes wrong, everyone impacted.
okay later on. But at this point of time it is you know these are the three big issues. Everyone agree it is a three issues.
issue number two, issue number three. Yes or no?
Now what will you do if you want to introduce DevOps in this process? introduce DevOps in this process? The first tool
SCM do the window version control very good. So now I am going to introduce one good. So now I am going to introduce one process in the whole setup. I said that process in the whole setup. I said that okay here developer
you develop your code you are wonderful people should develop your code
tomorrow we are going to see a full GitHub time developer once they develop the code put
developer once they develop the code put this code in GitHub. So in a GitHub they have something called repository.
they have something called repository. You can think it like a folder.
as a main or master repository.
So your code now from local machine will go and sit into GitHub which is a cloud tool, cloud repository tool
we say developer code to SCM. This is how we use
our more terminology. code is now available on GitHub. And then we have a target environment.
Right? This is targeted model which is generations. Since you already done AJ 104 and many of you are 2304 also I hope that you understand this is a service which is platform as a service.
provide you provide you a different environment.
service is actually have a dev environment, development environment. it basically also give me
one URL URL which like a dev dot simply
learn.com for an example. for an example. Now this dev URL access by only 10 15 people
only 10 15 people and they mostly belong to a IT or and they mostly belong to a IT or development team.
It is not known to the outsider world. I'm just saying that only
let's say we call it as a QA environment and last one is a prod environment For example, the second environment will have a environment called QA.
Third have a environment called simplylearn.com. No Dave, no prod simplylearn.com. No Dave, no prod because it's a final one. Dev environment is known to only 10 user 15 user within a company and mostly the
15 user within a company and mostly the developer or IT people. QA environment is available to a large set of people let's say 200 user which set of people let's say 200 user which include your IT people nonIT people or
maybe some sample user who probably test your application. So because you now expand your user base, you get better feedback your user base, you get better feedback how your application look like
and your public URL is known to the whole world. Millions of user.
we have to integrate our dev environment.
the process of integrating my GitHub to the dev environment.
or we can use push base you can say changes.
push base means whenever the code get update
changes. So whenever So whenever the code update happen at a GitHub
in my dev environment. Let a 10 user access this URL and they Let a 10 user access this URL and they can test everything now
dev environment we can swap the whole code. Swap means it will do simply cut and paste.
Swap the whole code from dev to the QA. And now from QA we are going to do a further swiping
QA we are going to do a further swiping to the broad environment. this traditional? So now you have a code version. Every
So now you have a code version. Every code when you change you have a version because it is in a GitHub. So you can share this code with any other developer
and instead of putting it into the production application service production application service I am now have a staged environment dev QA and a pro. So three problem be identify just confirm are be able to
solve these three problem. Yeah. And you have an option to Yeah. And you have an option to click create.
create, you see a babe app. Babe app. The first option. Please click babe. The first option. Please click babe. Babe app. Everyone of you.
in the resource group, look at the screen. You should able to see ODL.
&gt;&gt; So I don't I don't have ODL. This is uh personal kind but &gt;&gt; yeah. &gt;&gt; Yeah. select ODL. In the name type your name in a small
letter. Yeah Oliver. Very good. Type your name in a small letter your name in a small letter and then type app
a check box we say secure unique default host name we say secure unique default host name uncheck it
and just confirm if your name is accepted. If not may you can use some accepted. If not may you can use some number like in Gregory case it's a Taylor app0709 something
and select ASP.NET version 4.8 8 In the region, always select West US2.
&gt;&gt; cuz remember we did we tried to do this before and it wasn't using West US for that I know works. &gt;&gt; Yeah. Okay. &gt;&gt; Yeah. Okay. Everyone use West US. Okay, West US
in Windows plan I think you already have. Just click create new demo and remember to delete demo. Okay, later
and remember to delete demo. Okay, later on. Okay. on. Okay. And just confirm in the pricing plan. And just confirm in the pricing plan. If you drop it down
you see lot of plan like a free basic premium. able to see lot of plan free basic premium.
just below the plan there is a explore pricing plan. Just below the plan there is a option called explore pricing plan. Click it.
called explore pricing plan. Click it. You should be in the same screen. You should be in the same screen. Just scroll down till last
and you should able to see under legacy a standard S1. Please select the standard S1 confirm. If you select a standard S1 all of you
Rati Raj Kumar is Espita Bola Oliver Lalit Dindor.
right? Dave, &gt;&gt; test. Yeah. Click create.
&gt;&gt; Just confirm once your deployment complete in the chat box. complete in the chat box. [snorts]
Oliver. Okay. Very good. Hope there is no error for anyone.
Complete. Bola. Uh Kota. Okay. Oliver, you please change another region. If you select West US2, select West US
probably West Europe again. Relaunch it again. Create again
or can you stop for a minute? Let me go to I think that he's first. Okay. And then I come back to you. &gt;&gt; Can you share your screen one more time?
complete. Dominor complete. I hope for Nag also it is complete. Arati Oliver please share your screen.
Oliver please share your screen. Espita very good
good let me go to Grog in the meantime yeah Grog I think uh Oliver say he will yeah Grog I think uh Oliver say he will do by himself
yes Oliver okay create web app very good &gt;&gt; just just hold on for a minute yeah Just type some name.
&gt;&gt; I'll stop sharing it. &gt;&gt; Okay. And then you uncheck the box which &gt;&gt; Okay. And then you uncheck the box which says secure unique host name. On the top you have a box. You have a check box which says secure unique host
check box which says secure unique host name. Oliver the name there is a check box called secure unique. Uh uncheck it. Yes. Very
good. And last time you try in East US or West US? If you try in a West US, East US, please change to West US. West US 2. West US2, not East US.
Aha. Exactly. Yeah. And in the plan, in the plan, explore pricing plan the plan, explore pricing plan select S1 from last.
the first one is S1. If you are able to select under legacy, the first option is a standard. Yes. Very good. Yes. Click select. And that's it. Hit review and select. And that's it. Hit review and create. Let's see if it work.
Oh, that's fine. That's fine. Click create.
because we are going to use it multiple times during our Debops lab.
Excellent. Now on the left hand side you get default domain. is a default domain. There is a URL. Right hand side. Right hand side. Ah
Right hand side. Right hand side. Ah copy it. Paste it in the browser. Yes you are in correctly now. Right. Okay. I stop your sharing Oliver. Now I Okay. I stop your sharing Oliver. Now I am going to Grogary screen and then you
can follow whatever we do there in Gary screen. Okay everyone. So let me &gt;&gt; go back to share. &gt;&gt; go back to share. &gt;&gt; Yes. Yes. Let me to stop sharing. Yes.
Everyone please watch carefully a Grogary screen and then we can just follow as it is just step by step. &gt;&gt; Okay. Um so the the web app was ready back to the resource group if needed. &gt;&gt; I think Raj Kumar also. Okay. Raj Kumar
just hold for a minute. Let me finish it here then I come back to you. Okay. So on the left hand side on the uh sorry right hand side you have a default domain. Copy it. &gt;&gt; Oh yeah. Okay.
&gt;&gt; Paste it in the browser. This is your production URL. What we all This is your production URL. Okay, it has nothing. It's just a basic content. Now go back to the app service
and then on the left hand side everyone you see there is a deployment option. menu and deployment. Under deployment you should see deployment slot.
now. And then you get an option called add a slot. Yeah. Okay. Click add a slot.
in a small letter. Only dev. And look at the URL. Are you able to see the change in the URL? It say Taylor app hyphen dev right
say Taylor app hyphen dev right just below the dev box you see the URL cut copy the URL
[clears throat] everyone copy this URL and click add. No you have to add it first. Mhm.
and click add. It will take couple of minutes. So just wait. minutes. So just wait. This is your dev environment, right?
Now sarati just confirm if your div environment is also created.
Epista Oliver Bola. Very good. Yes, exactly. [gasps] Okay. So now you just paste the URL in
the second tab of your browser and confirm it is tab of your browser and confirm it is working. You get similar content. working. You get similar content. [clears throat]
So your production URL and the D URL exactly look same. No change, right? Yeah. &gt;&gt; Now go ahead and create one more slot.
Nothing new, right? Yes, exactly. Go ahead and add another slot called QA which is for quality assurance and copy the URL one more time
production Dave and a QA correct GI production.
processing. &gt;&gt; Processing. Yeah.
And now you can test the key URL that is also same right.
quickly go to &gt;&gt; uh they're all the same so far. Yeah. &gt;&gt; Uh exactly. So just wait then we will now push our code to one of the slot and then we see how it work. Rajar share your screen now
Raja. [laughter] Yes. Hold on. Let me to So can you just go to basic for a minute? Uh what just to see? Let's go
minute? Uh what just to see? Let's go down. Let's go down. VS2 standard. Huh? Just I think that this will work. Click and create.
production-l like setup. Okay, this is how probably you see in your environment how probably you see in your environment as well.
Hold on, hold on, hold on, hold on, hold on. allowed. Can you click basic and change to East US2?
to East US2? Go to basic basic basic
400 lab not the AJ 104 because 104 it is not allowed. Click review and create.
No. Can you show me your LMS? Which lab you are hitting? Go to LMS. Oh, then it's work. Uh, can you unmute yourself
in 104 which location you generally select? if you scroll down and maybe you can try East US only
&gt;&gt; I have selected &gt;&gt; last first time. &gt;&gt; 104. &gt;&gt; Ah 104. &gt;&gt; Ah 104. &gt;&gt; Yeah. No no no change. Yes.
But the only problem is Rajumar in 10 in east US now you hardly get the option east US now you hardly get the option click uh to select yes then I will go bit alternate you may not do the full lab but at least you do partial lab
lab but at least you do partial lab click the check box first one select review and created
for a curiosity? &gt;&gt; Okay sir. &gt;&gt; And scroll down. [clears throat] Scroll down. Scroll down. And in the Scroll down. Scroll down. And in the Windows plan can you drop down?
Why there is so many restriction in your account?
&gt;&gt; it there right? Created by I think make the C created by
Can you click that? Let's check. Click. Click.
if it doesn't work for you Rajan uh most probably you just raise one Okay. &gt;&gt; You have to resolve it before maybe the class number three. &gt;&gt; Try create again last time right?
and raise the support ticket and just enjoy the lab. Okay, Raj. enjoy the lab. Okay, Raj. &gt;&gt; Okay. Grogi, now we are going to do the final one.
screen. Okay. Um, go back to &gt;&gt; everyone go back to Azure. in Azure. in Azure. In Azure, go back to deployment slot and
click the dev and click your dev and just confirm if you are in a dev. Can you highlight the dev name on the top left hand side top?
&gt;&gt; Just confirm all of you are in a dev only.
Domindor. Yeah, very good. Oliver just confirm.
probably help you out. Okay. Okay. So you see the dev now and then on the left hand side you see deployment. Click deployment please.
Click deployment center. Everyone click deployment center. Just confirm if you all are in deployment center.
Just confirm if you all are in deployment center.
Yeah. Okay. Now everyone go back to GitHub as fast as you can. Everyone go back to your GitHub and probably uh Oliver you can also do and
maybe Raj Kumar you also do at least this part for your future lab. Everyone go back to your GitHub and then look at extreme right hand side top you see your
extreme right hand side top you see your user account icon. and there is a drop-down. You see a drop-down.
In the drop-down there is a setting option. Just confirm if you all are able to see the setting option
Oliver Bjul I hope that you are also doing. Bjul I hope that you are also doing. Raj Kumar. Yeah. Orati is I think Nag you already did but anyhow just you can check. Okay. Click the
just you can check. Okay. Click the setting now. Yeah. Click setting and on the left hand side scroll down and on the left hand side scroll down till last
confirm if you are able to see developer setting in your GitHub extreme last on setting in your GitHub extreme last on the left hand side right.
Yes. Click developer setting please all of you. And then you should able to see personal access token.
personal access token you should able to see token classic token classic. Click token classic please
and you get an option called generate new token. Now be very careful here you have a drop-down. Click drop-down from the generate new token and you get generate new token classic
classic token classic. Yes. Click generate new token classic. If you have to authenticate please do If you have to authenticate please do that.
Now you are in the same screen just probably you can give a note AJ400 so that you remember. Now this token is valid for next 30 days
and you now check every box like repo check, workflow check, write like repo check, workflow check, write check, delete check.
check, delete check. Please check every box. what is the status you are seeing. running fail or deployed. If it is
running fail or deployed. If it is running, the fourth column we say running deployment. If it is a running deployment, congratulation. You are deployment, congratulation. You are done. Good job.
Preparing deployment. Okay. Very good. &gt;&gt; Quick question. &gt;&gt; Yeah. &gt;&gt; So the key that we created is it so once it's only valid for 20 days, I think that's what you said. So after the 20
done again? &gt;&gt; Go away. Yes. No. This go away then you have to disconnect it and again have to reconfigure the setting. But in a production usually because we using debuffs so we do not have to do anything
debuffs so we do not have to do anything here. We use in a devops tool [snorts] here. We use in a devops tool [snorts] face pending. [clears throat]
How many of you see succeeded message once you refresh it? will happen if you go back to your dev URL. Can you go to the dev URL?
&gt;&gt; Okay. Okay. Okay. Sorry. Let's Sorry. Sorry. Sorry. &gt;&gt; Dev one. It is product. Uhhuh. Refresh it. When you go and refresh your dev URL, you should able to see our live code is
you should able to see our live code is now here.
quick, where it says external git, there's also says like Azure repo. Is that for the the Azure dev? &gt;&gt; Azure DevOps? Yes, the DevOps &gt;&gt; Thank Go scroll up and just click save. Did you
have to just uh you you in the LMS now there is a right hand side top there is a help button. Click help. Raise a support ticket. Hopefully by Monday it will be resolved. At least by next class you should be
At least by next class you should be ready. Okay, perfect. Now you just go left side up. Left side go to overview.
right hand side there is a bizu ah yeah bizu ah exactly very good yes paste it
uh just say continue to the site continue to the site go back to your app service resume and then come back to deployment center one
then come back to deployment center one more
generating deployment correct and you have a refresh button on the top. So you have to refresh it after 1 2 minute. You should able to see succeeded option. Once succeeded, if you go back to your app service bizu and when you
refresh it, it will show you your my go to app service on the browser. You already know you already pasted. Huh? So this is this content will change, right? You will see my app, my code. Okay. Now, so just you have to wait till the
meantime because you cannot create the slot. So just watch the next screen of what we are going to do in a final time. Okay. Yeah. I stop saying you and you
keep refreshing till the time you see the deployment succeeded and then confirm in the chat once you've done that.
&gt;&gt; See. Yes. &gt;&gt; Final everyone. Now I am going watch please go back to app service all of you.
So in the dev you see that it is running. If you go to the UAT and prod just confirm you still getting the old code. Go and refresh everyone the URL of UAT and prod and just confirm if you are getting the same code. Go back to the
URL you have pasted already. Okay. please refresh all three URL and you just confirm you only see the content in
dev not in a QA not in a prod. Can you refresh the prod and QA also? &gt;&gt; Prod. &gt;&gt; You have it. Second uh exactly same old code. Everyone able to see same old code, right? Correct. Arati
Nagis Dindor. Yeah, exactly. So what we do? Dindor. Yeah, exactly. So what we do? Swap. Go back to your uh Azure. Everyone Swap. Go back to your uh Azure. Everyone go back. Come back to Azure. Accept.
go back. Come back to Azure. Accept. Except &gt;&gt; my new friend Visual, right? So V you you cannot do
that. So you just have to watch. Okay. So when you come to deployment slot, when you click this deployment slot, you should able to see swipe option and second very important part
and second very important part why any company go for a devops because if you look at a segment of the companies only 7% company worldwide 7% only 7% %
only 7% company worldwide 7% only 7% % we call it as a technology company Hundai they manufactured car
American Express they are dealing in finance like a gumato, a food aggregator.
almost every company if you go you found they use DevOps you found they use DevOps and you wonder why.
So if I want to purchase let's say if if I am working in a BMW BMW is a luxurious car manufacturer and inside the BMW I am able to see and inside the BMW I am able to see there is a debuffs.
is today world today world today world is a purely appdriven world look at that how I and you connected today
you are sitting at comfort of your home or office I am sitting at the comfort of my home and we both are connected and talk just like that we are there in the same room. How this is possible? Can
anyone of you imagine this type of scenario 10 years back or 5 this type of scenario 10 years back or 5 years back?
and today we are living in the world where we already have a 5G and there is already a planning going on for a 6G
huge speed. So this huge speed power a smart devices even if you go to a very small town or a village in any of the country
you surprised that the people carry a smartphone the mobile how this is possible that application load fast when you do
application load fast when you do something it will just go to the something it will just go to the vendor site and perform the transaction speed. So this speed trigger company to go
digital when we go say digital today. How many of you
How many of you stop going to the bank physically? I think all of you. You hardly visit the bank branch. How many of you regularly go to the restaurant?
restaurant? Probably hardly. service, how many of you go to the government offices? probably very less because now we have a
app through which we can connect to the government and yesterday I get a call from a Hyundai car
that sir do you want a car I say I cannot come I do not have a time they cannot come I do not have a time they said do not need to come give you on a virtual experience So that you can see how the car work,
how the car look and if you have any question you just ask me digitally.
So this app change customer behavior. People like me and you, we do not want to go outside now. We said that we are at home and I want everything
and that is the reason why any company whether it is a product company whether it is a service company whether it is a government they now coming with the app and yesterday we just discussed one app
any food aggregator app in your country like in India you have a gumato
Now this app receive update from thousand of vendor every hour. Now I have a this food available. I now offering discount. Now this food is out offering discount. Now this food is out of stock and these update should
of stock and these update should available to your app in a real time. So to handle thousand of the updates how many developer we want? How many build team we want? How much deployment team we need? How many tester we need? Just
you can imagine that. But you will wonder that when you go to let's say any food aggregator office you see that they have hardly 10
people out of 10 maybe five developer rest five they are able to handle everything. they they are able to handle everything. they can do a testing regular time
see the devops come into the picture. They said that once developer finish their job we can use build we can use test we can use deploy everything in just a sequence.
organization, when you are planning to use DevOps, existing project not recommended because in existing project if you
introduce DevOps process, it might create a chaos. go with a green field project. the project which is going to start. Now you
project which is going to start. Now you should reset the process developer develop the code go to the SCM
from there it will go to the build tool from there it will go to the testing from there it will go to the release service and from there it will go to the service and from there it will go to the deployment
So it is a high recommendation that when you have a green field project you have a green field project you should go with DeOps. And then we done one wonderful lab yesterday
world where application get deployed in a dev, where application get deployed in a dev, QA and a prod
through pullbase means your app service pull and pullbase means your app service pull and do all these background tasks.
that in a traditional development environment this is how they work. You have a developer who developed a test source code you have a tester who
use the different tools to test application and then it will pick up by the deployment team. So if organization try to move from traditional way of working
traditional way of working they likely to go with a debops stage one. In a deops stage one they might introduce
a very first service called GitHub.
And this GitHub probably is a best way to introduce DevOps is a best way to introduce DevOps in organization if they never use in organization if they never use automation tool.
automation tool. So today we are going to understand SCM especially the GitHub
how important it is. [clears throat] Yes Nagis I think you have a question. Hold Nagis I think you have a question. Hold hold hold on.
Azure app service with three deployment slots. three environment QA, DA, DO and the production. So are we like Azour going to charge only for one app services? &gt;&gt; Uh not charge for app service. Azure
will charge for compute. &gt;&gt; Remember when you use basic &gt;&gt; it means that you get one server with certain amount of compute which like a certain amount of compute which like a one one GB RAM and uh one CPU.
&gt;&gt; Okay. So you run one app service you run 10 app service Microsoft doesn't matter they said I will charge you &gt;&gt; okay not for the even if you having multiple is that doesn't matter then &gt;&gt; it doesn't matter
&gt;&gt; okay okay sir &gt;&gt; yeah thanks sir &gt;&gt; yeah thanks sir &gt;&gt; yeah
let's understand first before we discuss world of like a github exact end to end end to end debops flow look like.
So for an example if I give you a little basic idea that the very first come with developer or you can say a people
who develop a source code. So there is not one developer, there is not two developer, there can be a multiple developer who
there can be a multiple developer who work as a team to develop one work as a team to develop one application.
in a typical company we have a three developer
try to develop MS office.
probably develop develop Excel
let's say develop MS wad and developer
might develop another one which is called PowerPoint
work on a same project. Project is called MS office. So to develop MS office probably the work divided to three developer
work divided to three developer one develop excel one word one powerpoint and just to make the life more easy more easy let me make just put a name here so
let me make just put a name here so let's say for example this is let's say for example this is let's say Arati
let's say for example ISPA second developer Rajkumar third developer
They might sit in a different geographical location. What happened now? So all these three people after develop their
develop their part of application. They push their application code
to GitHub and in a GitHub they might have a main central
a main central repository. repository is a master or we also sometimes call it as a main
or we also sometimes call it as a main repository. GitHub managed by
another person. be called that person by designation SCM master. by SCM master is dominor.
ask Arati, Spita and Rajkumar, hey Arati. Hey Spita, hey Rajumar, hey Arati. Hey Spita, hey Rajumar, you cannot you cannot push any of your code here
project is not complete. So what it does now
three special branch let's say inside the GitHub let's say inside the GitHub this is branch one you can say just this is branch one you can say just inside this there is a one a small
folder and say hey Arati you and say hey Arati you push your folder your data here. push your folder your data here. Ispar this is for you and Raj Kumar this
Ispar this is for you and Raj Kumar this is for you
we call it as a child branch
People also call it as a feature branch. But just for understanding, let's But just for understanding, let's keep it simple. Then Arati push
this local machine with help of something called get client on this branch. So code move from here to here.
branch. So code move from here to here. Exactly same thing happened by Ispita and exactly same thing happened by
local machine to their respective branches.
in process. You can call it as a push also. But the more we can say technical terminology. Every developer then checked in their
Every developer then checked in their code to their repository.
then there is one more person introduced. introduced. You call that person your team lead. You call that person is
You call that person is a senior developer. You just name it. just understanding purpose I'm saying that pra is
I'm saying that pra is a senior developer. then review the code. Which code?
Arati code first. If they found everything is correct,
this process in GitHub
they perform the complete review both MSW and Excel and when they satisfy they again merge
they again merge from here to here.
now this repository actually go whatever they have is gone and it will come to the second repository. Suppose that when everybody is now
inside one branch then they decide then they decide then they decide to merge this last branch with the master branch. Who is doing all this task?
doing all this task? Prattab
complete MS office as an application available available from
to now finally it come to the main repository.
Now you have a perfect process where you Perfect. Now, so now the code finally merge and available
finally merge and available in the master branch. from here this whole code need to go in build
this whole code need to go in build process. the master branch and from master branch the code must go
into the build process. So now you should need So now you should need a build tool.
This build tool can be Azure build pipeline. GitHub workflow
or GitHub action. So for example, you can use
GitHub action or GitHub workflow to completely do a build process. Oh my god. Oh my god.
action. So I mean to say if you look So I mean to say if you look oh let me to put it like this
You just name it and but this is how but this is how this whole process work or you can use Azure DevOps build pipeline
Dev Ops build pipelines
or you can use a third party service. It can be genin
these build tool already have an authorization. We have just seen a study just seen a study in during our lab exercise
that other services from outside can connect with your GitHub connect with your GitHub and in a very technical language. This type of relationship from my GitHub to
to other service
It create a hook from me to you. There is a hook.
complete code you can say whatever you have now going to a build process.
going to a build process. But here the catch start. or if I open any of the you can say command let's say if I go to
I just take any of them I am just catching it this command
want to run a Python program. So I type py. Let's say demo. py.
what is py. Oh, sorry. Sorry. It is Java program. So Java my app dot Java it say what is Java I do not know Java what is it means now neither in my laptop Python install
neither in my laptop Python install nor in my laptop Java install I try to run now build a not throwing oh it's running it means that in my laptop I have a
So what does it means? It means that when we develop a program, we develop using a language,
Java, Python, Net. Let's to understand that we use Java. So all these three developer is my Java developer and in
their development everyone have a Java Java Java. everyone have a Java Java Java. Now the build tool said that okay Now the build tool said that okay Java which version of Java
you run the Java code in Windows or Linux.
How we can do a build? It has a lot of question now. right my dear friend which language
give you build artifact you want in a JIP format you want in a jar format you want in a nougate format which format
these tool are just a machine. It's not a human. a human. In a traditional world,
managed by managed by I'm just saying Bola. Now managed by I'm just saying Bola. Now Bola going to ask
which language? Oh Bula this is Java. Oh okay okay. Which version? Ah Java 10. Okay okay okay. Which operating system? Uh I have used Windows operating system.
Okay okay okay. Okay okay okay. How you want to convert the whole program? Just want to convert the whole program? Just create a jar file, a JIP file. create a jar file, a JIP file. But problem is this time it is a tool.
But problem is this time it is a tool. How you are going to call a tool?
it can be Arati it can be spitha it can be spitha it can be a rajumar
one of the developer is not a normal developer so let's say arati know javas is master in java
But she also master in DevOps development of Java. I am going to provide an instruction to this build tool. It can be a GitHub
workflow. It can be an Azure DevOps. It can be a Jenkins. So let's say for example Arati can use YAML or a JSON script.
to develop now an YAML file because Arati has a additional skill other than Spitan Rajumar. She also know
how the debops work. So see write a hold So see write a hold you can say process dear build tool must ensure you have a Java 11. Dear
must ensure you have a Java 11. Dear build tool please run this command to compile the code. Dear build tool now run this command to test my application. Dear build tool now you once you build you package everything in a GIF file.
Everything is see written in YAML. So this YAML along with this code go to here much process it will come to here and much process it will come to here and then it will finally come here.
GitHub workflow it can be Azure DevOps it can gen It will first check that do you have instruction file
other format but it should have a instruction file. So your build say yeah I am going to see your YAML now
I am going to see your YAML now it pull everything is here so along with all the code
the build tool also YAML
the YAML in the YAML it say that okay you need a Windows virtual machine or Linux virtual machine. Oh, in YAML it is said that you need a Linux for example. It create a VM in the background.
Java. Okay. Okay. I am going to install a Java.
a test you have a test script I am going to use now JUnit oh to do the build you need a maven
example it's install maven also
and Then as per your instruction it run a stage by stage. Okay. You told me to first compile your code. I did. Now you told me to test your code. I run the test script. You told me to create a package. Okay. I created a package. You
want me to upload this package to this place. I done that. place. I done that. Whatever you write, it's go and use.
So when we say a build it means that it can be can be it do a two task. It compile your code it do a two task. It compile your code and it also create a package.
called build. Can I see the build? Yes you can.
Yes, you can. Let's say this is a build. Who create
build version one. What it contains? version one. What it contains? It contains
Sorry. It contains all your application code. These three when this is copy in the target environment
how it run. So there is a special instruction you can say executable instruction file which can be a sales script which can be a powershell script which can be a simple text script.
So any script I mean to say it is now also included in this build.
it probably go to release. who can do a release. who can do a release. Now it can be same three tool
you can people generally use during the release process is encel.
release tool where you can release your application packages. application packages. So, now you have a tools available.
Let's say for example this release is managed by a separate person altogether and I'm just taking that it can be Oliver. Hey Oliver,
for it through the release process, right? So your release tool must want to right? So your release tool must want to know.
Which package means you have a jar file? You have a zip file. What is the package type
means you want to release it on a cloud. You want to release it on on prem where
and how? So they ask a lot of question.
another YAML file which have clear instruction for the target instruction for the target come here
YAML file and then this second YAML file let's say also come here let's say also come here this YAML do not read by the build
So release read the YAML and then release download from wherever you put this build
which we can even see we can even see it's called relig artifact.
So let's talk about this GitHub. For a very very long time, people use GitHub use GitHub as a central
as a central repository
For example, I use GitHub is almost like a 19 years now. 19 years is almost like a 19 years now. 19 years But I see a huge drastic change in But I see a huge drastic change in GitHub in last four year
because when Microsoft is working on its devops tool, known repository. So they have a choice.
repository. So they have a choice. They have a choice to use They have a choice to use sub version
and they choice to use GitHub. So they understand GitHub is widely accepted and used by most of the developer or you can say people.
developer or you can say people. So they go and acquire the whole GitHub they buy the GitHub. So same GitHub which is freely available to all of us it is now acquired by Microsoft
and it is now have Microsoft brand
and same GitHub is available as an Azure repo
So what the Microsoft does they make the same GitHub available they make the same GitHub available as a private repository as a private repository in Azure DevOps world
know this GitHub this GitHub make lot of enhancement they push their developer team to
transform this GitHub. So what the GitHub now provide here? The first thing GitHub provide which is known to everyone is a repository where you can store your all data.
a full project management PMP. People use Jira instead of a Jiraa. It give you a full project management with their canban board just like that in you have azure board.
collaborate. Just like a share point you have a Just like a share point you have a collaboration
means you can invite team member to join your GitHub. Apart from that it open its API
it open its API so that environment directly to this GitHub. It open now and they make this GitHub availability in a two way.
One people like you and me GitHub. No charge free of cost.
account and that that day be actually create an account and they can also provide an organizational GitHub.
liberty to connect this GitHub with your on premises active directory.
GitHub application running in a separate server. So server will not share
license charge and all this organization GitHub is purely within your company. No one can access from anywhere outside.
personal or organization this feature is available across the board available across the board like a repo
latest one latis they introduce integrated AI tool
which is called GitHub copilot
in a three edition personal professional and enterprise. same copilot now it is integrated inside it. Of course, as a free account, you can still use, but uh it it has a limitation how many how many type uh
time you can ask a question or something. But now we have a GitHub uh copilot. So this make GitHub is goto tool
for a company who probably do not want to go for expensive automation tool like an Azure Debops. Yesterday I just say Azure Debops is a costliest tool. Number one per user
license. Number two, uh how many time you run a build and release uh in a background, it will charge you the compute power also.
organization, I want a full CI/CD functionality. I want a Canon board, I want a repository, I want a collaboration, and I also would probably like to go with the AI
I will not go with deops because that will going to cost more. I can go and use my GitHub. I just create an organization account.
and just use the free account with the limitation of of course but uh I it is good for me. I hope that you understand the power of
GitHub in today's context. It also give you an option even in a It also give you an option even in a personal account
in any cases you can use this configuration for our demo purpose we use it public and then you get an one option
called add readme. This is very important when you initialize when you want your repository to be ready the moment you create
the moment you create you should add at least one file by default it add something called readme where you can go and describe readme where you can go and describe your description.
Yeah. And in repository name ispita maybe you can type like uh uh MS office maybe you can type like uh uh MS office ispithita orista sorry yeah yeah so that it's a recognizable okay now another very important one if you look
at below it's say get ignore and this is quite an important one so as a developer as a developer
as a developer we during the development time. We probably use some of the file where information might be private confidential.
I do not want when we push my whole code one specific file should go to a GitHub or maybe a collection of files should go to GitHub. So if you want you can add that file in a g
ignore. Git ignore means when you commit everything go except that file. Right now I do not have anything so just leave it blank.
And usually when you want put some code some data in a GitHub repository you can also define you can also define how this repository can be used by other
people. So there are different type of default license agreement available like you have a MIT license and so many like you have a MIT license and so many other licenses right. So, so when we
create some very specific code and I want that anyone who want to use my code, this just follow the opensource license agreement. You
can pick anyone at this point of time. I do not want to at this point of time. I do not want to use anything. So, just I say no license. use anything. So, just I say no license. All right. Once you all done
All right. Once you all done hit create repository
and please confirm if you are able to see your repository repository life.
Yes. So let us start with the first. So let us start with the first. So for an example, for an example, let's sayista is
project manager. Okay? And you all are team member.
as a team member to work collectively on one project and how she will do that. Before that if
and how she will do that. Before that if you look up on little right hand side top right hand side top there is a one icon
it is basically your username last one extreme last. Yeah click that you see the you have a username please everyone copy this name and paste
please everyone copy this name and paste that name in a chat box. name and paste in the chat box. Okay
Okay perfect is now you have multiple name. I think for Patab we are not able to see your name. Yeah lot of people are putting. Okay. Very good.
Very good. Yeah. So what is Pita going to do now? Yeah. So what is Pita going to do now? Ispita copy Arati first one. Yeah. Yeah. Put it in a notepad. Put every name name in a notepad.
and same everyone you can copy each other name just to other name just to see how it work. Prepare your notepad.
Now we are simulating real world environment. Okay. How exactly people collaborate using GitHub if they are going to work on a common project.
You can just double click it. Double exactly.
Agree. So you should see a login name in your GitHub account. Okay, that's fine. Now go back to your GitHub
and look at the process. Make it a full screen once you have then in the repository side.
That is just fine. Yeah, Ranger Capital. Yeah. So, in your repository there is a Yeah. So, in your repository there is a many menu code, issues, pull request, action, project, wiki, security, insight and last one is a setting. Please
and last one is a setting. Please everyone go to the setting setting of your repository and on the left hand side just confirm are you able to see under access the first menu is collaborator.
Everyone able to see collaborator please click that. properly. Click verify. You get a code in your Gmail. Uh
yeah, please click that. If it asks for a reverification, please do that. And then you get a option called add people. Can you all confirm add people?
Gregory can you confirm you are able to see add people please click add a people and start pasting name one by one
you may get one email in your sound. Please find out. Gregory screen. Gregory, can you share your screen
and all of you please confirm if you received ISPA email? Yeah.
ah you know what what happened you by mistake do not add which is called uh &gt;&gt; Okay. &gt;&gt; So just yeah so if you can create one &gt;&gt; so create another repository. &gt;&gt; Ah create new maybe MS office uh
&gt;&gt; Ah create new maybe MS office uh Taylor correct like this. Yeah.
&gt;&gt; And then below you see add readme, right? Just check this box. &gt;&gt; Okay. &gt;&gt; Uh now click create repository. [gasps] &gt;&gt; Now go to the setting.
&gt;&gt; Sorry. Sorry. Just above the just above you have a code. Above code you have a setting. Uh just just little little little left side. Ah exactly. Yes. And then on the left side you have a collaborator
first. Uh you have to reverify.
Yeah, I got I had to think about the password really quick. [laughter] check your speaker. I think Patab is not able to see or you
can rejoin. So now I have to add everyone that put So now I have to add everyone that put their name in the
&gt;&gt; Stop sharing. &gt;&gt; Yeah. So you can add every people and you know you they get a invite. So if when you open email Grogri you can see that how the people been invited. Okay. Perfect. Yeah. Stop. Yeah. Yes. Please.
Perfect. Yeah. Stop. Yeah. Yes. Please. Seriously.
all of you. I think that Arati not able to accept to accept or Raj Kumar accepted. So if you refresh you can see how many people accept your invite.
invite. Refresh the GitHub.
Rati, you are not able. Are you able to see the email? check your email and you should able to I think Patab also now created. Yeah, just click uh can you check your also email is if
can you check your also email is if someone invited you. like. I think no one has uh uh uh Gregory can you add is name? Ispita can
Gregory can you add is name? Ispita can you share your name to the chat you share your name to the chat login name?
Anyone of you can you add isa in your repository?
you receive any email. Yeah. Look at that. So ispita now received multiple email from various people who invited. Let's say you click nag her email
and you get view invitation option. Click view invitation
invitation to work together, collaborate collaborate in a real project world.
[gasps] I think that is I think a lot of people are not accepted your invite as of now. Yeah. Can you accept everyone invite? Uh
Once you set just close that okay close that tab so that
each other invitation just to collaborate.
Yes. Very good. Now what will happen? Everyone of you please ensure that you Everyone of you please ensure that you should be in the ISPA
uh Patab Rao? I think that he is not. You all can also add my name. You all can also add my name. This is my name. Please add it.
to see I collaborator. So everyone please can you come to ispita repository just confirm if you all are able to see ispita repository.
and click the view invitation and you should able to see ispita repository. should able to see ispita repository. Yes visual.
yeah very good. Now everyone please go to the code of ISPA. Everyone come to the code menu. Just confirm if you are in a code menu. Click code menu. Everyone please confirm you are in a
Everyone please confirm you are in a code menu of ISPA and then you get add code menu of ISPA and then you get add file option. Click upload file and upload any generic file. This will not be important from
file. This will not be important from your machine.
&gt;&gt; Okay sir. &gt;&gt; Okay. So now you you are in ispita &gt;&gt; Okay. So now you you are in ispita repository and inspita you should able to see MS office espita. Look at that little uh right side below
in a third box in a in a sixth box. Yeah. &gt;&gt; Yeah. Yes. &gt;&gt; Okay. Okay.
&gt;&gt; Yeah. &gt;&gt; All uh this is collaboration. It means that if we all are working on a same project project &gt;&gt; I I use I upload my MS Excel. You upload
uh probably PowerPoint. Someone upload maybe MSWord. Right. So you can also add a file. Click add a file. &gt;&gt; Add a file. Where's that? Okay. this one. &gt;&gt; Ah, and you get upload file
any of any file from your laptop which is not important you can upload. is not important you can upload. &gt;&gt; Okay.
a file. I think AJ 305 draw.io can upload. &gt;&gt; exactly. Upload. Open.
&gt;&gt; So what? Open. Okay. &gt;&gt; Open. And in the commit message it just &gt;&gt; Open. And in the commit message it just say that uploaded by developer Bola. Oh above. Abab. &gt;&gt; Okay. Do you have one? Okay.
&gt;&gt; Okay. Do you have one? Okay. &gt;&gt; Uploaded by developer Bola. &gt;&gt; Uploaded by developer Bola. You got to say this. Developer. Put your Click commit. &gt;&gt; Commit. Okay.
&gt;&gt; The same repository your file is also updated. &gt;&gt; You got to sir. Thank you. &gt;&gt; Yeah. Yeah. &gt;&gt; Yeah. Be there. And now I am going to Espita. Yeah. Espa share back your
Espita. Yeah. Espa share back your screen.
Yeah. So now this is this is a very simple example how multiple developer contribute to probably uh one single project. Is that clear so
far? How the collaboration work in a real production world and how the developer who geographically separated can who geographically separated can contribute to the same project
as a project manager, if Piska want to if Piska want to ah Oliver
possible because the repository it's a public repository. No, even it is a private repository. Uh you will get invite and you can connect. &gt;&gt; Okay, that's good. Thanks. &gt;&gt; Even in a private. Okay. Yeah.
&gt;&gt; Yeah. So now now So now now a pista as in project manager try to understand how many member
how many member contributed contributed to this project. So where the aista will go? She will go to the insight. Are you able to see inside?
and in the inside she will see everyone who is a top contributor. I think that the first one you yourself you have contributed two
rest all including me we are just contributing one correct. So it it can she can see a wonderful graph
wonderful graph that who exactly contributed who exactly seals silent if she find okay one person let's say for example domain not contributed she can call domain domain what is happening why you are late why
what is happening why you are late why your code is not committed
is actually working, how many team member not working. And then on the left hand side she can check contributor. Click contributor
graph as well as each team member performance report which date how many performance report which date how many commits they did.
As a project manager, this is what you want.
on the left hand side there is so many you know the options is available. You check the code frequency how how frequently the code has been contributed. So uh lot of things I mean to say once you have a if you watch your
production GitHub you will see the lot of reports. of reports. Is this part clear so far?
but how one team member how one team member communicate with other so let's say for example example Olivier may have some problem
bola may have a some problem and she want she want to communicate with either want she want to communicate with either all team member what she will do she should type on a WhatsApp or should use the email.
tool, it is a communication tool also. So just look at on the top you have something called issues. Can you click
something called issues. Can you click that?
I just ask one one person not all one one person let's say pab you click new issue which is there on the right hand side click new issues you also click espa because you are demonstrating yeah only parab or all can
do but do not commit. Okay, let's say you just put a title you just put a title error in line number nine
I get an Error in MS Excel in MS Excel print function.
Okay. And just go to Google. Just go to Google. Open a Google Just go to Google. Open a Google and just type sample error in code.
So you have maybe just pick up any code. Uh just save it. Uh just save it. Just say error.
and scroll down and you should see paste, drop or add a file. Yes. And then that's fine. That's fine. Just just press enter in the last
sentence. Can you suggest? Huh? Just say add the rate after huh after after enter the rate and look at that the moment she type at the look at that the moment she type at the rate all the member name appear here. So
rate all the member name appear here. So for example, you just select Oliver.
how you are communicating. Okay. And look at the little right hand side. Little right hand side. There's a lot of menu. Can you scroll up? For example, you can assign. So, just click uh assign yourself
icon. Yeah. And let's say you assign this task to And let's say you assign this task to Bizul
and maybe Bola Oliver you have a Bula. So three people you assigned this task
as a project manager. Okay. Yeah. Just click outside and look at that. How many people? And then you can put a label, right? Click a label. And what is that? Is it related to a
And what is that? Is it related to a bug? Is it related to a documentation? It is related to maybe enhancement or it is something which you want a help. So you say that this is bug. So click the bug.
Excellent. Click outside. Perfect. And this is how you can click create.
up and click issues. So look at that. Lot of people are putting you. So uh everyone click the second one which
say is to commit the process. Click that. And now every team member I want you to put a comment below. You have a comment.
So maybe you can say that uh Oliver at the rate Olivier uh I suggest to use chat GPT to fix the no
yeah exactly okay click comment everyone can you put a comment quickly and just confirm are you able to see the comment in a real time just like a WhatsApp
no refresh required. Everyone start putting a comment to the second one. Look at that. Yes, you can Google it.
Just like a WhatsApp you are doing right real time communication going on chat. real time communication going on chat. Yeah, put a smiley. Let's connect. Yeah, you have a smiley. Just click
icon, a smile icon. Yep. Thumbs up. Just like a WhatsApp, you know, that's a real communication. You do not need to go anywhere outside
make sense how you calibrate and communicate in a real time. So let's say communicate in a real time. So let's say for example if this issues is fixed
what they happen probably is or any one of you can put a comment thank you
Yeah, just put thank you. Issues resolved and just click close. Issues is closed now.
Now it's closed. Okay. Can you all go back to issues again? Go on top. just see in a closed one you are able to see there is a closed issues is
happening. Make sense?
instead of using issues we also using Jira right is the same similar method &gt;&gt; similar but you have to pay for a Jira. &gt;&gt; Yeah that's fine &gt;&gt; per user license. Correct. Yeah. Yeah. And it's free. [laughter]
&gt;&gt; So good for a small organization. Correct. A small project. Yeah. So till now is it it is clear for everyone how collaboration work.
Yeah. Yeah. Now let's see one a very Yeah. Very interesting. interesting feature is to perform
CI CD. CD. You see that there is a GitHub action.
own repository. How will you come back to your own repository? You click the to your own repository? You click the cat icon Uh you can come to your own repository MS office. You can uh stop your sharing
and let me go back to Bola. Bola share screen.
Okay. This is The second demo The second demo where we have one developer want to test
to test CI/CD functionality CI/CD functionality of their application.
and if you just open this notepad file open the notepad file bola open the notepad
okay go extreme up just major thing Okay, first is a name. So maybe you can just say in a state of a CI/CD demo just you can say uh Bola
in a name you see the CI/CD demo the first line. Yeah, just change to CI/CD first line. Yeah, just change to CI/CD maybe Bola. Huh? required. Just say type your name.
Remove the word safe. So this is the name of the script. It can be anything. For example, a project to deploy application on Azure. Now how this how this
whole YAML means trigger? Look at that. When it say on push to the main branch, the moment your code is committed to the main branch, it will
trigger the deployment. And then you see that I write a permission uh to save the file.
And then you have a job. And what is a job? I said that job is you can do build and test. You can give anything. I'm just giving a name build and test. And just giving a name build and test. And very important one running on where now
I am requesting GitHub to create to create to create a VM and with the VM you should use Ubuntu latest operating system. What is Ubuntu
latest? I believe 24 right? Ubuntu version 24. So Ubuntu is a Linux operating system. So it create a VM with the Ubuntu. If I give it here Windows the Ubuntu. If I give it here Windows 2019, it will create a VM with a Windows
2019, it will create a VM with a Windows 2019 free of cost. 2019 free of cost. And then that once you once you create And then that once you once you create this VM, look at that below.
this VM, look at that below. Uh it's good. You please run a build. Uh it's good. You please run a build. Scroll it down. called list
and in that folder create a file called app.txt in that app.txt you can just write build artifact generated. artifact generated. So maybe in the eco you can type
So maybe in the eco you can type build artifact generated by bcola for azure generated by bola uh
just to give so in app.txt txt this is what exactly it will print this is what exactly it will print this is generic test one then it said that uh run a test in a test I simply say that just eco that all test pass because uh
I'm just running a simulation here then I say that once uh your build done it create a build artifact upload that build artifact upload that build artifact in a folder called dist this folder
which we have created and then I said that once Once that artifact is generated, build created, release it. Where to release it? Scroll down. Now for a release again, you need a
machine. So I say that again. Create a Ubuntu latest machine. Download the Ubuntu latest machine. Download the build artifact from uh the uh storage build artifact from uh the uh storage where GitHub share everything and then
where GitHub share everything and then and then create a release. Let's scroll down. Then create a release with this tag. This one, this one, this one. I mean to say
one. I mean to say this is a very special file who develop not a normal developer. Normal developer say I know Java, I know Python, I do not know YAML. But the people who have a DevOps
But the people who have a DevOps experience or a DevOps developer, they know YAML, they know JSON. So it is their responsibility to So it is their responsibility to generate this file and upload in the
repository. So please copy make control A everyone everyone make control A to copy everything.
Go back to GitHub please. In your repository ensure you are in your repository not insp one which we just did a practice. How will you confirm? did a practice. How will you confirm? You have to click the cat icon again and
please confirm that you should be in your own repository. No, not in ranger. Uh yes I think the ah this one. Yes everyone.
Oh, I think that for you you also not created. Okay, Bula just go to any created. Okay, Bula just go to any repository.
I think we created something new right last time. Okay, can you quickly create new as fast as you can?
all right let's fine let's scroll down and you have a add read me just on it. I think last time you also missed that. Yeah. Uh on it you have a on button. Yeah. Uh on it you have a on button. Yes. Click create repository.
repository and then you see action. Just confirm you are able to see an action. confirm you are able to see an action. Confirm in the chat you are in actionor
there is a lot of readym made template available. For example, if you want to deploy on Amazon, if you want to deploy on Google, if you want to deploy Open Shift, they already provide the sample script.
Okay. But here I'm not deploying to any cloud. I am just testing how the uh release and all work. Okay. So, everyone go back on the top.
No, it's not ARM template. It's a YAML template. something called set up a workflow by yourself. Can you highlight it?
Yeah. Highlight it. Highlight it. Just confirm you able to see setup and you are in the same page where it is saying saying main.yamel YAML file. Just confirm fast.
Zumindor, Arati,
same page? Visual
much more. Yeah. Okay. Just paste here.
Yes. Now once you once you have paste here on the right hand side top there is a green color button called commit the changes. Click commit the changes. In that main message just say that deops developer
message just say that deops developer bola uh in the main where it say create main file just that
file just that uh by bola developer. Okay, hit commit the changes.
something is created now? something is created now? Everyone able to see? Click that create main YAML develop by Bola. Click that file.
Bola. Click that file. Click the W. Click. Are you able to see build and release actually completed for you? Because actually completed for you? Because there's nothing two stages build and
there's nothing two stages build and release.
same stage which you develop in written in the YAML actually running the same one? Same word test always pass same word right upload build artifact same word. So if you click the first one set up the job
creating a server with the operating system. Can you expand the operating system. Can you expand the operating system?
24 it create a VM
it create a folder right that is what the build you are doing correct and in the folder it create a file
click upload artifact click upload artifact just below test there is a upload artifact scroll And just confirm are you able to see a URL where GitHub upload its artifact.
Can you copy the URL and paste in the browser to see what exactly the build browser to see what exactly the build created?
get a file app. This is the name which you given app. This is the name which you given right. Click the app.
Yeah, before I move forward, let me go to to Oliver. Oliver, share the screen.
H where you stuck friend open. Okay, go to action. I think you already created it. Yeah, look at that. Oh, okay. Okay, okay. No worry, no worry. No, no worry.
So, you have copied my file. Okay. I hope that you copied the whole code. Good. No worry. No worry. Just go back to your repository.
Go back to GitHub. Go back to code.
workflow. Just below. Look at that. Below. Uhhuh. Uhhuh. Uh. First folder. First folder. First folder.
side you see add file. After add file there is a three dot dot dot there is a three dot dot dot extreme right. dot dot click and you have a delete directory.
click and you have a delete directory. Delete it.
Okay. Now so we are going with scratch. Click action first Oliver
Look at that. That's above the search workflow. You have a setup workflow workflow. You have a setup workflow yourself.
So it automatically create a main file. Now paste here all your code.
side top there is a green color button right hand side Stop.
Just commit created main file by developer Oliver. Uh on the top on the top create main.l by
developer Oliver. Yeah. Click commit the changes. Yeah. Now go to the action
click. Click. Yeah. Build is done. Release is going on. Correct. Make sense, Oliver?
&gt;&gt; Yeah, perfect. Good. &gt;&gt; Yeah, thanks. Yeah. &gt;&gt; Yeah, thanks. Yeah. Huh?
uh question on the uh the script on the yammer file uh for the runner images. &gt;&gt; Yes. &gt;&gt; Uh so basically this one is calling up a uh a container or a virtual machine itself.
&gt;&gt; It's going going to call the virtual machine itself. And who provide the virtual machine? Now Azure because it's taken by Microsoft. &gt;&gt; Okay. But uh &gt;&gt; the background it use the same platform.
OS is Windows. &gt;&gt; Yes. Exactly. So you can define which OS you want. &gt;&gt; Okay. So my question would be is there a &gt;&gt; Okay. So my question would be is there a concern about licensing or ULA?
concern about licensing or ULA? &gt;&gt; Yes. Because as of now it is free. As of now you do not know that tomorrow Microsoft might say that if you want to use GitHub action you have to pay the price of virtual machine.
&gt;&gt; Till now it is free because Microsoft right now it's promoting DevOps right &gt;&gt; so they just say that you can you can just have a feel and uh you can now go to the enterprise platform like DevOps.
&gt;&gt; Okay. Because right now we're all using virtual machine but it's costing also a &gt;&gt; Yeah. &gt;&gt; Uh the ashure team is already complaining to me because there are &gt;&gt; no you you said that okay I do not Yeah.
&gt;&gt; no you you said that okay I do not Yeah. I do not want to use your you know uh Azure now I am I can do it from here sir. &gt;&gt; Okay I see. Thank you so much. &gt;&gt; Yeah welcome.
&gt;&gt; Yeah welcome. Yes. So let me call Raj Kumar here. &gt;&gt; Yeah. &gt;&gt; Rajar, you already using Azure DevOps.
Do you see a difference the way it run here on Azure DevOps? &gt;&gt; Yes. Yes, I see a lot of differences. There we have a different pipelines for the both and build and release. &gt;&gt; Uh
yes. So it means that for a small company, a small project, this is fine. Correct. But for enterprise grade, you probably need a better control. &gt;&gt; Correct. &gt;&gt; Yeah. So, yeah. Thank you. Oliver, you
&gt;&gt; Yeah. So, yeah. Thank you. Oliver, you can stop your sharing.
I mean to say if you If you look Whole flow in GitHub. GitHub give me repository.
in GitHub. GitHub give me repository. GitHub also give me a build. All of you now see how the build look like. GitHub also create release. You can also see the release also. What
You can also see the release also. What exactly the release artifact look like deployment. Okay. So let's take a quick 10-minut
break and when we come back from the break we are going to now deploy it on break we are going to now deploy it on or I want that my once my build done it or I want that my once my build done it should store in blob storage.
should store in blob storage. Okay so quick 10 minute break. Okay so quick 10 minute break. Dumindor, Bijal, Patab, Arati, Nagis, Gurugree, Olivia. Yeah, everyone is back.
Olivia. Yeah, everyone is back. Okay, recording of all the session and that recording will be available for you next recording will be available for you next one year. Yeah. Okay.
So, as of now, we understand this whole flow. Yeah. whole flow and
I think that one of the scenario which I believe uh Dominor say that they use GitHub that they use GitHub only to create a build
only to create a build and that build then probably save to server. Now I want Now I want that whenever the build is created like
that whenever the build is created like an MSI file or a zip file or exe file it should be saved in my blob storage.
blob storage. Aha. So it's not there but if you want I can give you one step guide. &gt;&gt; Yeah please. Yeah. &gt;&gt; Okay. Okay. Just make me remind next class I will share that file with you.
&gt;&gt; Okay. Thank you very much. &gt;&gt; Yeah. Welcome. one thing you all remember whenever we talk about
a Jio storage service to connect this storage with external service. It can be our code the way you practice
in AJ 204. It can be any other service outside Azure. Microsoft give you something which is Microsoft give you something which is called.
[laughter] [gasps] Yes, it will definitely going to [gasps] Yes, it will definitely going to use something which is called
hope you all remember that your storage account have something called a storage key or a storage connection string. Azure storage account.
So yeah exactly. yeah exactly. So what we have to do now in GitHub in GitHub we have to add this storage account.
there is a very special place to store your secrets like username and password, like a connection string
Under setting you will see there is something called a secret. click the setting and you will get a secret. When you expand the secret, you
will get an option to add this connection string there. Then in the YAML file we have to mention
post build. Post build or you can say it also copy the build artifact
to my storage account. So we have to add a line first. Add your connection string. It can be S3
also. Add your connection string or a key Add your connection string or a key here. And then from here you in a YAML you just define where you want to publish.
It can be a server. It can be any other services like an AWS. Same fun apply Same fun apply dto same.
So now we are going to test this feature as a last lab. as a last lab. So all of you please log in on your LMS So all of you please log in on your LMS launch your lab
ping me in the chat that you are ready with your Azure account.
everyone please if you want to participate in the lab that's good. just participate in the lab that's good. just need to launch your
Once you log in, once you're ready, just ping me in the chat.
Everyone please go to search a storage account. storage account. Uh Patab you are sharing a screen everyone follow you search a storage in the storage account.
Yeah. So when you type a storage you will get a storage account
account and then click create. same ODL resource group in a storage account name in a small letter, no
capital. Just type your name. For example, Prattab example, Prattab blog
West US2. As usual, every time we use the same region
and below you should see redundancy. Select the redundancy LRS and can you all confirm if your screen and pertab screen is if your screen and pertab screen is same.
is same you select LRS put your name and select west US2 put your name and select west US2 N
door Oliver
Yeah. Okay. Good. Please click next all of you and then enable the second check box. We say allow enabling anonymous access
because we are just doing a lab simple lab. So check this box lab. So check this box and hit review and create
access. G agree. Second box called anonymous G agree. Second box called anonymous access
in the next screen. Okay. Yeah. And then review and create. That's it.
most of you. Oliver uh blob storage or a storage account. It's also called blob storage. Okay. Oliver just confirm
blob storage. Okay. Oliver just confirm Oliver if you created a storage account Oliver if you created a storage account is ready. Your deployment is complete.
on the left hand side you have data storage. In the left hand side you see data storage. Click container.
and then you get an option called add container. Give it a name called uh for example build or data whatever
you like just put a name and in the access just ensure it should and in the access just ensure it should be container access be container access last one
it should be containers access last one and click create. container is ready? Dominor, Gurugri, Kashkumar, Arati,
Dominor, Gurugri, Kashkumar, Arati, Pista, Nagis, Bijal in case if you are doing. No. Okay. Good. Okay. Perfect. Now on the left hand side
you should able to see security plus networking expand it networking expand it and then you get access key
confirm if you are able to see connection string
the first one which is connection string. Click click. So
open your notepad. Everyone open your notepad and paste this key. Everyone open your notepad and paste your key
and then I am going to give you in the chat box one very specific name. If you are a developer you can use any name. I'm just because my following code which I'm going to share you use the same name.
same name. Please copy it from your copy this whole Azure storage connection string. Azure storage connection string. Go back to your GitHub.
Click the setting of your GitHub MS Office repository which we have worked Office repository which we have worked till now.
you should able to see secret and variable under security
then you get repository secret and it said that new repository secret. Can you said that new repository secret. Can you all confirm if you are on same page
secret and variable then action then new repository secret.
the name which I just pasted. And in the connection string, copy from notepad and connection string, copy from notepad and paste without any space.
Correct? I hope that your screen and pat screen is same.
Done. Now I am pasting one code. Now I am pasting one code. Please copy it and paste in a different Please copy it and paste in a different notepad. This is a new code. It is now
notepad. This is a new code. It is now going to upload your
Uh before name there is a oneh something. Yeah, exactly. Before name there is a by mistake one uh inverted comma come please uh removed it. I hope everyone removed that before name
I hope everyone removed that before name there is one a small should be only name nothing there. Okay. All right. Now copy it.
workflow folder. Correct? Everyone able to see in your Correct? Everyone able to see in your code GitHub workflow folder.
repository you see GitHub workflow folder karati Oliver Nages door
and you should able to see main doyaml file Right. It is the same file which we file Right. It is the same file which we already done. Click this file
and on the right hand side you see edit button.
Click edit button. Just say control A and delete everything what you have. Delete everything whatever the existing code you have.
Then copy the code new code which I share with you Once you remove everything, just paste the new code.
Can you all confirm if you are able to paste the code
commit. Click commit. a storing build to blob.
Scroll up and go to action and just confirm. Are you able to see that it is automatically now running the moment you make an update click that
Build is done. Release is going on. Wow, that's amazing.
Okay, I'm just sending you updated one. Then you again in the same way
Go back to your first uh code GitHub workflow code GitHub workflow main.yamel only release part. Yes, replace the release part only.
only release part. Okay. Delete it and paste it. Try to save. Run it again. Let's see what happened.
Go and check action. It should be updated now.
I think there's a alignment issue. Yeah, it is alignment issue. just sending you the updated complete updated one. So
What happened? Oh my god. and paste. Oh my god. [sighs]
Yeah, I just share one file. Can you open it? Download it. Open it and
a notepad because your folder name is different. Can you go to a check your container name? What the name you have given? Look at the almost like a last line destination is say demo. It's not demo for you, right?
Yes. Look at the last last last third line. string. Yes. Uh can you check your what the container name you have given
side. Huh. So whatever container name you have given you given build. So please give build.
Go and update the main file only. Change the build.
there. Just
just uh either rerun the whole build or delete or create a new YAML file because delete or create a new YAML file because it is taking now from CA.
Go back to code. Delete this workflow. Click. Now click. Click. Then on the right hand side you have three dot. Huh? Delete the
directory. Yes. Commit the changes.
Set up a workflow by yourself. Now paste that code.
commit it now. Hopefully this time it should work.
No, it should not be failure. Now click the build.
open it, if you want to check its content, content, just click edit button. Click edit. Edit. You have a edit button on top. No. On top. On top. On top.
Uh-huh. Just below the download. You see the edit button. Whatever is written is there. Okay. How many of you are see it's a successful?
many of you are see it's a successful? Stop. Thank you. I think for Nag it work. Grogi Oliver
click, click, click the file. Click the error. Create demos. Yeah. Click the error. Create demos. Yeah. First one. First one.
workflow file. Okay. Okay. Okay. I got that. Uh, scroll down. Scroll down to last. I just want to see what you have given the destination. given the destination. Okay. So, uh Oliver, please go back to
Okay. So, uh Oliver, please go back to code and delete the whole folder. uh you you see the GitHub folder, right? So, just click the GitHub folder. Click
So, just click the GitHub folder. Click the dot GitHub dot dot GitHub. No, no. You have ah exactly forh exactly yes and then on the left hand side on the right hand side you
hand side on the right hand side you have a add file on the top and then you have a three dot you have a click delete the directory
shared now? Latest one. No, no, no, no, no, no, no, no, no, no, no, no. I shared a file in a chat.
The last file more. Ah, this one. Yes, exactly. You downloaded. Huh? Open this file now. Yes.
and just confirm your destination is also built in Azure. yes. Yeah. If yes, just uh copy everything
without any means. Yeah. Go back to GitHub.
Yes. Si. Good. Go to action. Click action. side. Click setup. Huh. Very good. Yes. Paste the file here. Yes. Click commit the changes.
You also create build, right? Uh in Azure. Can you go to Azure and show me Azure. Can you go to Azure and show me before you making a commit?
problem. Yeah. Yeah. Just fine. Okay. Go ahead. Commit it. Commit
domain door. This is uh go to GitHub action. Now create, click release and upload to Azure.
Oh, can you go to setting quickly? Go to setting. Yeah. Setting. On the top, you have a setting, Oliver. Ah, last one. Last one. Last one. Yes. Exactly. Very good. Yes. And then last,
variable. Click action. You have disconnect. Oh no, no, no. You given a different name and in the file it is different. [laughter] You got it right. So um in
the YAML file I give a different Yes. So maybe you delete it and I just Yes. So maybe you delete it and I just give you the new name. You please post same name. Exactly. You give me one minute.
Just one minute. Huh? I'm just looking for Yeah. Just delete it. You have a delete button, huh? Just delete it. button, huh? Just delete it. Yes. And I paste new. Just click that.
shared in the chat because that is used in a code, right? because that is used in a code, right? Yeah.
uh paste your connection listing if you copy in a notepad.
Yes. Go back to action.
Click now release and upload. Now just see that
Uh, leave it blank as it is. Visual done. Can you go to Azure now?
Correct, Oliver. Now you are able to see the whole build is available here. Okay, I stop build is available here. Okay, I stop here sharing now. Thank you very much.
and power of the autobation world. of the autobation world. with this exercise today.
&gt;&gt; Yes sir. How you doing? Good. Good morning. [laughter] &gt;&gt; So I hope that now you today you get a clarity clarity &gt;&gt; about uh the different way of doing the
CI/CD process. It can be &gt;&gt; yes &gt;&gt; workflow it can be genio devops it can be any other tool process remain same. Yeah, I mean I can't I can't repeat it
all like you like you did through this whole four hours of class, but I do whole four hours of class, but I do understand like the the power of it I guess like with the collaboration um the ability to go from basically
creating your code to building release and and yeah so like because I thought you were talking about Azure DevOps but then at the end you brought it back. So yes, I do understand like stay in one place for me please.
[laughter] &gt;&gt; Yeah. So like like you know just the different individuals who can collaborate. &gt;&gt; They can their documents their their documents can be merged into the final
person's collaboration and then emerged into the um the GitHub repository. U we can share that repository &gt;&gt; um which I think is awesome and then we &gt;&gt; um which I think is awesome and then we can actually build it. Um so where it's
a little bit confusing is how do we go from let's say the three different files from let's say the three different files XML PowerPoint etc etc to the YAML file but we can we can comment on that we can build that YAML file and then release
that YAML file like we just did and in the case of not going to a website or Kubernetes or something like that it can be deployed to a storage Azure storage for like you know what is it Microsoft 365 type applications I guess
&gt;&gt; yes exactly 2008. &gt;&gt; Yes. Yes. And this is how the real Microsoft Office 365 they do the changes you know in a in a MS what do you see the new feature and this is how they do directly from there they push to that uh
I didn't know I didn't know they did that for Microsoft 3605. So I learned something I learned another thing today. [laughter] But then uh for websites instead of build and release to storage it can be build and release to
deployment that can go to a web app. &gt;&gt; Um it's not it's not not shown here but &gt;&gt; Yeah. if you scroll down a little bit for me please.
&gt;&gt; And it is a free right? &gt;&gt; Oh yeah it's free. Yeah. Yeah. free &gt;&gt; so [gasps] do not have to pay anything &gt;&gt; Yeah. And then what we just learned because like I do this all the time
actually um with different things I try to build is the the connection string, &gt;&gt; the appropriate connection string name and the appropriate connection string &gt;&gt; Yes, exactly. &gt;&gt; If you don't get those two things right,
it makes like you're just you're you're trying to troubleshoot all literally all going wrong. &gt;&gt; But yeah, so you have to make sure the naming convention is correct and then the actual uh value the key value pair
is correct with the with the key uh &gt;&gt; Yes. Yes. &gt;&gt; Yes. Yes. Um what else? Uh yeah and then um so you showed collaboration &gt;&gt; uh you showed the CI/CD
&gt;&gt; uh you showed the CI/CD &gt;&gt; uh you showed the the GitHub action um but you didn't show the API or the GitHub pilot co-pilot but &gt;&gt; yeah yeah so this is how exactly you know uh you can now have the broader
understanding so tomorrow uh let's say Grogi if you have to use another tool a &gt;&gt; Okay. &gt;&gt; Even if I use Genkins, I use the same
process. There is nothing change. &gt;&gt; Okay. &gt;&gt; Yeah. So, it means that this is this is the you know the flow how uh DevOps &gt;&gt; Mhm. A quick question based off the question I asked in the very first
&gt;&gt; Um back scroll back down to where you were. So you you Oh no no no. I mean that I mean scroll up I guess. However all the way down to the bottom. The very very very bottom. That's the top. Yeah.
Loudest away. Perfect. Perfect. Right here. So I I asked yesterday I think it The days are blending together. I asked yesterday um which one is better, GitHub or Azure DevOps? And but it seems like GitHub has
added a lot of different components. They added repo, &gt;&gt; project management, collaboration API, GitHub copilot. So is it still better? GitHub added these components? &gt;&gt; Yes. So still in Azure DevOps you have
much better control. So for an example I want to use build as a separate process process. I want to integrate compliances like a
I want to integrate compliances like a security policy of Azure inside my uh uh release process. This all you can now do in DevOps not here. &gt;&gt; Okay. &gt;&gt; Yeah. So once you see the pipeline you
will see the differences. &gt;&gt; Yeah. But at least for a small organization you know who do not want to invest money and they have a very small simple job this is fantastic. &gt;&gt; Okay.
And then you mentioned the build and the release process in GitHub are the are once you uh &gt;&gt; because you have a single YAML so that's how it is combination happen. &gt;&gt; Okay cuz once you commit they both they
both release they build &gt;&gt; they both they do everything in one single go. &gt;&gt; Okay perfect thank you. Yeah, that's a deops actually boom nowadays.
So then we understand in a very typical application development versus infrastructure requirement. developer say I develop my application
and now I want to deploy this application to the cloud maybe in the cloud this application need to deploy in a VM.
So anyone who work as an Azure administrator they create the VM. create the VM. But as an administrator probably
But as an administrator probably person do not understand what are dependencies of an application because they are simply or you can say that it's simply an admin job. So he said that
simply an admin job. So he said that okay let's a VM but he said no no no I do not want a VM I want you should enable the RPC enable the RPC you should enable this protocol
So it means that there is always a conflict between development team
and this conflict delay project.
deployed it may not function the way imagined by a developer.
then you should go from one stage of
For example, the typical traditional environment environment developer develop their source code developer develop their source code run unit test at a source code level to
check what's going on. Then the source code is shared with the test team. Then the testing team run their tool like a JUnit, XUnit
it straight away go to deployment. want to involve
involve Debops all the feature of Debops we start with introducing SCM in between
we start with introducing SCM in between like I I can say hey developer like I I can say hey developer once you develop your code. Do not give it directly to the test team.
and from this source code people can use pull for testing, people people can use pull for testing, people can use for build team use like a build team use genkins, MS build, maven
Testing team may use JUnit, XUnit, Selenium, Microsoft test. A deployment team may be used to like a A deployment team may be used to like a BMC Serena.
adjusted with this new environment of SCM stage two where you want to control the release.
introduced. one developer now in a state of sharing the code directly to the test team. They simply develop the code and push to
the GitHub. From the GitHub, From the GitHub, the build team who may use Genkins, the build team who may use Genkins, MS build, Maven
Then the build go to the testing team. Testing team run their own test. Once it is successful, the same build go to the release team
either directly deploy or they can probably send it to the deployment team. So when company adjusted with the new set of process and tool
let's say they now start using this whole process for next one year two year whole process for next one year two year then you can take that stage further I'll say that now I am going to totally introduce cloud-based tool
introduce cloud-based tool and this is the debops Stage three to the SCM. Now SCM instead of a GitHub we can use Azure repo.
SCM then connected with the automated build tool like Azure build pipeline. test like Azure test.
release like a release pipeline which can trigger automated deployment on Azure platform which can be a VM app
on Azure platform which can be a VM app or Kubernetes. and push to the SCM rest all process is fully automated.
the picture. So Azure DevOps provide you repo test and also the project management.
Second we understand why as a customer we need Deops. We okay we understand debops but why we need that? So one of the main reason is a appdriven world. In the appdriven world
world. In the appdriven world your business is running through the app take example Jmetto or any food aggregator app in your or any food aggregator app in your country.
there is a very frequent update. One vendor said that new pizza available must be visible in app. One vendor said that I am offering One vendor said that I am offering OnePlus 1 free it must be visible in app
OnePlus 1 free it must be visible in app so that user can order. So if the thousand vendor sending continuous update
a thousand developer tester deployment team I just have a 10 people out of which five is developer and rest five is
five is developer and rest five is tester and deployment team that's
build to deploy to various stages like a testing environment, QAI environment and automated. So even there is a a small team but they
are able to handle thousand changes per hour. should introduce DevOps in our organization.
We have a two choices. If you are already have a running If you are already have a running project probably you can think to introduce DevOps
but if you are introducing in a existing project it might create project it might create a chaos or challenges but if you are introducing to the new project brand new project
changes, your team will also accommodate the new kind of a deployment. And then we understand this wonderful lab
just to simulate CI/CD process work with the various different environment.
And then the last second class we actually go more deep dive DevOps world how the whole process look like.
developer who all work on a one project called MS Office. One developer develop Excel, one developer develop PowerPoint, one developer develop MS Word
developer develop MS Word and all checked in their piece of code and all checked in their piece of code to their GitHub child branch and from there it will be merged to a main branch
and then via web hook it is connected to a build tool. Build tool create a build And then this build will pick up by the
release create the release and then it will go to the deployment. And we have will go to the deployment. And we have seen all the action end to end. So anyone of you missed that lab of last week
interesting one. And then we do do one fantastic lab where with a GitHub action
we create a build and that build will go and store in release just like that MS office is available in Microsoft download portal.
Anyone can download and click and do the manual deployment. feature of a centralized repository
system. So this is what we uh practice understand last time. Let's come to the topic of the day
and before we highlight one word, let me ask a question to you. All of you know Uber, right? It's a taxi platform.
You probably heard about any e-commerce application like a eBay.
You probably heard about make my trip. You probably heard about lot of AI tools.
the cloudy create a havoc in the IT world. world. You probably also heard about people develop their machine learning model and then they deploy that model
and we use that model. What is common in all? And like that you have many applications. What is common in all?
All these different platform what is common in all that?
all online? Yes. All our online platform. Yeah. Exactly.
They are in cloud digital. Yeah, exactly. Yes. Very good.
Interestingly they all application which you see right now right now they all are running in container. No VM no app service
no app service all these are running in container. so to be very frank if I say there is no container, none of these application
container, none of these application exist today.
modern modern application.
Any idea about container before I move further?
It's a lightweight. Yes, exactly. Lightweight. Very good. Uh, which contains all dependencies of the application. Yes.
go to the old old way I'm talking about some 30 years back
so at that point of time how company develop their application application in Java.net net.
net. So they decide one language. Let's say one of the company decide they will go with Java. So their complete development team is a Java development team.
that sir you I am a net master. They said that I do not need you. Not like today. If the hiring is only for Java then only a Java.
Developer de develop their application and then they create a package. For example, if it is a Java, then it is a JAR file.
If it is Microsoft Visual Studio Code, it can be .exe, companies said that okay my whole application develop in a Java
and they develop the application and then they package it. But where will then they package it. But where will deploy? the server. physical server
and server at that point of time is very costly. 30 years back when we try to buy the server from IBM, Dell, HP,
these server come with a factory fitted configuration. For example, a mid-level server usually come up with the 256 GB of RAM.
they have a 8 CPU in the server they come up with the fixed hard disk. So let's say for example it's coming up with a 500 GB hard disk.
memory? At that point of time it is not possible. It's a pure hardcoded in the motherboard.
infrastructure team IT team usually deploy an operating system. So let's say they deploy a Linux operating system
operating system and system and then this Ubuntu depend on the
application they develop deploy the service generally deploy a service like Apache So I'm just saying that let's say for example they deploy an Apache
and then inside this Apache B this package go and sit inside one of the designated folder.
it's all 11 one. One application, one package, one server, one OS, one server, one OS, one deployment.
So this way of deploying an application we call it as a monolithic.
Mono means single. Lithic means a stone. A single stone. A single stone. No flexibility nothing.
In the last 20 years back suddenly there is a sift in the IT world is a sift in the IT world someone say that you have a server someone say that you have a server and you have 256 GB RAM
but your server is only utilizing for example 10% of the RAM example 10% of the RAM rest of the RAM is wasted concept Except they say that instead of install any operating system like a
install any operating system like a Windows or a Linux. Huh. Exactly. You install
kernelbased operating system and this kernelbased operating system is and this kernelbased operating system is called hypervisor.
only hypervisor. It's a very small software. software. When you install hypervisor, When you install hypervisor, it give you just three option. Create
server, create a storage, create a storage, create network.
let's say a VM. So you create let's say for example one windows VM one CentOS
and while creating the CentOS VM you say that I am going to give you you say that I am going to give you 8 GB RAM still you have a plenty of RAM in your system so So you allocate 8 GB
and say that I am going to give you one CPU for an example and I am going to give you let's say a 20 GB hardis
even if you give so much 8 GB RAM still you have a 248 GB RAM 8 GB RAM still you have a 248 GB RAM available for server probably with the Ubalu operating system or CentOS
operating system. So it's a different Linux flavor Linux flavor and you probably again provide him the and you probably again provide him the same now 16 GB RAM gone but still you
same now 16 GB RAM gone but still you have a so much RAM available have a so much RAM available and then you create a Windows server would say that I am going to give you a 16 GB RAM
a 16 GB RAM and probably a 50 GB hardis. So what does it means? Now on the same physical server
you can create multiple virtual server like you do today in a Azure. So application development team take it as an opportunity.
They divide the large monolithic application into a smaller application. They say that I will the same application same application now you have a front end. So the front end can be developed in
So the front end can be developed in Java. middleware can be developed in PHP.
you have a different artifact which probably And then probably you can develop the third application inn net
way of deploying an application. Now you push the front end to one VM, Now you push the front end to one VM, middleware to different VM
now divided into a smaller chunk. But advantage in case if one of the server down your whole application never down some part of the application is still running.
you are only upgrading your front end, your back end and your middleware will your back end and your middleware will is still running.
where now you can use different language. as an N tire approach
So if you are probably old in the IT world like a 10 years, 12 years, 15 years old, this is how you heard most of the time. My front end, my back end, my middleware, my front end, my back end, my middleware.
What happened? Now I'm talking about the current.
you already have a server in which you running your VM. What you are running here?
That's perfect. But what is the application?
Oho. You see file You see file H. Save is a function. Export is a function.
is a function. Login is a function. Payment is a function. Creating a cart is a function.
Creating a cart is a function. So when all function together we call it So when all function together we call it as an application.
running function or a small service.
Yes. So why you do not do now you develop your function in your own language. your function in your own language. So for an example file save function
is running inside a container.
So what does it means now? I can now develop I can now develop function independently
and deploy independently. So if this container is crash only that function will not available. For an example, For an example, last week only
no one able to book the FD, fixed deposit. Rest everything is working fine. Only whenever someone try to click the FD, whenever someone try to click the FD, it will just throw an error.
But everything is working fine. What does it means now? It means that the fixed deposit program which is running inside this container which is running inside this container is not working. Maybe container is down.
function by function and deploy function by function.
trigger and autonomy. I will develop my customer care function because I understand this function much
because I understand this function much better and I can use Java. I am a sales department. I understand how the sales should be happen. how the sales should be happen. So I develop my sales module
So I develop my sales module inn net. I understand how the payment and transaction work. I will develop your
cart and payment application. That might be in a React language. Everyone develop independently. Every department take the ownership now.
another kind of a project management world. Agile. Agile means Agile means autonomy. Autonomous.
entire entire to the micros service world. the word. When I say micros service, people say
When I say container, people say microser. It is purely interchangeable microser. It is purely interchangeable now.
your Uber, eBay, make my trip, AI tool, ML, this is how it everything work. Your ML, this is how it everything work. Your Facebook
as a micros service basis function by function deploy and run it in container. Is that whole story clear?
So now let's understand what is this container is all about. Correct? Yeah. What is this container is all about.
let me give you the very high level picture. So if you go back to your college days,
For example, you probably learn in your For example, you probably learn in your school or college days
and then you have various component like a CPU,
And this is how you use you say open the file which language you are talking I do not understand what you are saying.
your hardware do not understand your language. They understand only machine label language 0 1 0 1 01.
So to make your hardware follow your instruction,
keyboard driver, disk driver.
Your driver then get a command which we generally say open, close, save, delete
take the command from an OS
or actually your OS interface include you can say uh some kind of an interact for example If I want to see how many file I have,
and then I type diir. If there is no prompt, how can I type a diir? I can only type the diir when we have this kind of an interface.
The in a Linux you see dollar prompt has prompt in Windows you see C drive D drive we call it is user space
it also include file system PC you will see you have a C drive under C drive you see program file you see
program data You see users and when you click any of them you will and when you click any of them you will see the further subh hierarchy right.
plus it include lot of other you can say
commands means a program plus you have a GUI or CLI interface. So plus you have a GUI or CLI interface. So a lot of things need to include.
you are basically running your application Notepad, Wordpad, MSXL.
So basically when you as a user
received by the kernel. Kernel then talk to the device driver. Device driver then translate your English instruction into machine level instruction. Pass it to the reserve hardware and this
Pass it to the reserve hardware and this is how it work. So this is how the general you know uh scenario it work.
Now when I go from here to the second scenario,
another kind of a layer which is called Hypervisor
kernel they use they use the same device driver
to communicate. So I just added one more layer. And what happened to this now? layer. And what happened to this now? Now this all together Now this all together this all together
act as a VM. So you may have a VM1, VM. So you may have a VM1, you may have a VM2,
little small. to adjust to my screen
one VM you can run 2 VM and all now interacting with the same hypervisor kernel same device driver.
So where this container come into the picture. container. Just understand how the container look
Just understand how the container look like. Container one only by default
or you can say user a space basic command.
No kernel, no application. [groaning] let's say you are running a windows container for example in my windows you
see lot of application by default Microsoft store Microsoft store you have calculator you have a clock.
kernel. It's only user space It's only user space and a basic command. Plus it contain a minimal file system
Now on top of that on top of that you deploy your application. So let's say on top of that you deploy your Java just like that you install you you have an option to uh install this
you have an option to uh install this application. So install Java
VM one. Let's say for example you want to run this application Java application. So you are running a application. So you are running a command Java C my Java.
what it does now it then communicate with your host operating system.
host operating system. It say that [snorts]
It is just like that you are coming to my home and you are living in my home. with you. Right? If you want to eat something, you definitely put a request
something, you definitely put a request to me. I need to connect with
connect with let's say disk.
It is something like that. I am a guest and if I want to go outside, I want to use your car. So I will put a request. Can I use your car?
carrying car. I'm not carrying kitchen. I'm not carrying bed. I'm just dependent on you. Usually your guest operating system which is VM just said all right all right okay no worry you are my guest
it's my honor to serve you yes please use it use it so then this container connect with your OS kernel
OS kernel. It now collect the hypervisor kernel. The OS kernel will pass this request to the hypervisor kernel on their behalf.
So it will accept the request pass to the device driver and it will act result the device driver and it will act result again by here here come to here. again by here here come to here. So this container because
So this container because it does not run no kernel,
So when you remove everything from your operating system, it's become lightweight. Nothing is there. It's pure lightweight.
it only carry the most of their size because of your application. Container itself is a very lightweight. It doesn't have you know that uh It doesn't have you know that uh applications driver and a corner.
container is all about. You can think it like that next level of a Many time people also call it as a virtualization within virtualization. virtualization within virtualization. Is that clear so far?
&gt;&gt; [clears throat] &gt;&gt; But the question come
Yes. who give us this user a space.
because if I have to download any operating system, I can go to Google any operating system, I can go to Google and search right
Incorporation USA.
This is a company. It is not a technology. So many time we say we know Docker. Docker is a company. It is something like that. You are saying that you know IBM. IBM is a company.
So Docker is not a technology. Docker is a company. company provide this
user a space
So, how you provide this image? You send me a DVD. me a DVD. No, no, no. They say that I provide this image through my
Docker online cloud. Oh, you have a cloud. Ah, so you have a cloud.
Ah, so you have a cloud. They call this cloud as a docker registry.
called docker. So what is the URL of the cloud?
please go to Google and type dockerhub
and you get an option called hub.doccker.com. Just confirm if you are able to find out hub.docker.com.
hub.docker.com look at on the left hand side. look at on the left hand side. Are you able to see all your IT related
Are you able to see all your IT related user space is available networking your Cisco F5.
and whatever operating system you know till now. So you can see that all operating system is available
Ubuntu, Fedora, Amazon Linux, CentOS, Red Hat, you name Amazon Linux, CentOS, Red Hat, you name and you get
and please hit that download button. If anyone of you download just let me know. anyone of you download just let me know. Find out that download button and just
just let me know in the chat that you are able to download
lindor bola. You get download button by any chance? any chance? No.
So docker making us fool. They say that you have an image here. Let's say Ubuntu or CentOS or Windows.
I'm able to see the image but I cannot download. Docker say no no no no no no you cannot download the image just like that.
download the image just like that. You need a client. You need a client.
client, it say that just go to Google
get Docker client for Windows, Mac or Linux. Okay. What this client is all about?
provide one engine.
This engine connect This engine connect via your host kernel.
middleman. They contain the program which is responsible to connect with your host operating system kernel and then via kernel it able to communicate with the hardware.
its own command through which you can download this or through which you can download this or any image.
You can think this image like a DVD. If I give you a DVD of Windows 11, how many laptop you can install? Anyone of you? If I give you a DVD of Windows 11, how many laptop you can install?
on millions till the time your DVD is okay correct okay correct so once you have your image downloaded so once you have your image downloaded In this docker client,
In this docker client, in this docker client
create their own replica and that replica is called container. How many container you can create? many so you create one container same image it's running Ubuntu
it's running Ubuntu second container Ubuntu third container Ubuntu fourth container Ubuntu fifth container Ubuntu from one single image
now this image once you have let's say you download Ubuntu image. So you get a you download Ubuntu image. So you get a hash prompt.
Because each container may take some space like a 1 MB for an example in space like a 1 MB for an example in memory. So once you go inside the container you get the hash prompt.
operating system command. For an example, anyone of you if you For an example, anyone of you if you work on Linux, if I have to install Java in this Ubuntu operating system, what command we have to run?
You can search Google install Java in Ubuntu.
Sudo install Java for example or to be technical command is called apt - get install and then the name of the Java install and then the name of the Java for example JDK 11
for example JDK 11 then you install MySQL The way you is the the way you work in a normal you can work exactly in the same.
So once you install your application you can write a program. for example let's say vi or a notepad
let's say vi or a notepad demo java when program is done you just compile it run it and just say that for example
run it and just say that for example java c demo on java and your whole application now running from The container, from The container, this container which you see,
this container which you see, you can think it like a VM.
For example, every VM have a name.
So every container has an IP. Every VM use some portion of your CPU or
memory to run. So every container use some part of CPU
some part of CPU memory to run not application at least container right.
so once you install let's say Java, MySQL,
container. Now you want that that container should Now you want that that container should be available for everyone.
So your own container which you already created with your pam and everything created with your pam and everything you just convert that container. you just convert that container. You just convert that container
operating system plus your Java and SQL plus your program and you can name this this image your name. For example, I am saying that this
name. For example, I am saying that this is my BIP app. push to the same docker registry.
Once inside the docker registry, this image can be pulled by run by any environment can be can be your local server environment.
pool and run as container in any of the environment which can be your local server environment,
your AWS environment. Same one any of them you can use and run in any of the environment in Google environment, in sh local machine. environment, in sh local machine. You know what does it means now?
once we have our image we have our image created with my application, created with my application, I can run it anywhere across the world
I can run it anywhere across the world across the platform. That is the reason why Docker is also known or people refer it is a
platform independent
So one of the main reason why a company go for Docker if you think about multinational company
different country and each country they have a data residency problem. Each country now demand that you should host your application in my country only.
Now let's say same company get a 50% discount in Azure cloud in France
or in USA they have their own data center sign up different cloud in a different country and you already have a image so go ahead and run the application everywhere
one very interesting interesting thing that once my image is available in the docker hub I say that you can pull it in Azure
now Azure give you two option one fall in the category of infrastructure as a service
So if you want complete control of your back end including operating system, back end including operating system, you simply create a VM, Linux or Windows VM whatever like you inside that VM
install a Docker a Docker client.
or run your image with the docker command. service where everything is pre-installed. You just have to push pre-installed. You just have to push your image.
your image. So if you are only doing the testing So if you are only doing the testing not meant for production as an Azure container
container instance
container instance Azure container instance is good when you are planning to test your container images
not for production just for your internal testing that everything is looks fine because it provide only single server in the background. So
definitely in a production you will go for a multi-server environment. for a multi-server environment. Second problem is Second problem is it do not
support a scaling. So if you want to scale CPU or memory of your backend server uh it is not this feature is not there. So
it is not this feature is not there. So when we use ACI test your container applications,
If you want to go for production and you want autoscaling Azure give you a very powerful service which we use almost like a multiple
times is an app service. So app service support code and container both
and you know that app service capability you it support autocaling. You can scale horizontally and vertically.
And if you want an automation which we also call orchestration which we also call orchestration for an example if one container down for an example if one container down if one container down in my case
up this container or create new container container or if one node is down I need to create another server where I have to run the whole.
So both autohealing, auto scaling functions we can get when we use orchestration software and that is called Azure Kubernetes service
service or in a popular we call it as an AKS.
and you have a AKS service which is a we are going to see it tomorrow AK service. Now many customer have their own privacy
and security concern that if I put my image in a public repository like a docker hub it might be compromised.
container repository. repository. So you push your image
post development and from Azure container registry you can pull the image to any of these service
which can be an ACI which can be an app which can be an Kubernet It is an event which can be a a VM.
cloud provide a multiple option for all of us create the container, run the container,
scale the container, manage the container
do lot of setup. So it support auto scaling and autohealing
So for your dev and test deployment you can go with the ACI for production deployment you can use a app service or you can use AKS service. So I meant to say if you look at the
whole gambit of the CI/CD world CI/CD world the same diagram can be changed drastically.
So if I give you a big picture how in a real devops it work
do their own coding code go to the GitHub repository from the CodeHub repository. It is now come to the
Azure pipeline. In Azure pipeline you must enable In Azure pipeline you must enable must enable
a docker. So you should have a Docker plug-in and then this YAML file which we have.
this YAML file which we have. It must contain which will convert your whole code into an image.
convert your whole code into an image. For example, it should contain docker build and give the name of your docker build and give the name of your uh code whatever you have
my app. One of the additional requirement
that along with the YAML file you also have to create one more file you also have to create one more file which used by this YAML. which used by this YAML. And if you just go to
And if you just go to Google just for your understanding Google just for your understanding just type here docker file without any space and this is how you can see the
a sample docker file docker file which will look like something is
you can say uh scripting where we can copy the whole file inside my
you can say container image by help of the docker build command. So once it is there it doesn't the build actually contain a
docker image. So when you build it doesn't create a So when you build it doesn't create a code it contain the docker image and then this docker image you take it to the release
from the release it will go to the deployment and from the deployment the same image will go and push to your app service and your container service it had process clear
what is the extra requirement along with the YAML and all we also need one more file and that file
that file we call it as a docker file. So one of the developer they have to create this new file.
your personal when you install the docker client because it's a part of the docker. So you have to so I'm just going to give you have to so I'm just going to give you the basic idea.
So for an example it's a very small step step I have already given a code in my GitHub repository. You can go inside that and then you go to inside once you download the clone that repository
you have to run the command called docker pull and use engineix. Engineix is a web server. Alpine is an operating system. So it use alpine Linux in which engineext is pre-installed
command with the dot in the last dot in the last means whatever inside this directory everything is go inside the image
and then when you run the command called docker images you will see your image called whatever the name I give VP e-commerce so you can see the BP e-commerce image. Then if you want to test it, you just
run this command on a port number 80 on a port number 80 and then use your local machine and this is how it will look like. Okay.
convert your whole container back to the image image with the docker commit command. with the docker commit command. And then you can log in on a docker
and authenticate yourself. Then do a docker push and your whole command is available in the docker hub. Then you can go to app service in Azure or any service in AWS
and this is how you can publish it. Huh. You you can use other card not a problem. You only have to take care. You should not use the same email id name can be same.
Maybe you can put some different address in the address bar.
disconnect you. Yeah. In the meantime, you can do it later. Just watch the lab now. Okay. So, open the document.
once you free, you just uh follow this whole step by step.
Yeah, first you search Azure container registry.
the word Azure and only container registry. Yeah, you get container history. Yeah, click that.
your so just maybe like uh AJ 400 RG that will be fine
okay that's good now enter the name of registry Let us say lalit ACR. ACR means Azure container registry. If name doesn't take maybe you can use number west US2 as usual.
That's it. That's it. Fine. Let's scroll down
Perfect. Everything given in a lab uh document. Okay. Hit review and create.
to launch the lab. Dominor
created, look at the left hand side you will get services option.
application. You do not have any registry. Can you open uh Docker Hub on registry. Can you open uh Docker Hub on the next screen?
to dockerhub. We are going to use one public image. I hope all of you play Mario game, right? So just search Mario in the search box
you know you have a docker search on the top type Mario friend he's from Australia and he developed this wonderful game seven aay
Mario [snorts] yeah click So he has created this image and I am going to use this image to play uh to run a game application.
Okay. So go back to your Azure portal. Now
will see an icon called cloud sale on the top.
just only select subscription and click apply.
You have a fully screen on the left hand side, right hand side.
to choose your subscription drop down choose your subscription and click okay. choose your subscription and click okay. Once you all are there just confirm me.
If you all are in the cloud shell, just confirm me visual. Very good. Dominor, can you confirm if you are there?
Very good. Now your Azure container registry need need an authorization. Okay. Okay. Okay.
Scroll down. Scroll down. Yeah. Copy this command. You have to change your ACR name only. Okay. So whatever I say bin container that is a my ACR name. You just change your name first here.
your name first here. Yeah, just take your uh Lith ACR, right?
just open for a stop you're selling for a minute? Hit enter.
already here. Not need to login anything. Just say clear.
Close this document. I have shared one more document.
Just follow the lab guide and you will do everything. Yeah. So now I am going to pull this image Mario image. Right. So copy this command. Yeah. And you only have to change your ACR name.
registry open. Can you go on the top and just scroll left on uh scroll scroll down scroll down click services.
Click repository. So if you are doing a lab you can see your Mario is available now. Can you all confirm yes or no?
Sohuh very good. Yeah. Okay. Good. So this is how you bring your container image to your private repository. And if you can go back to the document, you can also see how many repository you have by running this list command. Okay.
So just uh run the command AJ repository list. You can you can see all images.
Now after name you have a bin container. So change it to
You see Mario now. Right. Very good. And then now I have my image available. I want to now I have my image available. I want to now deploy it on Bab. So please search.
Now if you want you can minimize this. Uh you have a minimize button on this side. Ah very good. And now search in Azure app ap. And you get app service. Your favorite. Our favorite. Hit app service. Now,
Our favorite. Hit app service. Now, click create resource group. Sugat. So, click create new first.
You already have, right? Okay. Very good. Huh? Type a BAP name. Maybe uh Babap uh something. Yes. Very good. Uncheck the box below.
We say secure unique host name above the code. Uh uncheck it. Uh uncheck it. Yes. And now look at that. Uh I think
that you have to check your name. Uh no no no no. Uh make it like a 198 no no no. Uh make it like a 198 app container 198 or something. Right. Yes. So all of you are able to see it give you two option. As of now in
it give you two option. As of now in your multiple module we use code but the good part that it also allow you to run your container. Correct. Select to run your container. Correct. Select the container please.
must select the region west US2 as usual every time we do that
and pricing plan always for a testing purpose select basic because it's a personal account so you have to be very careful
have to be very careful Correct. Now go next. option was not there when you use code. But since we select container,
we get a new tab. Please select Azure container registry. The second option. And in the authentication, please select manage identity. Yeah. Uh sorry admin
manage identity. Yeah. Uh sorry admin credential Mario. Everyone able to see Mario.
Yeah. Okay. Just it. That's it. Review and create.
Just take couple of minute. I hope the validation is pass.
Yeah. Click go to resource. Copy the URL. Default domain.
We use only B1 so it will be slow. Don't worry.
Yo, do you know how to play Sugara? Did you play in in your childhood? I think you have to press some back I think you have to press some back space key.
[snorts] How many of you are able to see your How many of you are able to see your Mario game online from container?
nowadays. Yes. Yeah. Stop your sharing. Uh Stop your s please. Let me go to Bola. Bula, [clears throat]
Let me go to Bola. Bula, [clears throat] can you share your screen?
also follow in the simply learn account. Okay. Bula save screen. Go to your simply learn aure account if you already have.
the moments played out played out of
&gt;&gt; It is only for today. Tomorrow you have to ready with your aure account. Okay.
uh no. Suga just wait. You can delete the app service. Do not delete ACR. Delete service only. Okay. Yeah.
Do not delete the ACR only [cough] service.
App service plan is actually a backend resource which provide you the server. resource which provide you the server. Got it? So even if you delete the app, your backend server is still be there. So I will show you in the last how to
So I will show you in the last how to delete every resource. Okay. delete every resource. Okay. Yeah. Click next.
Now go to app service straight away. Click app service because you cannot launch ACR in the simply run. So you still have option. Click create
Uncheck the box secure unique host name. Let's scroll down. Select container.
B1. No, below. Below. Below. Not here. Below. F. Second one. Yes. Next.
Now here you select other container registry because you do not have ACR, registry because you do not have ACR, right? Click. And then you just open the document. You already have a document.
Uhhuh. Yes. You see that it says 7 Yes. You see that it says 7 A/Mario.
AI Mario. Nothing Docker. Only seven AI Mario. Ahuh. Seven A/ Mario. Seven A/ Mario. Yes. Go back.
And in where it is written image and a tag just say paste that there is a one box image and a tag paste it. So here I am calling this Mario image directly. Okay directly
repository. So I'm just calling it directly. Hit review and create.
Let's see if that work. Great.
personal repository company repository and then you put your company repository and then you put your image there. Here I am directly pulling.
&gt;&gt; Wait because we use only B1. So it's a slope.
are just deploying in west US. [laughter] [laughter] So I thought not your fault. Right. &gt;&gt; Yeah. All right.
&gt;&gt; Okay. Just go to the e-commerce site. Let's open. &gt;&gt; Yo, you want DSLR camera? Click it. Add to the card.
&gt;&gt; You made this? &gt;&gt; I made it here.
cart. Look at that. Look at that. [laughter] No. we have tested. Go back to Microsoft Azure
is a deployment, right? Click the deployment center.
already there. If you click the log on the top, you will see what how they can the top, you will see what how they can pull the data and everything.
pull how it run everything. You can see it from here. Correct. Doindor
sugat lit. I hope that you are also watching lit. I hope that you are also watching correct. Yeah. Yeah. Now go back to your app service
and then left hand side. Uh click app service. On the left hand side you will service. On the left hand side you will see app service plan.
because this is the feature of select B2. And now in a B2 what do you get? Two B2. And now in a B2 what do you get? Two CPU and 3.5 GB of memory. Right. Two CPU CPU and 3.5 GB of memory. Right. Two CPU and 3.5GB of memory.
sugarath visual. Right. Elix select. Yes. And now you have upgraded your RAM and CPU in a background.
Correct. And look at that your price slightly increase right now became $24 slightly increase right now became $24 approximately
from $12. Yeah, you I mean to say this is how you can perform all your lab test your concept because now you are in a higher module
once you finish the lab all of you go to the left hand side you see on top it's written Microsoft Azure domain that is very important here ah &gt;&gt; Microsoft Azure and before Microsoft Azure there is a dash dash dash
Click dash dash and then you see all resources fifth number all your Azure resources will be available here. Okay, Dominor. So if it it is your personal account, no other services you are running,
no other services you are running, simply click the first check box
So in a zero charge you able to finish all the L.
right or any other labs that we're working so I'm we're working it with in working so I'm we're working it with in assure however in my case right we have assure however in my case right we have a a dedicated global IT assure team
&gt;&gt; so I cannot just do this without going through them to understand exactly what I'm trying to create right &gt;&gt; so in that case dindor you have to create every service lab service in one of the resource group.
&gt;&gt; So I could do it in a because they give it they have given me a resource group. &gt;&gt; I already have a resource group because all my virtual machines are already there &gt;&gt; but see I'm trying to explore all the
features but it seems that uh I don't have that a availability &gt;&gt; a capability I mean without going through them [laughter] so I guess I have to architect it first using my personal
account and then I have to uh provide them a business justification why my business needs I guess. &gt;&gt; Yes. Exactly. Exactly. Exactly. And one &gt;&gt; Yes. Exactly. Exactly. Exactly. And one of the one of the option you can try I I
just give you an option that uh you just use some kind of a prefix. So for an example if it is a testing you can just uh uh any service when you are
going to create you just start with a word test and then maybe uh your name of the resource group or whatever the resources you created. So you can filter you have a filter option there. Look at that. So in just type probably test all
your test related service come select all and delete it. &gt;&gt; Okay. Gotcha. Thank you. &gt;&gt; That yeah that is the best way. Otherwise you by mistake if you delete any other service then it can give a
any other service then it can give a problem.
Yes. Yeah. Thanks, Pa. Stop your sharing.
Yes. So just see what all we did in the lab,
we already have my container team who provided me an image and that image available glo globally via Docker registry.
But you just seen we also have our own personal registry called ACR. So usually development team can also push the image once it is can also push the image once it is created
to ACR rather than rather than a docker repository. So once the image is available in the ACR you can straight away deploy you just
syn with the app service and tomorrow we are going to see the AKS Azure are going to see the AKS Azure Kubernetes service
it provide us the seamless you know that uh without any extra effort
So more from the CI/CD perspective, it is going to be a continuous process. Your developer keep updating the code and your docker build team
continuously build various version of the images. Now that brings us to the this course helpful then do not forget to like, share, subscribe to simply learn for more Azure cloud computing DevOps and certification tutorials.
DevOps and certification tutorials. Thank you guys for watching this video.
