TubeSum
โ˜ฐ

Azure DevOps Full Course: Step-by-Step Guide & Transcript

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

6h 33m video Published Jul 23, 2026 Transcribed Aug 8, 2026 S Simplilearn
Intermediate 25 min read For: IT professionals and developers new to DevOps, seeking a foundational understanding and practical Azure examples.
AI Trust Score 72/100
โš ๏ธ Average / Some Fluff

"The title promises a full course, and it delivers a comprehensive, albeit lengthy, tutorial with practical labs."

AI Summary

This video is a comprehensive Azure DevOps Engineer course that covers the fundamentals of DevOps, including culture, processes, and tools. It includes practical labs on Azure App Service, GitHub Actions, and container deployment.

[00:02]
Course Introduction

Modern organizations adopt cloud and automation for faster, secure, reliable app delivery. Azure revenue grew 24.3% in Q1 2026, highlighting demand for cloud skills.

[00:02:20]
DevOps Culture

DevOps is about culture and process first, tools last. A DevOps engineer is a change agent who helps adopt agile processes and clear paths to objectives.

[00:07:24]
Traditional vs DevOps

Traditional development has silos between dev and ops, causing delays and misconfigurations. DevOps merges responsibilities to cut bureaucracy and speed up deployment.

[00:23:28]
DevOps Stages

DevOps Stage 1 introduces SCM (e.g., GitHub) for version control. Stage 2 adds build and release tools. Stage 3 moves to cloud-based tools like Azure Repos and Pipelines.

[00:41:52]
Why DevOps Booms

The app-driven world requires constant updates. Companies need automation to handle thousands of updates daily with small teams.

[00:57:36]
Greenfield vs Brownfield

For existing projects (brownfield), introduce DevOps gradually. For new projects (greenfield), it's recommended to use DevOps from the start.

[01:19:31]
Azure App Service Lab

Lab: Create Azure App Service with deployment slots (dev, QA, prod) and connect GitHub for CI/CD.

[02:34:15]
GitHub Features

GitHub provides repository, project management, collaboration, API, and GitHub Copilot. It's a cost-effective alternative to Azure DevOps for small projects.

[03:16:34]
GitHub Actions CI/CD

GitHub Actions allows CI/CD with YAML files. It can build, test, and deploy to various targets, including Azure Blob Storage.

[05:15:14]
Containers and Microservices

Containers are lightweight, kernel-sharing units for microservices. Docker provides the platform, and Azure offers ACI, App Service, and AKS for deployment.

Mentioned in this Video

Tutorial Checklist

1 01:19:31 Create an Azure App Service with a deployment slot for dev environment.
2 03:16:34 Create a GitHub repository and add a YAML workflow file for CI/CD.
3 03:40:15 Set up GitHub Actions to build and release, and store artifacts in Azure Blob Storage.
4 05:52:47 Create an Azure Container Registry and push a Docker image.
5 06:05:31 Deploy the container image to Azure App Service.

Study Flashcards (11)

Which Azure DevOps service is mainly used to automate application builds, testing, and deployment?

easy Click to reveal answer

Azure Pipelines

00:00:56

In DevOps, what comes first: culture, process, or tools?

medium Click to reveal answer

Culture and process come first; tools come last.

00:02:20

What is the difference between a brownfield and a greenfield project?

easy Click to reveal answer

A brownfield project is an existing running project; a greenfield project is a new project.

00:57:36

Why is it recommended to use DevOps for greenfield projects rather than brownfield?

medium Click to reveal answer

To avoid chaos and issues; it's recommended to introduce DevOps gradually in existing projects.

00:58:53

What are the three main issues identified in the traditional deployment process?

medium Click to reveal answer

No code version maintenance, inability to share code, and direct deployment to production.

01:07:15

What is the purpose of deployment slots in Azure App Service?

medium Click to reveal answer

Deployment slots allow staging environments (dev, QA, prod) and swapping code between them.

01:30:37

What is a webhook in the context of GitHub and CI/CD?

hard Click to reveal answer

A webhook is a hook from GitHub to another service that triggers actions on code changes.

02:18:44

What is a container in simple terms?

medium Click to reveal answer

A container is a lightweight, standalone executable package that includes everything needed to run a piece of software, sharing the host OS kernel.

05:15:14

Is Docker a technology or a company?

easy Click to reveal answer

Docker is a company that provides a platform for building, sharing, and running containers.

05:18:12

What is Docker Hub?

easy Click to reveal answer

Docker Hub is the public registry where Docker images are stored and shared.

05:20:10

When should you use ACI vs App Service vs AKS?

medium Click to reveal answer

ACI is for testing, App Service for production with autoscaling, and AKS for orchestration and scaling.

05:39:04

๐Ÿ’ก Key Takeaways

โš–๏ธ

Culture and Process First

Emphasizes that DevOps is a cultural shift, not just tool adoption.

00:02:20
๐Ÿ“Š

App-Driven World

Explains the consumer behavior shift that drives DevOps adoption.

00:41:52
๐Ÿ”ง

Deployment Slots

Practical technique for staging environments and safe deployments.

01:30:37
๐Ÿ’ก

GitHub as a Full Platform

Shows GitHub's evolution into a comprehensive DevOps tool.

02:03:18
๐Ÿ”ง

Container Lightweightness

Clarifies why containers are lightweight and efficient.

05:15:14

[00:02] Engineer Expert AZ 400 full course by simply learnon. You'll be wondering why course. The reason is modern organizations are rapidly adopting cloud platforms and automation to deliver application faster, secure and more

[00:18] 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

[00:32] technologies and skilled professionals. DevOps engineers are becoming essential for organizations looking to automate software delivery, manage cloud infrastructure and improve application reliability. With AZ 400 course, you can

[00:44] build expertise in designing and implementing CI/CD pipelines, managing source control using GitHand, GitHub, and implementing security and compliance practices. So guys, if you want to learn more about it, then watch this video

[00:56] to test your knowledge. Which Azure DevOps service is mainly used to automate application builds, testing and deployment? And your options are Azure Board, Azure Pipelines, Azure Repose or Azure Monitor? Please mention your

[01:09] before we start our session just a quick info guys if you want to become a 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

[01:24] 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

[01:37] course link is mentioned in the description box. description box. The first thing come in our mind

[01:51] that I am talking about technology. I'm talking about tools.

[02:06] I am talking about a culture I am talking about process I am talking about process and I also talk about tools. So tools

[02:20] and I also talk about tools. So tools comes last process and the culture came first.

[02:43] agent who help organization to adopt who help organization to adopt agile process.

[03:00] clear out the path to achieve objective. For an example, to achieve objective. For an example, if I want to cut sort if I want to cut sort my deployment time

[03:12] 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

[03:28] I can shorten that timeline probably by 3 weeks. organization to set that process.

[03:47] So it's more like a transformation rather than just use a tool will fail if there is no right process

[04:00] if there is no right process if there is no right culture. yourself as Azure Deops,

[04:15] Azure Deops, 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

[04:31] 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

[04:43] say kind of a skill anyone have. I can use to work on tool that is a technical 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

[04:55] 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?

[05:09] Number two, why dev ops? And number three, why dev ops?

[05:22] Boom. Now, so let me ask a first question to all of you. In your understanding,

[05:37] what is deps? Anyone of you just put in a chat and if you want you can come on mic.

[05:49] Uh development operation for continuous integration. Nagis perfect. Very good. development team and operation

[06:04] development team and operation big big big big big big big task.

[06:58] development creation. Okay. [snorts] One is

[07:24] the essence of DevOps. So I'm just putting a name here.

[07:55] 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.

[08:22] Ispita is developer. Ispita use Let's say is a Java developer. Ispita develop a wonderful program

[08:36] develop a wonderful program and then this program need to deploy on a server on a app on a container.

[08:53] control on Azure because Azure is management. Then ispa raise a request

[09:09] raise a request via ticket via other system where app need to deploy.

[09:32] Nagesh 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 Arita I have a lot of things I have to do this task

[09:46] lot of things I have to do this task this task this task I'm not free

[10:08] not provided the infrastructure in the cloud in time.

[10:23] Finally Nag get a order from his manager. manager. Nag take it on priority. Say all right is then create

[10:38] server or maybe an app or maybe a kubernetes cluster

[10:53] whatever is requirement of our pitha is pita. So pita. So the problem is

[11:08] by Nag 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

[11:21] requested by SPA. He said that you ask me create a BM, I He said that you ask me create a BM, I give you a BM.

[11:37] enable three services. You have to en enable RPC, you have to enable HTTPS, you have to enable XY Z. to enable XY Z. Nages is not a developer.

[11:52] Nages tried to configure these services and he misconfigured. When Arpita tried to deploy the service or application on the target, it failed.

[12:11] because there are some prerequisite which is not met in that service. And nag being a infra guy nag do not understand what exactly this sita is asking every time go there and click there I'm not a developer

[12:32] developer and operation and operation is totally not in sync.

[12:51] So how debuff's process now come into the picture? So then in this organization you come into the picture who you are.

[13:20] You know that in the organization this can be a biggest challenge. Now here your job is start. You set a process

[13:42] services which is controlled by you. What do you do now? What do you do now? Give Arpita

[13:56] 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.

[14:23] okay okay okay you give me this control access you can give a control access via key via any other authentication method

[14:38] via any other authentication method and then arita use this key and along with the Java see also create infrastructure as a code

[14:51] which can be a JSON file which can be an YAML file. programming language, Espita may use JSON or YAML. And what

[15:05] Espita may use JSON or YAML. And what this JSON do? this JSON do? Espita by sitting at her desk. Espita by sitting at her desk. See run one command

[15:19] 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

[15:37] 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

[15:55] along with the code is now this responsibility is merge.

[16:07] So C is dev doing some part of ops.

[16:20] What it happened now? Now the unnecessary delay which is happening unnecessary delay which is happening from developer to the administrator that from developer to the administrator that is has been cut short.

[16:36] No bureaucracy in the between. No very long approval discussion chain. No very long approval discussion chain. No wasting time in hurdle meetings.

[16:49] Is pitha need infrastructure? Infrastructure is there. Nages still have a control what she can do, what she cannot do. Lag still have a control that

[17:05] he has to ensure that service is always available ensure that service is always available in Hitchcloud is not compromised and so in Hitchcloud is not compromised and so on.

[17:21] 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?

[17:33] going through the chain like this? Yes or no?

[17:45] Yes. Sorry. So here the DevOps guy comes right. So he can maintain the right. So he can maintain the >> so so he not he is not doing any tool he's only setting a process >> correct correct so that is what I want

[17:59] >> that is that is important one right because until there is no process it correct >> correct correct correctly >> so this is the very important responsibility rajima it means that we

[18:12] 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

[18:28] 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

[18:41] yes >> so yeah Now >> so yeah Now I give you a three generations that how exactly uh you can say

[18:57] development to deployment happen in a older days and make a note because this is going to be a very very important part.

[19:10] Now I'm talking about a traditional development environment

[19:25] do. So the first flow start with uh you know the a source a source code development.

[19:40] 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

[19:52] you can use it you can use react. how we do that we first develop our source code

[20:06] then possibly we can also run our unit test here function by function we test it. So you can say that source code plus unit test

[20:22] unit test at happen at development level. once the whole program develop unit test is clear

[20:57] Now testing team use various type of testing tool. For example, a popular testing tool if you know it's a JUnit.

[21:12] It can be XUnit. It can be selenium. uh sorry MS test I meant to say there are multiple tools

[21:29] available where the testing team do the testing

[21:44] and then once the test finish that artifact now send to that artifact now send to a deployment

[21:58] a deployment tools. For example, one of the very tools. For example, one of the very popular tool is called BMC Serena.

[22:19] 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

[22:33] 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.

[23:01] where that update code gone where it save save or do you overwrite the existing code

[23:13] environment? It is a overwrite. It means that whatever changes we make it will be overwrite and we do not have a traces of what we done in a previous time.

[23:28] approach? You make a very small you can say You make a very small you can say uh introdiction of the first Debops tool. Same environment

[23:43] and now you are moving your organization to the DevOps stage one.

[24:08] code with unit test with unit test the code will now go to some kind of a central repository. So now you are first time introducing

[24:24] a source code management service which can be a GitHub, a GitLab, a sub version.

[24:49] Because if you introduce a full DevOps flow in one go

[25:01] 90% chances it will fail people will not adopt it correctly. So I start with the first say Debops one we are going to introduce SEM 2. Let the we are going to introduce SEM 2. Let the people to now adopt this practice

[25:16] every source code could now go and sit in the SCM where you maintain the in the SCM where you maintain the version of the code then you introduce probably a second tool

[25:30] and what is second tool you say that now I am going to

[25:49] 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.

[26:26] like a new gate. Now these are the few popular name people use it for people use it for build process.

[26:39] and then test will take to the deployment. deployment. This is we called debops stage one.

[26:52] with this process, to a debops stage

[27:06] a debops stage two.

[27:26] We now going to introduce one more tool after the test

[27:50] 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.

[28:04] And to do a release again there are lot of tool available

[28:16] encible here we can use chief puppet

[28:35] So it means that if you work on traditional DevOps practices,

[28:48] And many company they once they mature they once they mature they automate

[29:08] by creating something called a deployment pipeline. deployment pipeline very popularly known as Genkins

[29:24] and very popularly you can say known as circle CI

[29:45] organization is move and adopt the whole end toend automation process. Now you probably decide to take your company to the next stage

[30:02] and that is the final journey of the whole transformation exercise. We call it as in debops stage three which is a current stage

[30:24] we have everything same what we are replacing now 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 is

[30:36] git repositories is we can now have same git, same command, 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

[30:59] Azure repo

[31:14] So while using it you hardly notice any difference. your company only. Other cannot see that other cannot access it. No problem.

[31:31] While your MS build maven as a build process as a build maven as a build process as a build behind tool is same.

[31:43] You just use automation tool. Change the automation tool. So there is no genkins use same configuration which is

[31:56] 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

[32:08] use now we are going to use now a build pipeline.

[32:24] on a server then you have to do configuration pure SAS platform SAS platform just click ready to

[32:45] 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

[33:11] you can use Azure Azure test

[33:30] instead of a nible and a CHF. We now going to use same pipeline

[33:43] instead of a build we are going to use release pipeline. Now your deployment we do not need BMC Serena.

[34:01] You can simply use your release process the release can be either automate

[34:19] 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.

[34:38] Now all this tool which you see from here to the deployment here to the deployment none of the tool we have to install is come with the preconfigured environment

[34:55] and service which provide all these tools DevOps tool. You are going to explore it as I said in a class number

[35:10] as I said in a class number 6 7 and 8. But at this point of time this tool this tool actually create a magic

[35:24] 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

[35:43] install genkins or encel or this or that. Finish gone. Single click done. just like we do in Azure.

[35:58] And what we get additional advantage now in a cloud.

[36:13] 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.

[36:42] or you can say any of the container service

[36:59] many more. So I mean to say if you look at So I mean to say if you look at the way everything is transformed

[37:13] or traditional environment environment to if organization decide to move to Debop stage three which is a pure cloudbased

[37:51] Bola, Dominar, Nagis, Espita, Gogri,

[38:08] 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

[38:22] 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

[38:38] It can be your Terapform script. It can be your NCL script. It can be your Azure ARM script or bicep script

[38:55] Okay. So, Grog remember the GitHub action which we are going to see today again.

[39:07] It lack multiple thing. For example, approval. Number two, reporting.

[39:24] Number three, it doesn't create the process which I am showing you right now. For example, you have a build, then you For example, you have a build, then you have a test, then you have a release.

[39:36] 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

[39:52] This is not possible. You have to use one GitHub. So in the short no reporting you cannot create a multi-stage deployment

[40:08] for example if you want to introduce authorization sanitize the target before deployment that it is matching your standard

[40:21] organization and compliances not this checks and balances not there. Yeah. Yes. So

[40:37] 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,

[40:52] release task, deployment engineer task, everything is now consolidated. You have a single tool.

[41:05] Make sense? You have a single tool process and later on we will explore more. You and later on we will explore more. You it also have a project management tool

[41:20] 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

[41:35] to use Deops. Any idea what is a main triggering Any idea what is a main triggering point?

[41:52] 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.

[42:07] Entire project. Yes. Yes. Automation and less build time. Exactly. Exactly. Automation Arati. Exactly. But I

[42:23] still have four questions. Same question. Okay, just give me one second.

[43:03] 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

[43:16] now So why the benefit of deops not realized by industry I can say five seven years back and why every industry is now coming back and saying that I I am going to use DevOps.

[43:31] saying that I I am going to use DevOps. DevOps was there for a very long time. For example, Genkins tool available from last 15 years.

[43:56] I give you a scenario. Yes. N

[44:29] I think that everywhere when you take uh let's say India or any other country. Yeah. Bola. Yeah. Yeah. Exactly.

[44:42] So let me ask one question. For example, For example, if we have to order food,

[44:58] 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?

[45:15] to have a dinner, should we go to restaurant

[45:28] we go to restaurant or app? What you do now?

[46:10] 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

[46:23] is a food agregator agregator app. It can be Uber.

[46:37] It can be Netflix. It can be your your favorite bank. It can be your your favorite bank. It can be anything.

[46:50] Now this app is developed by your developer. And look at the whole process. What happened now?

[47:07] 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.

[47:44] must be reflected then only people can see that another vendor they now announce

[47:56] 141 free. If you order one pizza I will deliver another pizza.

[48:13] 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

[48:25] vendor vendor number three they say that sorry and a specific food item is not available.

[48:47] Let's say hot dog not available. And this aggregator app is not talking about one vendor. There are thousand

[48:59] vendor. Each vendor is continuously sending an update. And you have a very small development team.

[49:17] view. So So development team

[49:45] Then it goes to a build

[50:01] 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.

[50:26] Once the this is pass then it will go to your probably QA environment just to ensure everything in the app work lot of people internally check this application even vendor participate they

[50:41] check yes yes it is visual then will finally go to your production

[51:10] thousand app thousand updates every day, thousand app thousand updates every day, thousand updates

[51:23] 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

[51:36] company? You have to handle thousand update every day.

[51:48] deployment team we need? How many How many tester we need?

[52:02] Probably we need two 300 people. Yes or no? the build, one deploy in a test environment, one is

[52:16] checking everything and it's not about one, it's about and it's not about one, it's about thousand update coming continuously.

[52:36] it's more than you know like a you have a 10 people 20 people so maybe I can say a 10 people 20 people so maybe I can say that it is only have a 10 people out of 10 people

[52:52] maybe five is developer rest are ops team

[53:07] to run a build command run a build command you have to run a build you have to wait to do a testing you again have to run a to do a testing you again have to run a test

[53:22] and I'm talking about lot of updates keep coming now whole site work.

[53:55] 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.

[54:16] debop suddenly you get pop-up now? It's because because our world has changed

[54:40] Bank is app based. Government is app based. 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

[54:56] suddenly because app is now became a de facto

[55:09] 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

[55:24] 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 and that app need a constant update.

[55:41] and that app need a constant update. Make sense? Bolo visual

[56:07] So this is very very important one. Now we understand as of now what is DevOps. We also understand why DevOps boom. Now,

[56:38] 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

[56:55] So the very very first thing you have to take care take care about overhauling the whole process

[57:08] and where will you introduce this devops? Now your project can be an existing project.

[57:23] an existing project. Existing project which I mean

[57:36] the project which is already running in Microsoft world we called such in Microsoft world we called such project as a brownfield project.

[57:56] Be careful when you try to introduce DevOps process in running project because it create lot of challenges and issues.

[58:10] Microsoft suggest if you are first time introducing DevOps in your organization use rollout DevOps tool with new project.

[58:25] We called such project as green field project.

[58:39] So Microsoft recommend if you want to use your deops file please use it for green field

[58:53] introducing deops tool in between running project it can be create a chaos create a issues Because your old project may have a lot

[59:06] of technical burdens, issues. running project, do not introduce the whole step in one

[59:19] single go. Go a step by step. Start introducing source code introducing source code GitHub. Then introduce build gradually.

[59:37] of an existing project and then we see that how we are going to use Debop's stage one

[59:53] This is my current running project. In a current running project, current running project, I have a developer.

[1:00:06] This developer, let's say it's a net developer. let's say it's a net developer. So, it use a net So, it use a net code. Develop a net code

[1:00:18] code. Develop a net code with help of an ID like a visual studio. And then from this they deploy

[1:00:31] this whole code to Microsoft Azure. to Microsoft Azure. Let's say they deploy it on Azure app

[1:00:43] service. This is current scenario. Developer Developer directly from their local machine.

[1:00:57] directly from their local machine. They push this code to app service

[1:01:14] How you are going to now just by introducing one single tool just by introducing one single tool and changing the process

[1:01:29] dynamics number one what the first issues you are number one what the first issues you are able to identify here

[1:01:42] target environment. What are process you identify What are process you identify or issues you identify?

[1:02:01] Vijal Bola is Dindor Nagis Lalit. What is the current problem in this process?

[1:02:37] you are a deops Identify in current to deployment because first of all you have

[1:02:53] to identify the issues and once the issue identify then only you can suggest your suggestions right.

[1:03:08] Azure service more time required. Really code is not tested. Nages. Yes. Yes. Very good.

[1:03:24] Directly deploying the code. [laughter] Exactly. That is I'm just giving an example. Okay. And just let's see if you can able to example. So just opening

[1:03:45] where we want to deploy my service my service to

[1:04:03] development environment. So I'm saying code space dot have developed this wonderful code with me

[1:04:18] 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

[1:04:33] and once that SDK installed I can go and connect Microsoft Azure uh Mecca Exactly. Now

[1:04:48] you know what is the problem? [cough] Excuse me.

[1:05:00] The problem is if I make let's say if I make in this and I deploy so a change I simply make it uh go and

[1:05:17] so a change I simply make it uh go and deploy this code to the target. deploy this code to the target. My audio is breaking.

[1:05:29] Just confirm if my audio is breaking quickly. Really? Okay. All right. So, I'm saying that I just

[1:05:43] 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.

[1:05:59] Now can I recover my old code? Because it is overritten now. Yes or no?

[1:06:13] 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 you

[1:06:25] 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 different developer and you now want to make uh contribute in this code how I

[1:06:37] can share my code to you it is in my local laptop local laptop can I share the code with you yes or

[1:06:56] no exactly you have but two two bigger issues in this whole process. Number one,

[1:07:15] no code code version we can say changes

[1:07:51] 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

[1:08:07] 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

[1:08:21] 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

[1:08:34] 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.

[1:08:50] 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

[1:09:03] issues there is no code version maintenance. Second, one developer

[1:09:17] cannot share code with other as

[1:09:29] application code in their local laptop,

[1:09:43] a local machine you can Okay. The third issues which we identify it directly deploy

[1:10:01] app service. So if anything goes wrong, So if anything goes wrong, everyone impacted.

[1:10:15] 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.

[1:10:29] issue number two, issue number three. Yes or no?

[1:10:47] Now what will you do if you want to introduce DevOps in this process? introduce DevOps in this process? The first tool

[1:11:03] 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

[1:11:19] you develop your code you are wonderful people should develop your code

[1:11:32] tomorrow we are going to see a full GitHub in a more detail but at this point of time developer once they develop the code put this code in GitHub.

[1:11:57] So in a GitHub they have something called repository. they have something called repository. You can think it like a folder.

[1:12:16] as a main or master repository.

[1:12:31] So your code now from local machine will go and sit into GitHub which is a cloud tool, cloud repository tool

[1:12:47] we say developer checked in code to SCM.

[1:13:01] code to SCM. This is how we use our more terminology.

[1:13:13] This is how the developer do and the code is now available on GitHub. right? This is target environment which is your app. Since you already done AJ 104 and many of you are 2304 also I hope that you

[1:13:28] understand this is a service which is platform as a service.

[1:13:42] provide you a different environment. service is actually have a dev environment, development environment.

[1:14:04] it basically also give me one URL which like a dev dot

[1:14:19] simply learn.com for an example. Now this dev URL access by only 10 15 people

[1:14:36] only 10 15 people and they mostly belong to a IT or and they mostly belong to a IT or development team.

[1:14:51] It is not known to the outsider world. I'm just saying that only

[1:15:07] then we create another environment [clears throat]

[1:15:19] 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.

[1:15:32] 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

[1:15:47] developer or IT people. QA environment is available to a large set of people let's say 200 user which include your IT people nonIT people or

[1:16:01] maybe some sample user who probably test your application. So because you now expand your user base, you get better feedback how your application look like

[1:16:16] and your public URL is known to the whole world. Millions of user.

[1:16:35] we have to integrate our dev environment.

[1:16:49] the process of integrating my GitHub to the dev environment.

[1:17:03] or we can use push base you can say changes.

[1:17:18] push base means whenever the code get update

[1:17:33] changes. So whenever So whenever the code update happen at a GitHub

[1:17:48] 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

[1:18:01] dev environment we can swap the whole code. Swap means it will do simply cut and paste.

[1:18:19] Swap the whole code from dev to the QA. And now from QA we are going to do a further swiping

[1:18:33] QA we are going to do a further swiping to the broad environment. this traditional? So now you have a code version. Every

[1:18:49] 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

[1:19:02] and instead of putting it into the production application service production application service I am now have a staged environment dev I am now have a staged environment dev QA and pro. So three problem be identify

[1:19:15] just confirm are be able to solve these three problem. three problem. Yeah. And you have an option to Yeah. And you have an option to click create.

[1:19:31] 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.

[1:19:44] in the resource group, look at the screen. You should able to see ODL. >> So I don't I don't have ODL. This is uh personal kind but

[1:19:59] >> yeah. >> Yeah. select ODL. In the name type your name in a small

[1:20:11] letter. Yeah Oliver. Very good. Type your name in a small letter your name in a small letter and then type app

[1:20:25] a check box we say secure unique default host name we say secure unique default host name uncheck it

[1:20:39] and just confirm if your name is accepted. If not may you can use some number like in Gregory case it's a Taylor app0709 something

[1:21:02] and select ASP.NET version 4.8 8 In the region, always select West US2.

[1:21:22] >> cuz remember we did we tried to do this before and it wasn't using West US for works. >> Yeah. Okay. >> Yeah. Okay. Everyone use West US. Okay, West US

[1:21:41] in Windows plan I think you already have. Just click create new and remember to delete demo. Okay, later

[1:21:56] on. Okay. on. Okay. And just confirm in the pricing plan. And just confirm in the pricing plan. If you drop it down

[1:22:12] you see lot of plan like a free basic premium. Everyone just can you confirm you are able to see lot of plan free basic able to see lot of plan free basic premium.

[1:22:31] just below the plan there is a explore pricing plan. Just below the plan there is a option called explore pricing plan. Click it.

[1:22:43] 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

[1:23:01] 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.

[1:23:14] Rati, Raj Kumar, Ispita, Bola, Oliver, Lalit, Doindor.

[1:23:42] right? Dave, >> test. Yeah. Click create.

[1:24:05] complete in the chat box. [snorts]

[1:24:27] Oliver. Okay, very good. Hope there is no error for anyone.

[1:24:42] complete bola. Uh kota. Okay, Oliver, you please change another region. If you select West US2, select West US If you select West US2, select West US probably West Europe again. Relaunch it

[1:24:57] 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

[1:25:10] then I come back to you. Can you share your screen one more time?

[1:25:28] complete. Dominor complete. I hope for Nag also it is complete. Arati Oliver please share your screen.

[1:25:43] Oliver please share your screen. Espita very good

[1:26:15] 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 themsel

[1:26:29] yes Oliver okay create web app very good >> just just hold on for a minute yeah Just type some name.

[1:26:43] >> I'll stop sharing it. >> Okay. And then you uncheck the box which says secure unique host name. On the top you have a box. We have a check box which says secure unique host name. Oliver

[1:27:02] 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,

[1:27:14] East US, please change to West US. West US too. West US2, not East West.

[1:27:30] Aha. Exactly. Yeah. And in the plan, in the plan, explore pricing plan the plan, explore pricing plan select S1 from last.

[1:27:46] 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.

[1:28:06] Oh, that's fine. That's fine. Click create.

[1:28:26] because we are going to use it multiple times during our Debops lab.

[1:28:59] 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,

[1:29:13] Right hand side. right hand side. Ah, copy it. Paste it in the browser. Yes, you are in correctly now. Right. Okay. I stop you sharing Oliver. Now I Okay. I stop you sharing Oliver. Now I am going to Grog screen and then you can

[1:29:25] follow whatever we do there in Gary screen. Okay everyone. >> go back to share. >> Yes. Yes. Let me to stop it sharing.

[1:29:37] Yes. Everyone please watch carefully a Grogary screen and then we can just follow as it is just step by step. >> Okay. Um so the the web app was ready. I just I just opened it. I can go back to

[1:29:51] >> 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.

[1:30:06] >> Oh yeah. Okay. 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

[1:30:20] 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.

[1:30:37] menu and deployment. Under deployment you should see deployment slot.

[1:30:50] now. And then you get an option called add a slot. Yeah. Okay. Click add a slot.

[1:31:04] in a small letter only dev and look at the URL. Are you able to see the change in the URL? It say Taylor appdev. Right?

[1:31:16] say Taylor appdev. Right? Just below the dev box you see the URL. Copy the URL. [clears throat]

[1:31:37] 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 de environment, right?

[1:32:11] Sarati just confirm if your div environment is also created.

[1:32:28] Epista Oliver Bola. Very good.

[1:32:40] 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]

[1:33:02] So your production URL and the dev URL exactly look same. No change, right? Yeah. >> Now go ahead and create one more slot.

[1:33:16] Nothing new, right? Yes, exactly. Go ahead and add another slot called QA ahead and add another slot called QA which is for quality assurance which is for quality assurance and copy the URL one more time

[1:33:43] production Dave and a QA correct G production.

[1:33:55] processing >> processing. Yeah.

[1:34:11] And now you can test the key URL that is also same right.

[1:34:26] quickly go to >> uh they're all the same so far. Yeah. >> Uh exactly. So just wait then we will now push our code it work. Raj Kumar share your screen now.

[1:34:49] Raja. [laughter] Yes. Hold on. Let me run. So, can you just go to basic for a

[1:35:04] minute? Uh, Rajan, just to see. Let's scroll down. What's going to go standard? Huh? Just I think that this go standard? Huh? Just I think that this will work. Click review and create.

[1:35:34] production like setup. Okay. This is how probably you see in your environment as probably you see in your environment as well.

[1:35:51] Hold on, hold on, hold on, hold on, hold on. allowed. Can you click basic and change to East US2?

[1:36:05] to East US2? Go to basic basic basic

[1:36:28] I hope uh Rashimar you are also using AJ 400 lab not the AJ 104 because 104 it is 400 lab not the AJ 104 because 104 it is not allowed. Click review and create.

[1:37:00] 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

[1:37:14] in 104 which [clears throat] location you generally select? >> If you scroll down

[1:37:28] scroll down and maybe you can try East US only. Try differently. I >> have selected >> last first time. >> Yes. 104.

[1:37:41] >> Ah 104. Huh? >> Yeah. No no no change. Yes.

[1:37:55] 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 S then I will go with alternate you may not do the full lab but at least you do partial lab okay

[1:38:07] click the check box first one select select review and created

[1:38:42] for a curiosity? >> Okay sir. >> And scroll down. Scroll down. Scroll down. And in the Scroll down. Scroll down. And in the Windows plan can you drop down?

[1:38:58] Why there is so many restriction in your account?

[1:39:23] >> it there right? Created by I think make the C created by

[1:39:48] Can you click that? Let's check. Click. Click.

[1:40:07] if it doesn't work for you Rajan uh most probably you just raise one support ticket with this screenshot okay you have to resolve it before maybe the class number three >> try create again last name right

[1:40:35] problem. Okay. Just take this screenshot and raise support ticket and just enjoy the lab. Okay. Rajan. >> Okay. Gregory. Now we are going to do the final one.

[1:40:54] screen. >> Okay. Um, go back to >> everyone. Go back to Azure. in Azure. in Azure. In Azure, go back to deployment slot and

[1:41:08] click the dev and click your dev and just confirm if you are in a dev. Can you highlight if you are in a dev. Can you highlight the dev name on the top left hand side?

[1:41:23] >> Just confirm all of you are in a dev only.

[1:41:39] Oliver Bola Dominor. Yeah, very good. Dominor. Yeah, very good. Oliver just confirm.

[1:41:52] Okay. Okay. Sorry. Then I ask Gregory to probably help you out. Okay. Okay. So 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.

[1:42:11] Click deployment center. Everyone click deployment center. Just confirm if you all are in deployment center.

[1:42:30] Just confirm if you all are in deployment center.

[1:42:43] 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

[1:42:58] 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

[1:43:11] extreme right hand side top you see your user account icon. and there is a drop-down. You see a drop-down.

[1:43:25] In the drop-down there is a setting option. Just confirm if you all are able to see the setting option

[1:43:42] Vijal I hope that you are also doing. Raj Kumar. Yeah. Orati is I think Nag you already did but anyhow just you can check. Yeah. Okay. Click

[1:43:55] just you can check. Yeah. Okay. Click the setting now. and on the left hand side scroll down and on the left hand side scroll down till last

[1:44:12] 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.

[1:44:24] Yes. Click developer setting please all of you. And then you should able to see personal access token,

[1:44:43] personal access token you should able to see token classic token classic. Click token classic please

[1:44:57] 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

[1:45:10] classic token classic. Yes. Click generate new token classic. If you have to authenticate please do If you have to authenticate please do that.

[1:45:28] 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

[1:45:42] valid for next 30 days and you now check every box and you now check every box like repo check, workflow check, write like repo check, workflow check, write check, delete check.

[1:45:55] check, delete check. Please check every box. what is the status you are seeing. running, fail or deployed. If it is

[1:46:09] running, the fourth column we say running deployment. If it is a running deployment, congratulation. You are done. Good job.

[1:46:21] Preparing deployment. Okay. [clears throat] Very good. >> Yeah. >> 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

[1:46:34] done again? >> 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

[1:46:49] debuffs so we do not have to do anything here. be used in a devos to here. be used in a devos to [snorts] fetch pending. [clears throat]

[1:47:05] 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?

[1:47:20] >> No. Okay. Okay. Okay. Sorry. Let's Sorry. Sorry. Sorry. >> 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

[1:47:34] you should able to see our live code is now here. Professor just really quick where it says external git there's also says like

[1:47:50] Azure repo is that for the the Azure devops yes the devops yes devops yes the devops yes >> go scroll up and just click save

[1:48:17] Okay, no worries. So, Rajumar, you may 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.

[1:48:30] At least by next class you should be ready. Okay, perfect. Now you just go left side up left side go to overview

[1:48:54] right hand side there is a bizu ah yeah bizu ah exactly very good yes paste it

[1:49:06] uh just Say continue to the site. Continue to the site. Yeah. Now go back to uh it will loading. Go back to your app service resume. And

[1:49:19] then come back to deployment center one more time.

[1:49:40] 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

[1:49:56] refresh it it will show you your my go to app service on the browser. You already know you already pasted now. Huh? So this is this content will change, right? You will see my app, my code. Okay. Now so just you have to wait

[1:50:10] till the succeeded will happen and in in the meantime because you cannot create the slot. So just watch the next screen of what we are going to do in a final of what we are going to do in a final time. Okay. Yeah. I stop saying and you

[1:50:23] keep refreshing till the time you see the deployment succeeded and then confirm in the chat once you've done that.

[1:50:41] See. Yes. >> Final everyone. Now I am going. watch. Please go back to app service. All of you.

[1:50:56] 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. Just confirm if you are getting the same code. Go back to the

[1:51:11] URL you have pasted already. >> Okay. please refresh all three URL and you just confirm you only see the content in

[1:51:25] dev not in a QA not in a prod. Can you refresh the prod and QA also? >> Prod. >> You have it second. Uh, exactly. Same old code. Everyone able to see same old code, right? Correct. Arati

[1:51:43] 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.

[1:51:56] go back. Come back to Azure. Accept. Except >> 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

[1:52:11] everyone come to deployment slot and you 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 deops

[1:52:27] if you look at a segment of the companies companies only 7% company worldwide 7% only 7% %

[1:52:40] only 7% company worldwide 7% only 7% % we call it as a technology company has nothing to do with technology like Hundai

[1:52:54] Hundai they manufactured car American Express they are dealing in finance

[1:53:10] like a gumato, a food aggregator. almost every company if you go you found they use DevOps

[1:53:27] 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

[1:53:40] car manufacturer and inside the BMW I am able to see and inside the BMW I am able to see there is a deops.

[1:53:56] is today world today world today world is a purely appdriven world

[1:54:08] 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

[1:54:23] 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?

[1:54:42] a 2G and today we are living in the world 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

[1:54:54] 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

[1:55:11] you surprised that the people carry a smartphone the mobile how this is possible that application load fast and when you do

[1:55:25] application load fast and 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

[1:55:38] digital when we go say digital today. How many of you

[1:55:53] 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 restant?

[1:56:07] restant? Probably hardly. how many of you go to the government offices?

[1:56:19] probably very less because now we have a app through which we can connect to the app through which we can connect to the government

[1:56:32] 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

[1:56:44] I will show you the car model I will give you on a virtual experience So that you can see how the car work, how the car look and if you have any how the car look and if you have any question you just ask me digitally.

[1:57:07] 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.

[1:57:20] 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, government, they now coming with the app

[1:57:33] they now coming with the app and yesterday we just discussed one app and yesterday we just discussed one app any food aggregator app in your country any food aggregator app in your country like in India you have a gumato

[1:57:50] 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

[1:58:04] 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.

[1:58:19] 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

[1:58:31] 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

[1:58:49] 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.

[1:59:07] organization, when you are planning to use DevOps, you should go with existing project not recommended

[1:59:19] because in existing project if you introduce DevOps process, introduce DevOps process, it might create a chaos.

[1:59:31] go with a green field project. a project which is going to start. Now you should which is going to start. Now you should reset the process

[1:59:45] 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

[2:00:00] service and from there it will go to the deployment So it is a high recommendation that when you have a green field project

[2:00:12] you should go with deops and then we done one wonderful lab and then we done one wonderful lab yesterday

[2:00:25] world where application get deployed in a dev where application get deployed in a dev QA. and abroad

[2:00:37] through pullb means your app service pull and do pullb means your app service pull and do all these background tasks.

[2:00:51] that in a traditional development environment this is how they work. Do you have a developer who developed a test source code? Do you have a tester test source code? Do you have a tester who use the different tools to test

[2:01:06] and then it will pick up by the deployment team. So if organization try to move from traditional way of working

[2:01:19] traditional way of working they likely to go with a deops stage one. In a deops stage one, they might introduce

[2:01:33] introduce a very first service a very first service called GitHub.

[2:01:46] 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.

[2:01:58] automation tool. So today we are going to understand especially the GitHub how important it is. Yes, Nagis, I think

[2:02:12] how important it is. Yes, Nagis, I think you have a question. Hold, hold on. created Azour app services with three deployment slots,

[2:02:26] three environment QA, DA, DO and the production. So are we uh like Azour going to charge only for one app services uh for not charge for app service. Azure will charge for compute. Remember when you use basic

[2:02:41] >> 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 >> you run one app service you run 10 app service Microsoft doesn't matter they

[2:02:55] said I will charge you >> okay not for the even if you having multiple is that doesn't matter then it >> doesn't matter okay okay sir thanks sir

[2:03:18] let's understand first before we discuss world of SCM like a GitHub how exact end to end debops flow look like.

[2:03:41] So for an example, if I give you a little basic idea or you can say a people

[2:03:56] develop a source code. So there is not one developer, there is no two developer,

[2:04:08] there can be a multiple developer who work as a team to develop one work as a team to develop one application.

[2:04:24] in a typical company we have a three developer

[2:04:37] try to develop MS office.

[2:04:49] probably develop develop Excel

[2:05:02] let's say develop MS wad and developer

[2:05:18] might develop another one which is called PowerPoint

[2:05:35] three different developer work on a same project. work on a same project. Project is called MS office.

[2:05:47] So to develop MS office probably the work divided to three developer one develop excel one word one powerpoint and just to make the life more easy let me make just put a name here so

[2:06:03] 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

[2:06:28] let's say for example ISPA second developer Rajkumar third developer

[2:06:47] They might sit in a different geographical location. So all these three people after develop their

[2:07:02] develop their part of application. They push their application code

[2:07:15] to GitHub and in a GitHub they might have a main central

[2:07:27] a main central repository. repository is a master or we also sometimes call it as a main

[2:07:42] or we also sometimes call it as a main repository. GitHub managed by

[2:07:57] another person. be called that person by designation SCM master. by SCM master is dominor.

[2:08:33] ask Arati, Spita and Rajkumar. Hey Arati. Hey Spita. Hey Rajumar. You cannot push any of your code here

[2:08:49] project is not complete. So what it does now

[2:09:03] three special branch let's say inside the GitHub this is branch one you can say just inside this there is a one a small

[2:09:15] 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

[2:09:29] Ispar this is for you and Raj Kumar this is for you.

[2:09:44] child branch. child branch. People

[2:09:57] just for understanding let's keep it simple. Then Arati push

[2:10:20] this local machine with help of something called get client on this branch. So code move from here to here.

[2:10:36] Exactly same thing happened by ispita ispita and exactly same thing happened byar.

[2:11:06] local machine to their respective branches.

[2:11:24] in process. You can call it as a push also. But in the more also. But in the more we can say technical terminology, every developer then checked in their code

[2:11:42] to their repository. introduced. You call that person your team lead.

[2:11:59] You call that person your team lead. You call that person is You call that person is a senior developer. You just name it.

[2:12:13] just understanding purpose I'm saying that pra is I'm saying that pra is a senior developer.

[2:12:34] then review the code. Which code? Arati code first. If they found everything is correct,

[2:13:04] this process in GitHub

[2:13:31] they perform the complete review both MSW and Excel and when they satisfy they again merge

[2:13:43] they again merge from here to here.

[2:13:55] now this repository actually go whatever they have is gone and it is come to the second repository. Suppose that when everybody is now inside one branch

[2:14:11] then they decide then they decide to merge this last branch with the master branch. Who is doing all this task?

[2:14:38] complete MS office MS office as an application available from

[2:15:01] to now finally it come to the main repository.

[2:15:16] Now you have a perfect process where you finally merge and available in the master branch.

[2:15:39] from here this whole code need to go in build this whole code need to go in build process.

[2:15:55] 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.

[2:16:29] This build tool can be Azure build pipeline. workflow or GitHub action.

[2:16:44] or GitHub action. So for example, you can use GitHub action or GitHub workflow to completely do a build process.

[2:17:05] Oh my god. Oh my god. action. So I mean to say if you look

[2:17:20] So I mean to say if you look oh let me to put it like this

[2:17:34] 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

[2:18:01] Dev Ops build pipeline

[2:18:13] or you can use a third party service. It can be genin

[2:18:30] these build tool already have an authorization. We have just seen a study in during our lab exercise

[2:18:44] 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

[2:18:58] to other service It create a hook from me to you. There is a hook.

[2:19:24] complete code you can say whatever you have now going to a build process.

[2:19:39] going to a build process. But here the catch start. So for an example if I open my laptop or if I open any of the you can say

[2:19:52] 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

[2:20:18] want to run a Python program. So I type py. Let's say demo. py.

[2:20:31] what is py. Oh sorry. It is Java program. So Java my app dot Java it say what is Java I do not know Java what does it means now neither in my laptop Python install

[2:20:49] 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 net

[2:21:05] So what does it means? It means that when we develop a program, we develop using a language

[2:21:19] Java, Python, Net. Let's to understand that we use Java. So all these three developer is my Java developer and in

[2:21:31] their development everyone have a Java Java Java. Now the build tool said that okay Java which version of Java

[2:21:51] you run the Java code in Windows or Linux.

[2:22:03] How we can do a build? It has a lot of question now. right my dear friend which language

[2:22:28] give you build artifact you want in a JIP format you want in a jar format you want in a nougate format which format

[2:22:46] these tool are just a machine. It's not a human. a human. In a traditional world,

[2:23:00] managed by managed by I'm just saying Bola. Now managed by I'm just saying Bola. Now Bola going to ask

[2:23:19] Oh, okay. Okay. Okay. Which version? Ah, Java 10. Okay. Okay. Okay. Which operating system? Uh, I have used Windows operating system. Okay. Okay. Okay. How you want to convert the whole program? Just create a jar file, a zip

[2:23:35] 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

[2:24:00] it can be Arati it can be spitha it can be spitha it can be a rajumar

[2:24:13] one of the developer is not a normal developer so let's say arati know javas is master in java

[2:24:26] 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

[2:24:41] 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.

[2:25:01] to develop now an YAML file other than Spitan Rajumar. She also know how the Deops works.

[2:25:17] So see write a whole you can say process dear build tool must ensure you have a Java 11. Dear

[2:25:29] 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 JIP file.

[2:25:51] So this YAML along with this code go to here much process it will come to here and then it will finally come here.

[2:26:06] GitHub workflow it can be Azure DevOps it can gen It will first check that do you have instruction file

[2:26:21] other format but it should have a instruction file. So your build say yeah I am going to see your YAML now

[2:26:34] I am going to see your YAML now it pull everything is here so along with all the code

[2:26:48] the build tool also YAML

[2:27:06] 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.

[2:27:28] Java. Okay. Okay. I am going to install a Java.

[2:27:47] a test you have a test script I am going to use now JUnit oh to do the build you need a maven

[2:28:03] example it's install maven also

[2:28:15] 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

[2:28:28] want me to upload this package to this place. I done that. place. I done that. Whatever you write is it go and use.

[2:28:43] So once the build happen so when we say a build it means that it can be a build it means that it 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.

[2:29:01] called build. Can I see the build? Yes you can.

[2:29:14] Yes, you can. Let's say this is a build. Who create

[2:29:29] build version one. What it contains? version one. What it contains? It contains

[2:29:51] all your application code. These three when this is copy in the target environment

[2:30:08] 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 power shell script which can be a simple text script.

[2:30:26] So any script I mean to say it is now also included in this build.

[2:30:42] it probably go to release. who can do a release. who can do a release. Now it can be same three tool

[2:31:02] you can people generally use during the release process is encel.

[2:31:17] release tool where you can release your application packages. application packages. So, now you have a tools available.

[2:31:38] Let's say for example this relie is managed by a separate person altogether and I'm just taking that it can be Oliver. Hey Oliver,

[2:32:00] for it through the release process, right? So your release tool must want to right? So your release tool must want to know.

[2:32:14] Which package means you have a jar file? You have a zip file. What is the package type?

[2:32:26] means you want to release it on a cloud. You want to release it on on prem where

[2:32:39] and how? So they ask a lot of question.

[2:32:59] another YAML file which have clear instruction for the target instruction for the target come here

[2:33:13] from here from here now it sent that YAML file and then this second YAML file let's say also come here this YAML do not read by the build

[2:33:36] So release read the YAML read the YAML and then release download and then release download from wherever you put this build

[2:33:56] which we can even see we can even see it's called relig artifact.

[2:34:15] For a very very long time, people use GitHub as a central

[2:34:27] as a central repository

[2:34:41] 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

[2:34:59] because when Microsoft is working on its DevOps tool, known repository. So they have a choice.

[2:35:14] repository. So they have a choice. They have a choice to use.

[2:35:26] They have a choice to use sub version and they choice to use GitHub. and they choice to use GitHub. So they understand GitHub is widely So they understand GitHub is widely accepted and used by most of the

[2:35:40] developer or you can say people. So they go and acquire the whole GitHub 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

[2:35:59] and it is now have Microsoft brand

[2:36:18] and same GitHub is available as an Azure repo

[2:36:37] So what the Microsoft does, they make the same GitHub available the same GitHub available as a private repository as a private repository in Azure DevOps world.

[2:37:13] know this GitHub this GitHub make lot of enhancement they push their develop er team to

[2:37:29] 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.

[2:38:17] a full project management PMP. project management PMP. People use Jira instead of a Jiraa. It give you a full project management with their canban board just like that

[2:38:30] with their canban board just like that in you have azure board.

[2:38:50] collaborate. Just like a share point you have a Just like a share point you have a collaboration

[2:39:06] means you can invite team member to join your GitHub. Apart from that it open its API

[2:39:19] it open its API so that environment directly to this GitHub. It open now

[2:39:31] and they make this GitHub availability in a two way. one people like you and me.

[2:39:47] community GitHub is now become personal GitHub. GitHub. No charge free of cost.

[2:39:59] account and that that day be actually create an account and they can also provide an organizational GitHub.

[2:40:17] to connect this GitHub with your connect this GitHub with your on premises active directory.

[2:40:34] GitHub application running in a separate server. So server will not share

[2:40:47] license charge and all this organization GitHub is purely within your company. No one can access from anywhere outside.

[2:41:01] personal or organization this feature is available across the board available across the board like a repo

[2:41:20] latest one that is well that is well they introduce

[2:41:33] which is called GitHub copilot

[2:41:45] in a three edition personal professional and enterprise same co-pilot now it is integrated inside VA of course as a free account

[2:41:57] you can still use but uh it it has a limitation how many how many type uh limitation how many how many type uh time you can ask a question or something but now we have a GitHub uh co-pilot so this make

[2:42:12] GitHub is goto tool for a company who probably do not want to go for

[2:42:24] 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

[2:42:40] uh in a background it will charge you the compute power also.

[2:42:52] organization I want a full CI/CD functionality I want a canon board I want a repository I want a collaboration and I also probably like to go with the AI

[2:43:06] I will not go with deops because that will going to cost more I can you go and use my GitHub I just create an organization account.

[2:43:19] I will not pay anything for an example and just use the free account with the 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

[2:43:32] I hope that you understand the power of GitHub in today's context. 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.

[2:43:56] 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.

[2:44:13] This is very important. When you initialize, when you want your repository to be ready the moment you create,

[2:44:25] the moment you create, you should add at least one file and by default it add something called readme where you can go and describe your description.

[2:44:42] 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 or it isa sorry yeah yeah so that it's a recognizable okay now

[2:44:55] another very important one if you look at below it's a get ignore at below it's a get ignore and this is quite an important one so as a developer as a developer

[2:45:09] as a developer we during the devel development time. We probably use some of the file where information might be private confidential.

[2:45:32] 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

[2:45:47] ignore. Git ignore means when you commit everything go except that file. Right now I do not have anything so just leave it blank.

[2:45:59] And usually when you want put some code some data in a GitHub repository you can also define how this repository can be used by other people.

[2:46:15] So there are different type of default license agreement available like you have a MIT license and so many other licenses right. So, so when we

[2:46:29] create some very specific code and I want that anyone who want to use my want that anyone who want to use my code, this just follow code, this just follow the opensource license agreement. You

[2:46:41] 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

[2:46:54] All right. Once you all done hit create repository

[2:47:07] and please confirm if you are able to see your repository repository life.

[2:47:25] 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

[2:47:44] project manager. Okay? and you all are team member.

[2:47:56] as a team member to work collectively to work collectively on one project and how she will do that. Before that if you look up on

[2:48:13] 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

[2:48:28] 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.

[2:48:43] name and paste in the chat box. Okay Okay perfect is now you have multiple name. I think for we are not able to see your name.

[2:48:57] Yeah lot of people are putting. Okay. Very good. Very good. Yeah. So what is Pithita going to do Yeah. So what is Pithita going to do now? Ispita copy Arati. W first one.

[2:49:10] Yeah. Yeah. Put it in a notepad. Put every Yeah. Put it in a notepad. Put every name name in a notepad.

[2:49:27] and same everyone you can copy each other name just to other name just to see how it work. Prepare your notepad.

[2:49:49] Now we are simulating real world environment. Okay. How exactly people collaborate using GitHub if they are going to work on a common project.

[2:50:11] You can just double click it. Double exactly.

[2:50:24] Agree. So you should see a login name in your GitHub account.

[2:50:36] Okay, that's fine. Now go back to your GitHub and look at the process. Make it a full screen.

[2:50:51] Once you have then in the repository side That is just fine. Yeah, Ranger Capital. Yeah. So, in your repository there is a

[2:51:04] 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

[2:51:17] setting of your repository and on the left hand side just confirm are you able to see under access the first menu is collaborator?

[2:51:34] Everyone able to see collaborator? Please click that. properly. Click verify mail. You get a code in your Gmail. Uh

[2:51:54] 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?

[2:52:22] Gregory can you confirm you are able to see add people please click add a people and start pasting name one by one

[2:52:39] you may get one email in your sound. Please find out. Gregory screen. Gregory, can you share your screen

[2:53:00] and all of you please confirm if you received ispita email? Yeah.

[2:53:15] Ah you know what what happened you by mistake do not add which is called uh >> Okay. >> So just yeah so if you can create one more >> so create another repository. Ah

[2:53:29] >> so create another repository. Ah >> create new maybe MS office uh >> create new maybe MS office uh Taylor correct like this.

[2:53:47] >> And then below you see add readme, right? Just check this box. >> Okay. >> Uh now click create repository. >> My bad. [laughter] >> Now go to the setting.

[2:54:01] >> Sorry. Settings. Settings. Just above 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

[2:54:21] first. Uh you have to reverify.

[2:54:34] password really quick. [laughter] check your speaker. I think Patab is not able to see or you

[2:54:48] can rejoin. So now I have to add other one that put So now I have to add other one that put their name in the

[2:55:07] >> Stop sharing. >> 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 perfect. Thank you. >> Yes. Stop. Yeah. Yes. Please.

[2:55:36] all of you. I think that Arati not able to accept or Raj Kumar accepted. So if you refresh you can see how many people accept your invite.

[2:55:50] invite. Refresh the GitHub.

[2:56:02] 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 ispita if

[2:56:16] can you check your also email ispita if someone invited you? like. I think no one has uh uh uh Gregory can you add is name? Ispita can

[2:56:32] you share your name to the chat login name?

[2:56:44] Anyone of you can you add isa in your repository?

[2:57:07] you receive any email. Yeah. Look at that. So isa now received multiple email from various people who invited. Let's say you click nag her email

[2:57:20] and you get view invitation option. Click view invitation

[2:57:36] invitation to work together, collaborate collaborate in a real project world?

[2:57:49] 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 speed up speed up accept and then you yeah

[2:58:03] once you accept just close that okay close that tab so that

[2:58:16] each other invitation just to collaborate.

[2:58:35] 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

[2:58:54] 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.

[2:59:15] to see I collaborator. So everyone please can you come to ispita repository just confirm if you all are able to see ispita repository

[2:59:33] and click the view invitation and you should able to see ispita repository. should able to see ispita repository. Yes, vigilant.

[2:59:45] Now, yeah, very good. Now, everyone please go 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

[2:59:57] code menu. Espita. Everyone please confirm you are in a code menu of Ispita confirm you are in a code menu of Ispita and then you get add file option.

[3:00:12] file. This will not be important from your machine.

[3:00:29] >> Okay sir. >> Okay. So now you you are in ispita >> Okay. So now you you are in ispita repository and inspita you should able to see MS office espa look at that little uh right side below

[3:00:43] Yeah. >> Is it this one? >> Yeah. Yes. >> Look down. Okay.

[3:00:55] right. >> Yeah. all uh this is collaboration. It same project >> I I use I upload my MS Excel. You upload

[3:01:09] uh probably PowerPoint. Someone upload maybe MSWord, right? So you can also add a file. Click add a file. >> Add a file. Where is that? Okay. This one. >> Ah and you get upload file

[3:01:22] any of any file from your laptop which is not important. You can upload. is not important. You can upload. >> Okay. Anyone

[3:01:36] Not the folder. You just have to upload a file. a file. I think AJ 305 draw.io can upload. >> Okay. This one. >> Ah, exactly. Upload. Open.

[3:01:48] >> So, what? Open. Okay. >> Uh, [clears throat] open. And in the >> Uh, [clears throat] open. And in the commit message it just say that uploaded by developer bola. Oh abab.

[3:02:02] >> Okay. Okay. >> Uploaded by developer bola. >> Uploaded by developer bola. >> You got to say this developer. Put your

[3:02:14] name. Yes. Click commit. >> Okay. up. >> Oh, it also there.

[3:02:29] >> thank you sir. >> Yeah. Be there. And now I am going to Espita here. Espita. Share back your screen.

[3:02:51] 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

[3:03:05] 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

[3:03:33] as a project manager, if PISTA want to if PISTA want to ah Oliver

[3:03:51] 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. >> Okay, that's good. Thanks. >> Even in a private. Okay. Yeah.

[3:04:05] >> Yeah. So now now So now now a pista as an project manager try to understand how many member

[3:04:18] how many member contributed to this project. So where the aista will go she will go to the inside. Are you able to see inside this

[3:04:38] and in the inside she will see everyone who is a top she will see everyone who is a top contributor. I think that the first one contributor. I think that the first one you yourself you have contributed two

[3:04:51] 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 that who exactly contributed who exactly

[3:05:08] that who exactly contributed who exactly silent if she find okay one person let's say for example Dominor not contributed. She can call Dominor. Domainor what is She can call Dominor. Domainor what is happening? Why you are late? Why your

[3:05:22] happening? Why you are late? Why your code is not committed?

[3:05:34] member is actually working, how many team member not working and then on the left hand side she can check contributor. Click contributor

[3:05:53] and this is how she will get a wonderful graph as well as each team member performance report which date how many commits they did.

[3:06:14] As a project manager, this is what you want.

[3:06:26] 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

[3:06:42] production GitHub you will see the lot of reports. of reports. Is this part clear so far?

[3:07:04] but how one team member how one team member communicate with other so let's say for example example Olivier may have some problem

[3:07:18] bola may have some problem and she want she want to communicate with either all team member what she will do she should type on a WhatsApp or she

[3:07:30] 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

[3:07:45] something called issues. Can you click that?

[3:08:04] 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

[3:08:19] do but do not commit. Okay, let's say you just put a title you just put a title error in line number nine

[3:08:51] I get an Error in MS Excel in MS Excel print function.

[3:09:11] 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.

[3:09:39] Uh just save it. Just say error. >> [clears throat] >> Yeah, go ahead to your GitHub

[3:09:56] and scroll down and you should see paste, drop or add a file.

[3:10:08] Just just press enter in the last sentence. Can you suggest? Huh? Just say add the rate after. Huh? After enter the rate and look at that the moment she type at the rate all the member name appear here. So

[3:10:27] rate all the member name appear here. So for example you just select Oliver.

[3:10:56] 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 ass uh assign yourself

[3:11:19] icon. Yeah. And let's say you assign this task to And let's say you assign this task to Bizul

[3:11:33] and maybe Bola below Raj Kumar you have Oliver below Oliver you have a Bula.

[3:11:47] 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.

[3:12:00] And what is that? Is it related to a bug? Is it related to a documentation? 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

[3:12:14] bug. Excellent. Click outside. Perfect. Excellent. Click outside. Perfect. And this is how you can click create.

[3:12:36] up and click issues. So look at that. Lot of people are 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

[3:12:50] 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.

[3:13:07] So maybe you can say that uh Oliver at the rate Olivier uh I suggest to use chat GPT to fix the no

[3:13:19] yeah exactly okay click comment everyone can you put a comment quickly I just confirm are you able to see the WhatsApp no refresh required

[3:13:35] Everyone start putting a comment to the second one. Look at that. Yes, you can second one. Look at that. Yes, you can Google it. [laughter]

[3:13:48] Just like a WhatsApp you are doing, right? Real time communication going on. Chat GBTI. Yeah. Put a smiley. Let's connect. Yeah, you have a smiley. Just click

[3:14:02] that. icon, a smile icon. Yep. Thumbs up. Just like a WhatsApp, you know, that's a real communication. you know, that's a real communication. You do not need to go anywhere outside

[3:14:22] 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

[3:14:49] Yeah, just put thank you. Issues resolved and just click close. Issues is closed now.

[3:15:08] Now it's closed. Okay. Can you all go back to issues again? Go on top.

[3:15:20] just see in a closed one you will able to see there is a closed issues is happening. Make sense?

[3:15:45] instead of using issues we also using Jira right is the same similar method >> Yeah that's fine >> per user license. Correct. Yeah. Yeah. And it's free. [laughter]

[3:16:00] >> So good for a small organization. Correct. A small project. Yeah. So till now is it it is clear for everyone how collaboration work.

[3:16:22] Yeah. Yeah. Now let's see one a very Yeah. Very interesting interesting feature is to perform

[3:16:34] CI C D. C D. You see that there is a GitHub action.

[3:16:48] 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

[3:17:03] and let me go back to Bola. Bola share screen.

[3:17:18] Okay. This is The second demo The second demo where we have one developer who want

[3:17:32] to test CI/CD functionality CI/CD functionality of their application.

[3:17:48] and if you just open this notepad file open the notepad file bola open the notepad

[3:18:09] 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

[3:18:23] 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.

[3:18:39] 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

[3:18:55] how this whole YAML means trigger? 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

[3:19:09] trigger the deployment. And then you see that I write a permission uh to save the file.

[3:19:23] 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

[3:19:37] I am requesting GitHub to create to create a VM and with the VM you should use Ubuntu

[3:19:49] 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 2019, it will create a VM with a Windows

[3:20:03] 2019, it will create a VM with a Windows 2019 free of cost. And then that once you once you create this VM, look at that below.

[3:20:15] 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. just saying that just create a folder called

[3:20:30] dist and in that folder create a file called app.txt in that app.txt txt you can just write build artifact generated. So maybe in the eco you can type

[3:20:45] So maybe in the eco you can type build artifact generated by bola for azure generated by bola

[3:21:00] 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

[3:21:12] 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 folder which we

[3:21:27] And then I say that once that artifact is generated build created release it. Where to release it? Scroll down.

[3:21:39] Now for a release again you need a machine. So I say that again. Create a Ubuntu latest machine. Download the build artifact from uh the uh storage

[3:21:51] 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

[3:22:05] 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

[3:22:20] know YAML. But the people who have a DevOps experience or a DevOps developer, they know YAML, they know JSON. So it is their responsibility to generate this file and upload in the

[3:22:38] repository. So please copy make control A everyone everyone make control A to copy everything

[3:22:52] go back to GitHub please in your repository ensure you are in your repository not in SPA one which we just did a practice how will you confirm you did a practice how will you confirm you have to click the cat icon again and

[3:23:05] please confirm that you should be in your own repository. No, not in ranger. Uh yes, yes, I think the ah this one. Yes, everyone.

[3:23:19] Oh, I think that for you, you also not created. Okay, Bula just go to any created. Okay, Bula just go to any repository.

[3:23:32] I think we created something new, right? Last time. Okay. Can you quickly create new as fast as you can

[3:24:02] 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. Yes. Click create repository.

[3:24:20] 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 action.

[3:24:39] and look at that the action here if you scroll down 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

[3:24:54] shift they already provide the sample script okay but here I'm not deploying to any cloud I am just testing ing how the uh religion all work. Okay. So, everyone go back on the top.

[3:25:10] No, it's not ARM template. It's a YAML template. Nice. Just confirm if you able to see something called setup of workflow by something called setup of workflow by yourself. Can you highlight it?

[3:25:28] 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 file. Just confirm fast.

[3:25:51] Zumindor Arati

[3:26:10] same page visual

[3:26:23] much more? Yeah. Okay. Just paste here. You already have a copy. Paste here. Yes. Now once you once you have paste

[3:26:36] 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. commit the changes. Click commit the changes. In that main

[3:26:50] message just say that Deops developer Bola uh in the main where it say I create main file just that

[3:27:05] main file just that uh by Bola developer. Okay, hit commit the changes.

[3:27:34] something is created now? Everyone able to see? Click that create main YAML develop by Bola. Click that file.

[3:27:47] Bola. Click that file. Click the W. Click. Are you able to see build and release actually completed for you? Because there's nothing two stages build and release.

[3:28:21] 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

[3:28:41] system. Can you expand the operating system

[3:28:53] 24 it create a VM

[3:29:15] It create a folder right that is what the build you are doing correct and in the folder it create a file

[3:29:40] There is a upload artifact. Scroll down and just confirm. Are you able to see a URL where GitHub upload its artifact?

[3:29:52] Can you copy the URL and paste in the browser to see what exactly the build browser to see what exactly the build created?

[3:30:17] get a file app. This is the name which you given app. This is the name which you given right. Click the app.

[3:30:50] Yeah, before I move forward, let me go to to Oliver. Oliver, share the screen.

[3:31:10] H where you stuck friend open. 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

[3:31:25] 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.

[3:31:38] Go back to GitHub. Go back to code.

[3:31:53] workflow. Just below. Look at that. Below. Ahuh. Uhhuh. Uh. First folder. First folder. First folder.

[3:32:06] side you see add file. After add file there is a three dot dot dot there is a three dot dot dot extreme. Right.

[3:32:18] dot dot click and you have a delete directory. click and you have a delete directory. Delete it.

[3:32:35] Okay. Now so we are going with scratch. Click accent first Oliver

[3:32:52] Look at that. That's above the search workflow. You have a setup workflow workflow. You have a setup workflow yourself.

[3:33:09] So it automatically create a main file. Now paste here all your code.

[3:33:34] and say commit message on the right hand side top there is a green color button side top there is a green color button right hand side Stop.

[3:33:50] Just commit created main file by developer Oliver. Uh on the top on the top create main.l by

[3:34:08] developer Oliver. Yeah. Click commit the changes. Yeah. Now go to the action

[3:34:25] click. Click. Yeah. Build is done. Release is going on. Correct. Make sense, Oliver?

[3:34:49] >> Yeah, perfect. >> Yeah, thanks. Yeah. >> Yeah, thanks. Yeah. Hindor

[3:35:05] uh question on the uh the script on the yammer file uh for the runner images. >> Yes. >> Uh so basically this one is calling up a uh uh a container or a virtual machine

[3:35:18] >> It's calling going to call the virtual machine itself. And who provide the virtual machine now? Azure because it's taken by Microsoft. Okay. But uh >> the background it use the same platform.

[3:35:36] OS is Windows. >> Yes. Exactly. So you can define which OS you want. >> Okay. So my question would be is there a >> Okay. So my question would be is there a concern about licensing or ULA?

[3:35:49] concern about licensing or ULA? >> 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

[3:36:01] till now it is free because Microsoft right now it's promoting DevOps right >> 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

[3:36:17] >> okay because right now we're all using virtual machine but it's costing also a >> [laughter] >> Yeah. >> Uh the ashure team is already complaining to me because there are

[3:36:29] >> no you you said that. Okay. I do not Yeah. I do not want to use your you know Yeah. I do not want to use your you know uh Azure now. I am I can do it from here sir. >> Okay. I see. Thank you so much.

[3:36:42] >> Yeah. Welcome. Yes. So let me call Raj Kumar here.

[3:36:55] >> Yeah. >> Rajar, you already using Azure DevOps. Do you see a difference the way it run here on Azure DevOps? >> Yes. Yes, I see a lot of differences. There we have a different pipelines for

[3:37:07] the both and build and release. >> 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.

[3:37:21] >> Correct. >> Yeah. So, yeah. Thank you. Oliver, you >> Yeah. So, yeah. Thank you. Oliver, you can stop your sharing.

[3:37:47] I mean to say if you If you look whole flow in GitHub. GitHub give me repository.

[3:38:04] 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

[3:38:18] You can also see the release also. What exactly the release artifact look like deployment. Okay. So let's take a quick 10-minut

[3:38:30] break and when we come back from the break we are going to now deploy it on or I want that my once my build done it should store in blob storage.

[3:38:45] should store in blob storage. Okay. So quick 10 minute break. Okay. So quick 10 minute break. Dumindor, Bjulal, Patab, Arati, Nagis, Gurugree, Olivia. Yeah, everyone is back.

[3:39:00] 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.

[3:39:15] So as of now we understand this whole flow. flow. Yeah. Whole flow and

[3:39:30] I believe uh door say say that they use GitHub only to create a build. And that build then probably save to

[3:39:47] some kind of a storage like a file server. 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,

[3:40:02] it should be saved in my saved in my blob storage.

[3:40:15] can give you one stepto-step guide. >> Yeah please. Yeah you >> okay. Okay okay okay. Just make me remind next class I will share that file >> Okay. Thank you very much. >> Yeah you're welcome.

[3:40:30] one thing you all remember whenever we talk about whenever we talk about a Jio storage service a Jio storage service to connect this storage with external

[3:40:44] 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

[3:40:58] Microsoft give you something which is called [laughter] yes it will definitely going to use yes it will definitely going to use something which is called

[3:41:13] a storage key or connection string. I hope you all remember that your storage account have something called a storage key or a storage connection string.

[3:41:25] key or a storage connection string. Azure storage account. So, yeah. Exactly.

[3:41:38] yeah. Exactly. So what we have to do now in GitHub in GitHub we have to add this storage account.

[3:41:54] In GitHub, there is a very special place there is a very special place to store your secrets like username and password, like a connection string

[3:42:25] Under setting you will see there is something called a secret. repository, click the setting and you will get a

[3:42:38] secret. When you expand the secret, you will get an option to add this will get an option to add this connection string there.

[3:42:51] Then in the YAML file we have to mention post build. Post build

[3:43:08] or you can say it also copy the build artifact to my storage account.

[3:43:23] 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

[3:43:38] you just define where you want to publish. It can be a server. It can be any other services like an

[3:43:52] AWS. Same fun apply Same fun apply dto same.

[3:44:06] 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 launch your lab ready with your Azure account and just

[3:44:21] 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

[3:44:37] 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.

[3:44:59] Everyone please go to search a storage account. storage account. Uh Patab you are sharing a screen everyone follow you search a storage in

[3:45:12] the storage account. Yeah. So when you type a storage you Yeah. So when you type a storage you will get a storage account.

[3:45:30] account and then click create. same ODL resource group in a storage

[3:45:44] account name in a small letter, no capital. Just type your name. For example, Prattab blog

[3:45:59] West US2. As usual, every time we use the same region

[3:46:11] Select the redundancy LRS and can you all confirm if your screen and pertab screen is same.

[3:46:31] is same you select LRS put your name and select West US2 put your name and select West US2 Nag

[3:46:43] Domindor Oliver

[3:47:22] 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

[3:48:12] access. Got to agree. Second box called Got to agree. Second box called anonymous access

[3:48:27] in the next screen. Okay. Yeah. And then review and create. That's it.

[3:48:49] created. I think that it is created for most of you. most of you. Oliver uh blob storage or a storage account it's also called blob storage. Okay Oliver just confirm

[3:49:02] Oliver if you created a storage account is ready your deployment is complete.

[3:49:27] on the left hand side you have data storage. storage. In the left hand side you see data In the left hand side you see data storage. Click container.

[3:49:49] and then you get an option called add container. uh for example build or data whatever you like just put a name

[3:50:05] and in the access just ensure it should be container access be container access last one

[3:50:19] it should be containers access last one and click create. container is ready? Dindor, Gurugri, Kashkumar, Arati,

[3:50:37] Dindor, Gurugri, Kashkumar, Arati, Pista, Rages, Bijal in case if you are doing. No. Okay. Good. Okay. Perfect. Now on the left hand side

[3:50:51] you should able to see security plus networking expand it networking expand it and then you get access key

[3:51:08] confirm if you are able to see connection string.

[3:51:21] The first one which is connection string. Click. Click. So

[3:51:46] open your notepad. Everyone open your notepad and paste this key. Everyone open your notepad and paste your key

[3:52:02] 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.

[3:52:15] same name. Please copy it from your copy this whole Azure storage connection string. Azure storage connection string. Go back to your GitHub.

[3:52:36] Click the setting of your GitHub MS office repository which we have worked office repository which we have worked till now

[3:52:51] you should able to see secret and variable under security

[3:53:13] 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

[3:53:29] secret and variable then action then new repository secret.

[3:53:51] 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.

[3:54:05] Correct. I hope that your screen and pat screen is same.

[3:54:28] Done. Now I am pasting one code. Now I am pasting one code. Please copy it and paste in a different notepad. This is a new code. It is now

[3:54:40] notepad. This is a new code. It is now going to upload your

[3:55:02] 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

[3:55:18] I hope everyone removed that before name there is one a small comma before name the first line it should be only name nothing there. Okay.

[3:55:30] should be only name nothing there. Okay. All right. Now copy it.

[3:55:53] workflow folder. Correct? Everyone able to see in your Correct? Everyone able to see in your code GitHub workflow folder.

[3:56:08] repository you see GitHub workflow folder Karati Oliver Nages Domindor.

[3:56:29] and you should able to see main.yaml file right. It is the same file which we file right. It is the same file which we already done. Click this file

[3:56:42] and on the right hand side you see edit button.

[3:56:55] Click edit button. Just say control A and delete everything what you have. Delete everything whatever the existing code you have.

[3:57:13] Then copy the code new code which I share with you

[3:57:25] Once you remove everything, just paste the new code. Can you all confirm if you are able to paste the code

[3:57:45] commit. [laughter] Click commit. a storing build to blob.

[3:58:16] 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.

[3:58:42] Build is done. Release is going on. Wow, that's amazing.

[3:59:10] Okay, I'm just sending you updated one. Then you again in the same way

[3:59:32] Go back to your first uh code GitHub workflow code GitHub workflow main.yamel only release part. Yes, replace the release part only.

[4:00:00] only release part. Okay. Delete it and paste it. Try to save. Run it again. Let's see what happened.

[4:00:26] updated now. [snorts]

[4:00:49] I think there's a alignment issue. Yeah, it is alignment issue. just sending you the updated complete updated one. So

[4:01:18] What happened? Oh my god. and paste. Oh my god. [sighs and gasps]

[4:01:59] Yeah. I just share one file. Can you open it? Download it. Open it and

[4:02:33] sorry, sorry, sorry. Can you open a notepad because your folder name is container name? What the name you have given? Look at the almost like a last line destination is said demo. It's not demo for you, right?

[4:02:52] Yes. Look at the last last last third line. string. Yes. Uh can you check your what the container name you have given

[4:03:11] side. Huh? So whatever container name you have given you given build. So please give build

[4:03:25] go and update the main file only change the build.

[4:03:48] there. Just

[4:05:09] 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 C.

[4:05:23] Go back to code. Delete this workflow. Click Now click click then on the right hand side you have three dot huh delete the

[4:05:35] directory. Yes commit the changes.

[4:05:56] Create a main file again. Go back to action.

[4:06:11] Set up a workflow by yourself. Now paste that code.

[4:06:26] Commit it. Hopefully this time it should work.

[4:07:06] No, it should not be failure. Now click the build. Yes, you see the Same app.txt. If you open it, if you

[4:07:21] want to check its content, just click edit button. Click edit. Edit. You have a edit button on top. No. On top. On top. On top.

[4:07:34] 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

[4:07:47] many of you are see it's a successful stop you're saying? Thank you. I think for Nag it work. Grogi Oliver

[4:08:23] Click. Click. Click the file. Click the error. Create demos. Yeah. Click the error. Create demos. Yeah. First one. First one.

[4:08:38] workflow file. Okay. Okay. Okay. I got that. Uh, scroll down. Scroll down till last. I just want to see what you have given the destination. given the destination. Okay. So, uh Oliver, please go back to

[4:08:51] Okay. So, uh Oliver, please go back to code and delete the whole folder. folder, right? So, just click the GitHub folder. Click the dot GitHub

[4:09:07] 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 have a add file on the top [clears throat]

[4:09:25] and then you have a three dot you have a click delete the directory.

[4:09:38] shared now? Latest one. No, no, no, no, no, no, no, no, no, no, no, no. I said a file in a chat.

[4:10:05] The last file more. Ah, this one. Yes, exactly. You download it. Huh? Open this file now. Yes.

[4:10:28] and just confirm your destination is also built in Azure. yes. Yeah. If yes, just uh copy everything

[4:10:42] without any means. Yeah. Go back to GitHub.

[4:11:00] Yes. Si. Good. Go to action. Click action. side. Click setup. Huh. Very good. Yes. Paste the file here. Yes. Click commit the changes.

[4:11:17] 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?

[4:11:31] problem. Yeah. Yeah. Just fine. Okay. Go ahead. Commit it. Commit

[4:11:49] domain door. This is uh go to GitHub action. Now create, click release and upload to Azure.

[4:12:22] 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,

[4:12:36] you see that you have a secret and variable. Click action. You have disconnect. Oh no, no, no. You given a different name and in the file it is different.

[4:12:50] it is different. You got that right. So um in the YAML file I give a different Yes. So maybe you delete it and I just give you the new name. You please post same name. Exactly. You give me one

[4:13:06] minute. Just one minute. Huh? I'm just looking for Yeah. Just delete it. You have a delete button, huh? Just delete it. delete button, huh? Just delete it. Yes. And I paste new. Just click that.

[4:13:25] shared in the chat because that is used in a code, right? because that is used in a code, right? Yeah.

[4:13:43] uh paste your connection listing if you copy in a notepad.

[4:14:08] Yes. Go back to action.

[4:14:47] Click now release and upload. Now just see that

[4:15:15] Uh, leave it blank as it is. Visual done. Can you go to Azure now?

[4:15:30] Correct, Oliver. Now you are able to see the whole build is available here. Okay, I stop here sharing now. Thank you very much.

[4:15:56] and [snorts] power of the autobation world. of the autobation world. with this exercise today.

[4:16:26] >> Yes sir. How you doing? Good. Good morning. [laughter] >> So I hope that now you today you get a clarity clarity >> about uh the different way of doing the

[4:16:40] CI/CD process. It can be >> yes >> workflow it can be gen you know a devops it can be any other tool process remain same. Yeah, I mean I can't I can't repeat it

[4:16:53] all like you like you did through this whole four hours of class, [laughter] whole four hours of class, [laughter] but I do understand like the the power collaboration um the ability to go from basically

[4:17:09] 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.

[4:17:24] >> Yeah. So like like you know just the different individuals who can collaborate. documents can be merged >> into the final person's collaboration

[4:17:38] and then it merged into the um the GitHub repository. Um we can share that repository >> um which I think is awesome and then we >> um which I think is awesome and then we can actually build it. Um so where it's

[4:17:51] a little bit confusing is how do we go 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 then in

[4:18:05] the case of not going to a website or Kubernetes or something like that it can 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

[4:18:18] >> yes exactly 2008. >> Yes. Yes. And this is how the real >> 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

[4:18:31] directly from there they push to that uh file. for Microsoft 3605. So I learned something I learned another thing today. But then uh for websites instead of build and release to storage it can be

[4:18:46] build and release to deployment that can go to a web app. >> Um it's not it's not not shown here but a kubernetes or a virtual machine. >> So you have that capabilities and then if you scroll down a little bit for me

[4:18:59] >> And it is a free right? >> Oh yeah it's free. Yeah. Yeah. free >> so do not have to pay anything to >> Yeah. And then what we just learned because like I do this all the time

[4:19:13] to build is the the connection string, right? You have to have and the appropriate connection string value or the key value. >> If you don't get those two things right, it makes like you're just you're you're

[4:19:27] day long trying to figure out what's going wrong. naming convention is correct and then the actual uh value the key value pair is correct with the with the key uh >> Yes. Yes.

[4:19:41] >> Yes. Yes. Um what else? Uh yeah and then um so you showed collaboration >> uh you showed the CI/CD >> uh you showed the the GitHub action um but you didn't show the API or the

[4:19:55] >> yeah yeah >> yeah so this is how exactly you know uh you can now have the broader understanding so tomorrow uh let's say

[4:20:07] Grogi if you have to use another tool process remains name. >> Okay. >> Even if I use Genkins, I use the same >> Okay. >> Yeah. So, it means that this is this is

[4:20:23] the you know the flow how uh DevOps work. question I asked in the very first class. If you scroll down for me please. Um back scroll back down to where you were. So you you Oh no no no. I mean

[4:20:38] the reverse of Yeah. very bottom. That's the top. Yeah. Loudest away. Perfect. Perfect. Right here. So, I I asked yesterday, I think it was yesterday, right? I asked

[4:20:51] yesterday. 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 rep

[4:21:05] >> project management, collaboration, API, GitHub copilot. So, is it still better? Is Azure DevOps still better even though GitHub added these components? GitHub added these components? >> Yes. So still in Azure DevOps you have

[4:21:17] much better control. So for an example I want to use build as a separate process and release absolutely as a separate process. I want to integrate compliances like a security policy of Azure inside my uh uh

[4:21:35] release process. This all you can now do in DevOps not here. >> Okay. >> Yeah. So once you see the pipeline you will see the differences. >> Yeah. But at least for a small

[4:21:49] organization you know who do not want to invest money and they have a very small invest money and they have a very small simple job this is fantastic. And then you mentioned the build and the release process and GitHub are the are

[4:22:04] once you uh >> because you have a single YAML so that's how it is combination happen >> okay cuz once you commit they both they both release they build >> they both they do everything in one

[4:22:17] single go >> okay perfect thank you that's Debops actually boom nowadays

[4:22:37] So then we understand in a very typical application development versus infrastructure requirement. developer say I develop my application

[4:22:52] and now I want to deploy this application to the cloud application to the cloud maybe in the cloud maybe in the cloud this application need to deploy in a VM.

[4:23:09] So anyone who work as an Azure administrator create the VM. But as an administrator probably

[4:23:25] 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

[4:23:39] okay let's a VM but he said no no no I do not want a VM I want you should enable the RPC you should enable this protocol

[4:24:00] So it means that there is always a conflict between development team

[4:24:14] and this conflict delay project.

[4:24:26] deployed it may not function the way imagined by a developer.

[4:24:41] then you should go from one stage of

[4:24:54] 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

[4:25:06] check what's going on. Then the source code is shared with the test team. Then the testing team run their tool Then the testing team run their tool like a JUnit, XUnit

[4:25:23] it straight away go to deployment. want to involve

[4:25:38] involve Debops all the feature of Debops we start with introducing SEM in between

[4:25:53] we start with introducing SEM 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.

[4:26:18] 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

[4:26:35] Testing team may use JUnit, XUnit, Selenium, Microsoft test. A deployment team may be used tool like A deployment team may be used tool like a BMC Serena.

[4:26:52] adjusted with this new environment of SEM stage two where you want to control the release.

[4:27:16] introduced. One developer now in a state of sharing the developer now in a state of sharing the code directly to the test team. They simply develop the code and push to the GitHub.

[4:27:32] From the GitHub, the build team who may use Genkins, the build team who may use Genkins, MS build, Maven

[4:27:47] 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

[4:28:03] 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

[4:28:23] let's say they now start using this 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 I'll say that now I am going to totally introduce cloud-based tool

[4:28:38] introduce cloud-based tool and this is the debops Stage three where developer develop their code push to the SCM. Now SCM instead of a GitHub

[4:28:51] to the SCM. Now SCM instead of a GitHub we can use Azure repo. SCM then connected with the automated build tool like a Azure build pipeline.

[4:29:03] test like a Azure test. release like a release pipeline

[4:29:22] 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.

[4:29:34] and push to the SCM rest all process is fully automated. the picture. So Azure DevOps provide you repo

[4:29:48] test and also the project and also the project management.

[4:30:03] why as a customer we need Debops. We okay we understand debops but why we need that? So one of the main reason is a appdriven So one of the main reason is a appdriven world. In the appdriven world

[4:30:18] world. In the appdriven world your business is running through the app take example Jumatoto or any food aggregator app in your or any food aggregator app in your country.

[4:30:35] 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

[4:30:48] oneplus 1 free it must be visible in app so that user can order. So if the thousand vendor sending continuous update

[4:31:04] a thousand developer tester deployment team I just have a 10 people out of which five is developer and rest five is

[4:31:18] five is developer and rest five is tester and deployment team that's

[4:31:32] build to deploy to various stages like a testing environment, QAI environment and automated. So even there is a a small team but they

[4:31:45] are able to handle thousand changes per hour. should introduce DevOps in our organization.

[4:32:01] 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

[4:32:17] project it might create a chaos or challenges but if you are introducing to the new project brand new project

[4:32:34] changes, your team will also accommodate the new kind of a deployment.

[4:32:46] And then we understand this wonderful lab just to simulate

[4:33:03] CI/CD process work with the various different environment. And then the last second class we actually go more deep dive

[4:33:21] DevOps world how the whole process look like. developer who all work on a one project called MS Office. One developer develop Excel, one

[4:33:37] 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

[4:33:53] and from there it will be merged to a main branch and then via web hook it is connected to a build tool. a build tool. build tool create the build

[4:34:06] and then this build will pick up by the release create the release and then it 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,

[4:34:24] interesting one. And then we do one fantastic lab where And then we do one fantastic lab where with a GitHub action

[4:34:36] we create a build and that build will go and store in release just like that MS office is available in Microsoft download portal.

[4:34:51] Anyone can download and click and do the manual deployment feature of a centralized repository

[4:35:04] system. So this is what we uh practice So this is what we uh practice understand last time. Let's come to the understand last time. Let's come to the topic of the day

[4:35:25] and before we highlight one word, let me ask a question to you. All of you know Uber, right? It's a taxi platform.

[4:35:43] You probably heard about any e-commerce application like a eBay.

[4:35:55] You probably heard about make my trip. You probably heard about lot of AI tools.

[4:36:16] the cloudy create a havoc in the IT world. You probably also heard about people develop their machine learning model and then they deploy that model and we use that model.

[4:36:33] and we use that model. What is common in all? And like that you have many applications. What is common in all?

[4:36:51] All these different platform what is common in all that?

[4:37:29] all online? Yes. All our online platform. Yeah. Exactly.

[4:37:58] They are in cloud digital. Yeah, exactly. Yes. Very good.

[4:38:13] Interestingly they all application which you see right now right now they all are running in container.

[4:38:25] No VM no app service no app service all these are running in container.

[4:38:42] so to be very frank if I say there is no container, none of these application container, none of these application exist today.

[4:39:15] today modern modern application.

[4:39:27] Any idea about container before I move further?

[4:39:51] It's a lightweight. Yes, exactly. Lightweight. Very good. Uh, which contains all dependencies of the application. Yes.

[4:40:56] go to the old old way I'm talking about some 30 years back

[4:41:24] So at that point of time how company develop their application application in java.net net.

[4:41:37] 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.

[4:41:57] 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 If the hiring is only for Java then only a Java.

[4:42:19] developer de develop their application and then they create a package. For example, if it is a Java, then it is a JAR file.

[4:42:36] If it is Microsoft Visual Studio Code, it can be .exe, companies said that okay my whole application develop in a Java

[4:42:50] then they package it. But where will then they package it. But where will deploy? the server. physical server

[4:43:10] and server at that point of time is very costly. 30 years back when we try to buy the server from IBM, Dell, HP,

[4:43:27] these server come with a factory fitted configuration. For example, a mid-level server usually come up with the 256 GB of RAM.

[4:44:04] Let's say 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 So let's say for example it's coming up with a 500 GB hard disk.

[4:44:21] memory? At that point of time it is not possible. It's a pure hardcoded in the motherboard.

[4:44:37] infrastructure team IT team usually deploy an operating system. operating system and

[4:44:58] system and then this Ubuntu depend on the application they develop deploy the service

[4:45:10] generally deploy a service like Apache Tomcat So I'm just saying that let's say for example they deploy an Apache

[4:45:27] and then inside this Apache B this package go and sit inside one of the designated folder.

[4:45:48] it's all 11 one. One application, one package, one server, one OS, one server, one OS, one deployment.

[4:46:11] So this way of deploying an application we call it as a monolithic.

[4:46:25] Mono means single. Lithic means a stone. A single stone. A single stone. No flexibility nothing.

[4:46:39] In the last 20 years back suddenly there is a sift in the IT world. is a sift in the IT world. Someone said that server Someone said that server and you have 256 GB RAM

[4:46:52] but your server is only utilizing for example 10% of the RAM example 10% of the RAM rest of the RAM is wasted.

[4:47:04] concept. They say that instead of install any operating system like a install any operating system like a Windows or a Linux.

[4:47:16] Huh. Exactly. You install kernelbased operating system and this kernelbased operating system is

[4:47:28] and this kernelbased operating system is called hypervisor. only hypervisor. It's a very small software. When you install hypervisor, it give you just three option. Create

[4:47:46] server, create a storage, create a storage, create network.

[4:48:03] let's say a VM. So you create let's say for example one window VM one CentOS

[4:48:23] and while creating the CentOS VM you say that I am going to give you 8 GB RAM still you have a plenty of RAM in your still you have a plenty of RAM in your system so you allocate 8 GB

[4:48:36] 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

[4:48:56] 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 Ubuntu operating system or CentOS

[4:49:10] operating system. So it's a different Linux flavor and you probably again provide him the same now 16 GB RAM gone but still you

[4:49:22] 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

[4:49:39] a 16 GB RAM and probably a 50 GB hard disk. So what does it means? Now on the same physical server

[4:49:56] you can create multiple virtual server like you do today in a Azure. So application development team take it as an opportunity.

[4:50:12] They divide the large monolithic application into a smaller application. They say that I will the same application same same application now you have a front end.

[4:50:25] So the front end can be developed in Java. middleware can be developed in PHP.

[4:50:56] you have a different artifact which probably And then probably you can develop the third application inn net

[4:51:26] 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

[4:51:42] now divided into a smaller chunk. What is the advantage? In case if one of the server down your whole application never down some part of the application is still running.

[4:52:02] you are only upgrading your front end, your back end and your middleware will your back end and your middleware will is still running.

[4:52:15] where now you can use different language. as an N tire approach

[4:52:30] tire based application. 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 middleware my front end my back end my middleware

[4:52:53] what happened now I'm talking about the current

[4:53:10] you already have a server in which you running your VM. What you are running here?

[4:53:38] That's perfect. But what is the application?

[4:54:08] Oho. You see file Save is a function. Export is a function.

[4:54:27] is a function. Login is a function. Payment is a function. Creating a cart is a function.

[4:54:39] So when all function together we call it as an application.

[4:54:56] running function or a small service.

[4:55:17] now you develop your function in your own language. your function in your own language. So for an example file save function

[4:55:36] is running inside a container.

[4:56:08] So what does it means? Now I can now develop I can now develop function independently

[4:56:20] and deploy independently. So if this container is crash only that function will not available. For an example For an example last week only

[4:56:37] 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

[4:56:51] but everything is working fine. What does it means now? It means that the fixed deposit program which is running inside this container is not working.

[4:57:03] inside this container is not working. Maybe container is down. So develop function by function and deploy function function by function and deploy function by function.

[4:57:38] 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.

[4:57:54] I am a sales department. I understand how the sales should be happen. how the sales should be happen. So I developed my sales module So I developed my sales module inn net.

[4:58:11] I understand how the payment and transaction work. I will develop your cart and payment application. That might be in a react language.

[4:58:23] Everyone develop independently. Every department take the ownership. Now

[4:58:36] world agile. Agile means Agile means autonomy autonomous.

[4:58:53] entire entire to the micros service world. When I say micros service people say

[4:59:06] container. When I say container people say microser When I say container people say microser it is purely interchangeable now.

[4:59:18] 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.

[4:59:42] as a micros service basis function by function deploy and run it in container. Is that whole story clear?

[5:00:14] Pab Deep.

[5:00:29] So now let's understand what is this container is all about. Correct? Yeah. What is this container is all about.

[5:00:57] let me give you the very high level picture. So if you go back to your college days,

[5:01:18] For example, you probably learn in your school or college days

[5:01:38] And then you have various component like a CPU,

[5:02:12] And this is how you use you say open the file which language you are talking I do not understand what you are saying.

[5:02:31] your hardware do not understand your language they understand only machine label language 0 1 0 1 01.

[5:02:51] So to make your hardware follow your instruction,

[5:03:07] keyboard driver, disk driver. Your driver then get a command

[5:03:28] which we generally say open, close, save, delete

[5:03:45] take the command from an OS

[5:04:06] 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,

[5:04:23] 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 a this kind of an interface.

[5:04:42] The in a Linux you see dollar prompt has prompt in Windows you see C drive D drive we call it is user space

[5:04:57] it also include file system PC you will see you have a C drive under C drive you see program file you see

[5:05:10] 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 sub hierarchy right.

[5:05:30] plus it include lot of other you can say

[5:05:43] full list of commands. commands means a program 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 you include.

[5:06:10] you are basically running your application Notepad, Wordpad, MSXL.

[5:06:32] So basically when you as a user

[5:06:45] via OS interface received by the kernel. Kernel then talk to the device driver. Device driver then translate your English instruction into machine level instruction.

[5:07:00] Pass it to the reserve hardware and this is how it work.

[5:07:12] So this is how the general you know uh scenario it work. Now when I go from here to the second scenario,

[5:07:41] another kind of a layer which is called Hypervisor

[5:07:58] kernel they use they use the same device driver

[5:08:11] 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

[5:08:29] act as a VM. So you may have a VM1, VM. So you may have a VM1, you may have a VM2,

[5:08:43] little small. to adjust to my screen

[5:09:03] one VM, you can run two VM and all now interacting with the same hypervisor kernel, same device driver.

[5:09:16] So where this container come into the picture. container. Just understand how the container look Just understand how the container look like.

[5:09:35] Container one only by default

[5:09:51] or you can say user a space basic command.

[5:10:07] No kernel, no application. let's say you are running a windows container for example in my windows you

[5:10:19] see lot of application by default Microsoft store Microsoft store you have calculator you have a clock.

[5:10:33] So in this these all are gone. It's only kernel. It's only user space kernel. It's only user space and a basic command. Plus it contain a minimal file system

[5:10:57] 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

[5:11:13] you have an option to uh install this application. So install Java

[5:11:32] VM one. Let's say for example application. So you are running a command Java C my Java.

[5:11:55] this container it doesn't have a kernel what it does now it then communicate with your communicate with your host operating system.

[5:12:25] host operating system. It say that

[5:12:41] 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

[5:12:54] something, you definitely put a request to me. I need to connect with

[5:13:06] connect with let's say disk.

[5:13:20] 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?

[5:13:41] carrying car. I'm not carrying kitchen. I'm not carrying bed. I'm just dependent I'm not carrying bed. I'm just dependent on you. right all right all right all right all right all right all right okay no worry

[5:13:54] you are my guest it's my honor to serve you are my guest it's my honor to serve you yes please use it you yes please use it so then this

[5:14:06] container connect with your OS kernel OS kernel. It now

[5:14:21] It now connect the hypervisor kernel. connect the hypervisor kernel. The OS kernel will pass this request to the hypervisor kernel on their behalf.

[5:14:34] 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

[5:14:49] So this container because it does not run no kernel,

[5:15:14] So when you remove everything from your operating system, it's become lightweight. it's become lightweight. Nothing is there. It's pure lightweight.

[5:15:33] it only carry the most of their size because of your application. Container itself is a very lightweight. doesn't have you know that uh doesn't have you know that uh applications driver and a kernel.

[5:15:50] container is all about. You can think it like that next level of virtualization. Many time people also call it as a virtualization within virtualization. virtualization within virtualization. Is that clear so far?

[5:17:07] us this user a space?

[5:17:20] 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?

[5:17:38] Incorporation USA.

[5:18:12] It is not a technology. So many time we say we know Docker. like that. You are saying that you know IBM. IBM is a company.

[5:18:29] So Docker is not a technology. Docker is a company. company provide this

[5:18:41] user a space

[5:19:06] 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

[5:19:21] Docker online cloud. Ah, you have a cloud.

[5:19:35] you have a cloud. They call this cloud as a docker registry.

[5:19:58] called docker district. So what is the URL of the cloud?

[5:20:10] please go to Google and type dockerhub.

[5:20:26] and you get an option called hub.docker.com. Just confirm if you are able to find out hub.docker.com.

[5:20:52] hub.docker.com 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

[5:21:04] are you able to see all your IT related juer space is available networking your Cisco F5

[5:21:24] and whatever operating system you know till now. So you can see that all operating system is available

[5:21:39] Ubuntu, Fedora, Amazon Linux, CentOS, Red Hat, you name Amazon Linux, CentOS, Red Hat, you name and you get.

[5:21:52] Now click this image please all of you Ubuntu anyone of you download just let me know find out that download button and just

[5:22:09] just let me know in the chat that you are able to download this image. Anyone

[5:23:17] lendor bola you get download button by any chance any chance no

[5:23:30] so docker making us fool they say that you have an image here let's say Ubuntu or CentOS or Windows

[5:23:48] I'm able to see the image but I cannot download. Docker say no no no no no you cannot download the image just like that

[5:24:03] download the image just like that you need a client. You need a client.

[5:24:28] client. It say that just go to Google

[5:24:41] get Docker client for Windows, Mac or Linux. Okay. what this client is all about.

[5:25:06] provide one engine.

[5:25:26] We call it as a talker engine. [snorts]

[5:25:42] This engine connect via your host kernel.

[5:26:09] 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

[5:26:24] communicate with the hardware.

[5:26:37] through which you can download this or any image.

[5:27:02] 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

[5:27:14] 11, how many laptop you can install?

[5:27:43] 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,

[5:27:56] In this docker client, in this docker client

[5:28:11] 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

[5:28:27] second container Ubuntu third container Ubuntu fourth container Ubuntu fifth container Ubuntu Ubuntu from one single image

[5:28:48] you download Ubuntu image. So you get a hash prompt.

[5:29:03] 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.

[5:29:15] So once you go inside the container you get the H prompt. operating system command. For an example, anyone of you if you

[5:29:27] work on Linux, if I have to install Java in this Ubuntu operating system, Java in this Ubuntu operating system, what command we have to run?

[5:29:42] You can search Google install Java in Ubuntu.

[5:29:58] 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

[5:30:12] 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.

[5:30:34] So once you install your application you can write a program. for example let's say vi or a notepad

[5:30:52] 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

[5:31:08] 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.

[5:31:31] For example, every VM have a name.

[5:31:59] So every container Every VM use some portion of your CPU or memory to run.

[5:32:16] memory to run. So every container use some part of CPU some part of CPU memory

[5:32:33] to run not application at least container right.

[5:32:45] so once you install let's say Java, MySQL,

[5:33:00] container. Now you want that that container should Now you want that that container should be available for everyone.

[5:33:14] 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

[5:33:37] operating system plus your Java and SQL plus your program plus your Java and SQL plus your program and you can name this this image your name. For example, I am saying that this is my BIP app.

[5:34:00] push to the same docker registry.

[5:34:18] Once inside the docker registry, this image can be pulled by run by any environment can be can be your local server environment.

[5:34:40] pool and run as container in any of the environment which can be your local server environment,

[5:35:16] 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?

[5:35:36] 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

[5:35:50] 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

[5:36:06] platform independent

[5:36:19] a company go for Docker Docker if you think about multinational company

[5:36:32] 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.

[5:36:49] Now let's say same company get a 50% discount in Azure cloud in France or in USA they have their own data center

[5:37:04] they said that okay now I am going to sign up different cloud in a different and you already have image so go ahead and run the application everywhere one very interesting interesting thing that once my image is available in the

[5:37:21] docker hub I say that you can pull it in Azure

[5:37:36] now Azure give you two option one fall in the category of infrastructure as a service

[5:38:07] 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

[5:38:22] install a Docker a Docker client.

[5:38:39] or run your image with the docker command. pre-installed. You just have to push your

[5:38:51] image. So if you are only doing the testing So if you are only doing the testing not meant for production

[5:39:04] as an Azure container container instance

[5:39:19] container instance Azure container instance Sense is good Azure container instance Sense is good when you are planning to test your container images not for production just for your

[5:39:35] internal testing that everything is looks fine because it provide only single server in the background. So definitely in a production you will go

[5:39:50] for a multi-server environment. Second problem is Second problem is it do not support a scaling. So if you want to scale

[5:40:06] a scaling. So if you want to scale CPU or memory of your backend server uh 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

[5:40:23] test your container applications,

[5:40:35] not recommended for production. If you want to go for production and you 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

[5:40:51] times is an app service. So app service support code and container both

[5:41:07] and you know that app service capability you it support autocaling. You can scale horizontally and vertically.

[5:41:30] 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,

[5:41:47] 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.

[5:42:04] auto scaling functions we can get when we use functions we can get when we use orchestration software and that is called Azure Kubernetes service

[5:42:18] service or in a popular we call it as an AKS.

[5:42:43] we are going to see it tomorrow AK service. AK service. Now many customer have their own privacy

[5:42:55] and security concern that if I put my image in a public that if I put my image in a public repository like a docker hub repository like a docker hub it might be compromised.

[5:43:19] its own repository and we call this repository container repository.

[5:43:32] repository. So you push your image post development and from Azure container registry you

[5:43:45] can pull the image to any of these service which can be an app

[5:44:00] which can be an Kubernetes is an event which can be a an event which can be a a VM.

[5:44:21] cloud provide a multiple option for all of us create the container, run the container,

[5:44:36] scale the container, manage the container.

[5:44:48] very easy way you can say do not need to do lot of setup. So it support auto do lot of setup. So it support auto scaling and autohealing

[5:45:08] 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

[5:45:22] whole gambit of the CI/CD world CI/CD world the same diagram can be changed drastically.

[5:45:43] So if I give you a big picture how in a real devops it work,

[5:45:57] So everyone do their own coding do their own coding code go to the GitHub repository from the CHub repository. It is now come to the

[5:46:11] Azure pipeline. In Azure pipeline you must enable In Azure pipeline you must enable must enable

[5:46:25] a docker. So you should have a Docker plug-in and then this YAML file which we have.

[5:46:43] this YAML file which we have. It must contain which will convert your whole code into an image.

[5:47:06] 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

[5:47:27] 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

[5:47:40] 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

[5:47:55] a sample docker file docker file which will look like something is

[5:48:09] it has a lot of you can say uh scripting where we can you can say uh scripting where we can copy the whole file inside my

[5:48:22] 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

[5:48:34] it doesn't the build actually contain a docker image. 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

[5:48:50] 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 that process clear what is the extra

[5:49:04] requirement along with the YAML and all we also need one more file and that file

[5:49:16] that file we call it as a talker file. So one of the developer talker file. So one of the developer they have to create they have to create this new file.

[5:49:35] docker client because it's a part of the docker. So you have to so I'm just going to give you the basic idea.

[5:49:51] step I have already given a code in my GitHub repository. GitHub repository. You can go inside that and then you go to inside once you download the clone that repository

[5:50:07] 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

[5:50:27] command with the dot in the last dot in the last means whatever inside this directory everything is go inside the image

[5:50:39] and then when you run the command called docker images you will see your image called whatever the name I give BP e-commerce so you can see the VPN e-commerce image. Then if you want to test it, you just

[5:50:51] run this command on a port number 80 and then use your local machine and this is how it your local machine and this is how it will look like. Okay.

[5:51:10] 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

[5:51:22] and authenticate yourself. Then do a docker push and your whole command is available in and your whole command is available in the docker hub. Then you can go to app

[5:51:36] 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 problem. You only have to take care. You should not use the same email id.

[5:51:52] Name can be same. Maybe you can put some different address Maybe you can put some different address in the address bar.

[5:52:10] because anything match it will simply disconnect you. Yeah. Just watch the lab now. Okay. So, open the document.

[5:52:32] Just watch this lab bula and uh probably once you free you just uh follow this once you free you just uh follow this whole step by step.

[5:52:47] Yeah, first you search Azure container registry.

[5:53:19] Yeah. No, no, no, no, no, no. Remove the word Azure and only container registry. Yeah, you get container history. Yeah, click that.

[5:54:54] >> [snorts] >> resource group you have to create because it's it's your so just maybe like uh AJ 400 RG

[5:55:06] your so just maybe like uh AJ 400 RG that will be fine

[5:55:19] okay that's good now enter the name of registry just say ACR ACR means Azure container registry if name doesn't take maybe you can use number west US2 as usual

[5:55:48] that's it that's it fine let's scroll down

[5:56:02] Perfect. Everything given in a lab uh document. Okay. Hit review and create.

[5:56:17] Please confirm how many of you are able to launch the lab. to launch the lab. Dominor

[5:57:07] created, look at the left hand side you will get services option

[5:57:27] 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?

[5:57:49] I think it already open for you. >> Yes sir. to DockerHub. We are going to use one public image. I hope all of you play

[5:58:03] Mario game, right? So just search Mario in the search box. You know you have a Docker search on the top. Uh, type Mario

[5:58:23] friend. He's from Australia and he developed this wonderful game seven aay Mario. Yeah. Click that. So he has created this image and I am

[5:58:37] going to use this image to play uh to run a game application. Okay. So, go back to your Azure portal now.

[5:58:55] you will see an icon called cloud sale on the top.

[5:59:17] just only select subscription and click apply.

[5:59:29] You have a full screen on the left hand side. Right hand side. Bass [snorts] Bass Bass

[5:59:48] 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.

[6:00:04] If you all are in the cloud sale just confirm me.

[6:00:16] Visual. Very good. Doindor can you confirm if you are there? Very good. [clears throat] Now your Azure container registry need

[6:00:29] need an authorization. Okay. Okay. Okay.

[6:01:06] 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.

[6:01:22] your name first here. Yeah. Just take your uh lit ACR, right?

[6:01:34] just open for a stop you're saying for a minute? Hit enter.

[6:01:47] no. That's fine. That's fine. You are already here. Not need to login already here. Not need to login anything. Just say clear.

[6:02:07] Close this document. I have shared one more document.

[6:02:30] 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.

[6:03:24] registry open. Can you go on the top and just scroll left on uh scroll scroll down scroll down click services.

[6:03:39] Click repository. So if you are doing a lab you can see your Mario is available now. Can you all confirm yes or no?

[6:04:18] Deepu by any chance? Yeah. Okay. Okay. Good. So, uh 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,

[6:04:34] 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.

[6:05:01] Now after name you have a bin container. So change it to

[6:05:18] you see Mario now right very good and then 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

[6:05:31] 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

[6:05:49] our favorite. Hit app service. Now click create resource group. Sugatut. So click create new first.

[6:06:03] You already have right. Okay. Very good. Huh. Type a BAP name. Maybe uh Babap uh something. Yes. Very good. Uncheck the box below.

[6:06:16] box below. We say secure unique host name. Above We say secure unique host name. Above the code. Uh uncheck it. Yes. And now look at that. Uh I think

[6:06:28] that you have to check your name. Uh no no no no make it like a 198 web app container 198 or something right? right? Yes. So all of you are able to see

[6:06:42] Yes. So all of you are able to see it give you two option as of now in your 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

[6:06:56] to run your container. Correct. Select the container please. Must select the region west US2 as usual every time we do that.

[6:07:21] and pricing plan always for a testing purpose select basic because it's a personal account so you have to be very careful

[6:07:36] have to be very careful correct now go next option was not Here when you use code but since we select container

[6:07:53] we get a new tab. Please select Azure container registry the second option and in the authentication please select manage identity. Yeah sorry admin manage identity. Yeah sorry admin credential

[6:08:10] Mario. Everyone able to see Mario?

[6:08:43] Yeah. Okay. Just it. That's it. Review and create.

[6:09:34] Just take couple of minute. I hope the validation is pass.

[6:10:10] Just wait. Deployment is in progress. Yeah. Click go to resource. Yeah. Click go to resource. Copy the URL. Default domain.

[6:11:10] We use only B1 so it will be slow. Don't worry.

[6:11:24] Yo, do you know how to play Sugara? Did you play in in your childhood? I think you have to press some back space key.

[6:11:36] play that. How many of you are able to see your How many of you are able to see your Mario game online from container?

[6:12:17] nowadays. Yes. Yeah. Stop your sharing. Uhhuh.

[6:12:29] Let me go to Bola. Bula. Can you share your screen?

[6:12:44] also follow in the simply learn account. Okay. Bula share screen. Go to your Simply Learn AJ account if you already have

[6:13:16] gets played out of >> It is only for today. Tomorrow you have to ready with your Azure account. Okay.

[6:13:56] Whole game is from container, right? Uh uh no Sugana just wait you can delete the I have service

[6:14:10] do not delete ACR delete I have service only. Okay. Yeah.

[6:14:52] Do not delete the ACR only [clears throat] service.

[6:16:23] backend resource which provide you the server. backend server is still be there. So I will show you in the last how to delete

[6:16:37] will show you in the last how to delete every resource. Okay. every resource. Okay. Yeah. Click next.

[6:17:55] 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 [snorts] web app.

[6:18:22] Uncheck the box secure unique host name. Let's scroll down. Select container.

[6:18:43] B1. No, below. Below. Below. Not here. Below. F. Second one. Yes. Next.

[6:19:04] 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.

[6:19:38] Uhhuh. Yes. You see that it says seven Yes. You see that it says seven AJ/Mario.

[6:19:51] Mario nothing Docker. Only seven AI Mario 7 a/ Mario. Yes. Go back.

[6:20:21] and in where it is written image and a tag just say paste that it. So here I am calling

[6:20:35] this Mario image directly. Okay, directly means I do not have a prime repository. So I'm just calling it directly. Hit review and create.

[6:20:52] Let's see if that work. Create

[6:21:11] personal repository, company repository and then you put your company repository and then you put your image there. Here I am directly pulling.

[6:22:27] Wait because we use only B1. So it's a slow

[6:23:23] just deploying in west US. [laughter] So I thought >> Yeah. Right. [laughter] >> Okay. Just go to the e-commerce site.

[6:23:38] Let's open. Yo, you want DSLR camera? Click it.

[6:23:51] >> You made this. >> I made it here.

[6:24:05] cart. Look at that. Look at that. No. we have tested. Go back to Microsoft Azure

[6:24:23] is a deployment right click the deployment center

[6:24:42] 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.

[6:25:07] pull how it run everything. You can see it from here. Correct. Doindor

[6:25:19] sugat lalit I hope that you are also watching lalit I hope that you are also watching correct. Yeah. Yeah. Now go back to your app service

[6:25:34] and the 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.

[6:25:52] 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? CPU and 3.5 GB of memory. Right? >> Two CPU and 3.5 GB of memory.

[6:26:10] sugarath visual right elix select.

[6:26:22] 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

[6:26:37] slightly increase right. now became $24 approximately from $12. Yeah, you I mean to say this is how you

[6:26:49] 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'll see on top

[6:27:04] it's written Microsoft Azure domain that is very important >> ah Microsoft Azure and before Microsoft Azure there is a dash dash

[6:27:20] resources fifth number all your Azure resources will be available here okay Dominor so if you it is your personal account. No other services you are running. Simply click the first check box

[6:27:49] So in a zero charge you able to finish all the L.

[6:28:26] any other labs that we're working so I'm we're working it within assure. However we're working it within assure. However in my case right we have a a dedicated global IT assure team. >> So I cannot just do this without going

[6:28:41] through them to understand exactly what I'm trying to create. Right. So in that case you have to create every service lab service in one of the service lab service in one of the resource group.

[6:28:55] >> So I could do it in a because they give it they have given me a resource group. Ah okay >> I already have a resource group because there >> but see I'm trying to explore all the

[6:29:10] features but it seems that uh I don't have that a availability >> 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

[6:29:27] provide them a business justification why my business needs it I guess. >> 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.

[6:29:44] 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 the word test and then maybe uh your name of the resource group or whatever the resources you created. So you can filter

[6:29:59] 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. Gotcha. Thank you. >> That yeah that is the best way.

[6:30:13] any other service then it can give a problem.

[6:30:42] Yes. So just see what all we did in the lab,

[6:31:03] we already have my container team who provided me an image globally via Docker registry.

[6:31:21] personal registry called ACR. So usually development team So usually development team can also push the image once it is can also push the image once it is created

[6:31:38] 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

[6:31:51] sync with the app service and tomorrow we are going to see the AKS Azure we are going to see the AKS Azure Kubernetes service.

[6:32:03] It provide us the seamless you know that uh without any extra effort

[6:32:19] 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

[6:32:32] 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.

[6:32:46] DevOps and certification tutorials. Thank you guys for watching this video.

More from Simplilearn

View all

โšก Saved you 6h 33m reading this? Transcribe any YouTube video for free โ€” no signup needed.