😤 The Game Has Changed - Azure Verified Modules
Read full transcript 8 segments
-
the infrastructures codee game has the infrastructures codee game has changed forever hi my name is Misha I'm changed forever hi my name is Misha I'm changed forever hi my name is Misha I'm a Microsoft MVP and today I'm going to a Microsoft MVP and today I'm going to a Microsoft MVP and today I'm going to show you Azure verified modules Azure show you Azure verified modules Azure show you Azure verified modules Azure verified modules is a new project by verified modules is a new project by verified modules is a new project by Microsoft it started a few months ago Microsoft it started a few months ago Microsoft it started a few months ago and basically this is Microsoft taking a and basically this is Microsoft taking a and basically this is Microsoft taking a stance and saying this is what a good stance and saying this is what a good stance and saying this is what a good infrastructure as code module looks like infrastructure as code module looks like infrastructure as code module looks like and basically they do everything for you and basically they do everything for you and basically they do everything for you so if you're still paying people to so if you're still paying people to so if you're still paying people to write infrastructure as code you might write infrastructure as code you might write infrastructure as code you might want to pay attention and I I'm I'm I want to pay attention and I I'm I'm I want to pay attention and I I'm I'm I I'm shooting my own foot here like I'm shooting my own foot here like I'm shooting my own foot here like infrastructure as code is my bread and infrastructure as code is my bread and infrastructure as code is my bread and butter but seriously the work is already butter but seriously the work is already butter but seriously the work is already done and I I'm going to show done and I I'm going to show done and I I'm going to show you so Azure verified modules is started you so Azure verified modules is started you so Azure verified modules is started by Microsoft and basically they are by Microsoft and basically they are by Microsoft and basically they are creating both resource modules and creating both resource modules and creating both resource modules and pattern modules for infrastructure as pattern modules for infrastructure as pattern modules for infrastructure as code deployments and in their what why code deployments and in their what why code deployments and in their what why and how here they explain uh what they and how here they explain uh what they and how here they explain uh what they exactly are but here is their mission exactly are but here is their mission exactly are but here is their mission statement I think that's interesting to statement I think that's interesting to statement I think that's interesting to read our mission is to deliver a read our mission is to deliver a read our mission is to deliver a comprehensive Azure verified modules comprehensive Azure verified modules comprehensive Azure verified modules library in multiple infrastructure scode library in multiple infrastructure scode library in multiple infrastructure scode languages following the principles of languages following the principles of languages following the principles of the well architectured framework serving the well architectured framework serving the well architectured framework serving as The Trusted Microsoft source of Truth as The Trusted Microsoft source of Truth as The Trusted Microsoft source of Truth supported by Microsoft AVM will supported by Microsoft AVM will supported by Microsoft AVM will accelerate deployment time for Azure accelerate deployment time for Azure accelerate deployment time for Azure resources and Architectural patterns resources and Architectural patterns resources and Architectural patterns employing every person and organization employing every person and organization employing every person and organization on the planet on their infrastructure on the planet on their infrastructure on the planet on their infrastructure esod Journey esod Journey esod Journey a beautiful mission statement and uh
-
a beautiful mission statement and uh a beautiful mission statement and uh it's it's already come true it's has it's it's already come true it's has it's it's already come true it's has already come already come already come true Microsoft is assigning full-time true Microsoft is assigning full-time true Microsoft is assigning full-time employees to be owners of infrastructure employees to be owners of infrastructure employees to be owners of infrastructure as code modules so let me show you here as code modules so let me show you here as code modules so let me show you here in the module in the module in the module index all of these are Azure resources index all of these are Azure resources index all of these are Azure resources so here we have a container app and here so here we have a container app and here so here we have a container app and here we have um a virtual machine we have we have um a virtual machine we have we have um a virtual machine we have budgets we have container groups but budgets we have container groups but budgets we have container groups but also AK clusters storage accounts each also AK clusters storage accounts each also AK clusters storage accounts each module is assigned a full-time employee module is assigned a full-time employee module is assigned a full-time employee within Microsoft who is responsible for within Microsoft who is responsible for within Microsoft who is responsible for the infrastructures code for this and the infrastructures code for this and the infrastructures code for this and who is managing this so this is who is managing this so this is who is managing this so this is basically a public registry of basically a public registry of basically a public registry of infrastructure as code modules to which infrastructure as code modules to which infrastructure as code modules to which people can submit issues and pool people can submit issues and pool people can submit issues and pool requests so it's also a community driven requests so it's also a community driven requests so it's also a community driven effort here Microsoft is taking a stance effort here Microsoft is taking a stance effort here Microsoft is taking a stance and saying this is what a good module and saying this is what a good module and saying this is what a good module should look like they are sort should look like they are sort should look like they are sort gatekeeping the changes that are done to gatekeeping the changes that are done to gatekeeping the changes that are done to the modules they own the modules and the modules they own the modules and the modules they own the modules and they support the modules that also means they support the modules that also means they support the modules that also means that you can um file issues for the that you can um file issues for the that you can um file issues for the modules if something is modules if something is modules if something is wrong and I've been working with these wrong and I've been working with these wrong and I've been working with these for uh about a month now I've deployed for uh about a month now I've deployed for uh about a month now I've deployed them at customers and I must say it is a them at customers and I must say it is a them at customers and I must say it is a true true pleasure to work with these true true pleasure to work with these true true pleasure to work with these modules and to show you what these look
-
modules and to show you what these look modules and to show you what these look like so if you go into container apps like so if you go into container apps like so if you go into container apps for example here they will um show you for example here they will um show you for example here they will um show you the usage examples and this this was the usage examples and this this was the usage examples and this this was mind-blowing the first time I saw it mind-blowing the first time I saw it mind-blowing the first time I saw it this if you have a bicep module this is this if you have a bicep module this is this if you have a bicep module this is all you need to write in order to have a all you need to write in order to have a all you need to write in order to have a fully functional aure container app like fully functional aure container app like fully functional aure container app like you can copy and paste this and deploy you can copy and paste this and deploy you can copy and paste this and deploy it it's that easy it it's that easy it it's that easy then they show you using a large then they show you using a large then they show you using a large parameter set so here we they have more parameter set so here we they have more parameter set so here we they have more parameters that you can give and then parameters that you can give and then parameters that you can give and then finally they usually include a w aligned finally they usually include a w aligned finally they usually include a w aligned example now this is absolutely example now this is absolutely example now this is absolutely mind-blowing the the well architected mind-blowing the the well architected mind-blowing the the well architected framework well architected framework if framework well architected framework if framework well architected framework if you if you uh print this it is like you if you uh print this it is like you if you uh print this it is like several thousand pages of infrastructure several thousand pages of infrastructure several thousand pages of infrastructure as code knowledge as code knowledge as code knowledge um or Azure Cloud deployment best um or Azure Cloud deployment best um or Azure Cloud deployment best practices all condensed into this entire practices all condensed into this entire practices all condensed into this entire framework and if this is what Architects framework and if this is what Architects framework and if this is what Architects make their living of by knowing make their living of by knowing make their living of by knowing this but if you can go into a module and this but if you can go into a module and this but if you can go into a module and say okay I want it wa aligned copy paste say okay I want it wa aligned copy paste say okay I want it wa aligned copy paste and you have a fully wa aligned all and you have a fully wa aligned all and you have a fully wa aligned all according to latest security best according to latest security best according to latest security best practices all your resources are practices all your resources are practices all your resources are deployed exactly as they should deployed exactly as they should deployed exactly as they should according to the well architected according to the well architected according to the well architected framework like this is just absolutely framework like this is just absolutely framework like this is just absolutely mind-blowing and it's also um
-
mind-blowing and it's also um mind-blowing and it's also um eliminating a lot of work like I'm a eliminating a lot of work like I'm a eliminating a lot of work like I'm a cloud engineer and writing this stuff is cloud engineer and writing this stuff is cloud engineer and writing this stuff is my bread and butter and they make my my bread and butter and they make my my bread and butter and they make my life a lot easier but it's also going to life a lot easier but it's also going to life a lot easier but it's also going to eliminate a lot of work and um yeah that eliminate a lot of work and um yeah that eliminate a lot of work and um yeah that is just the times we live in basically is just the times we live in basically is just the times we live in basically and I one on the one hand I think it's a and I one on the one hand I think it's a and I one on the one hand I think it's a sad thing on the other hand sad thing on the other hand sad thing on the other hand the I think it's amazing I I I I I'm so the I think it's amazing I I I I I'm so the I think it's amazing I I I I I'm so like I'm in awe of Microsoft that they like I'm in awe of Microsoft that they like I'm in awe of Microsoft that they put this um effort in and that they um put this um effort in and that they um put this um effort in and that they um provide this to the community to make it provide this to the community to make it provide this to the community to make it so easy to provide to deploy so easy to provide to deploy so easy to provide to deploy infrastructure to their to their infrastructure to their to their infrastructure to their to their platform it's platform it's platform it's amazing so these modules like I said amazing so these modules like I said amazing so these modules like I said they have a Microsoft employee who owns they have a Microsoft employee who owns they have a Microsoft employee who owns them and then it is all uh extremely them and then it is all uh extremely them and then it is all uh extremely well documented mented you can see all well documented mented you can see all well documented mented you can see all of the parameters here it's all of the parameters here it's all of the parameters here it's all generated from the code and um one thing generated from the code and um one thing generated from the code and um one thing that is also extremely valuable with the that is also extremely valuable with the that is also extremely valuable with the the aure verified modules well there are the aure verified modules well there are the aure verified modules well there are a few things firstly they are a few things firstly they are a few things firstly they are standardizing the way you can pass standardizing the way you can pass standardizing the way you can pass parameters to these modules and parameters to these modules and parameters to these modules and secondly they translate the modules secondly they translate the modules secondly they translate the modules across different infrastructures code across different infrastructures code across different infrastructures code languages languages languages where you can use these common where you can use these common where you can use these common interfaces so if we go into the module interfaces so if we go into the module interfaces so if we go into the module specification and then to
-
specification and then to specification and then to interfaces then here you see they have interfaces then here you see they have interfaces then here you see they have defined all of these interfaces for the defined all of these interfaces for the defined all of these interfaces for the module so for example the role module so for example the role module so for example the role assignment assignment assignment interface here they they have created a interface here they they have created a interface here they they have created a custom type for the role assignment and custom type for the role assignment and custom type for the role assignment and then these types are implemented into then these types are implemented into then these types are implemented into all of the modu all of the modu all of the modu so all of the role assignments are so all of the role assignments are so all of the role assignments are always going to be looking exactly the always going to be looking exactly the always going to be looking exactly the same because the thing is that same because the thing is that same because the thing is that underwater many of these bicep apis they underwater many of these bicep apis they underwater many of these bicep apis they sometimes have their own little sometimes have their own little sometimes have their own little implementation they might be different implementation they might be different implementation they might be different from one another so by creating a from one another so by creating a from one another so by creating a interface like this that is applied to interface like this that is applied to interface like this that is applied to all of the modules you can use the same all of the modules you can use the same all of the modules you can use the same configuration style to use with all of configuration style to use with all of configuration style to use with all of the modules it's absolutely amazing and the modules it's absolutely amazing and the modules it's absolutely amazing and secondly here you have the bicep example secondly here you have the bicep example secondly here you have the bicep example but if you have it here in terraform but if you have it here in terraform but if you have it here in terraform they will have the exact same they will have the exact same they will have the exact same terminology for terraform as well so terminology for terraform as well so terminology for terraform as well so this way you can easily translate your this way you can easily translate your this way you can easily translate your infrastructure as code deployments infrastructure as code deployments infrastructure as code deployments between bicep and terraform for example between bicep and terraform for example between bicep and terraform for example if that is something that you need to do if that is something that you need to do if that is something that you need to do uh another example here is the the uh another example here is the the uh another example here is the the resource resource resource lock so here there is the the the the lock so here there is the the the the lock so here there is the the the the type of the lock type and then there are type of the lock type and then there are type of the lock type and then there are the the accepted inputs for that type the the accepted inputs for that type the the accepted inputs for that type and then it is exactly the same in bicep
-
and then it is exactly the same in bicep and then it is exactly the same in bicep and in terraform it is absolutely and in terraform it is absolutely and in terraform it is absolutely amazing and that is this is going to amazing and that is this is going to amazing and that is this is going to make code basis for infrastructures code make code basis for infrastructures code make code basis for infrastructures code so much better by having these so much better by having these so much better by having these interfaces for your interfaces for your interfaces for your modules so that is absolutely amazing modules so that is absolutely amazing modules so that is absolutely amazing and then uh just the fact that these and then uh just the fact that these and then uh just the fact that these modu tools are indexed like this but modu tools are indexed like this but modu tools are indexed like this but these are for bicep but here you also these are for bicep but here you also these are for bicep but here you also have the terraform index and they will have the terraform index and they will have the terraform index and they will all have the same setup the same all have the same setup the same all have the same setup the same approach the same interfaces the same um approach the same interfaces the same um approach the same interfaces the same um methodology behind them so it is methodology behind them so it is methodology behind them so it is absolutely amazing and it is just a absolutely amazing and it is just a absolutely amazing and it is just a pleasure to work with so to do a quick pleasure to work with so to do a quick pleasure to work with so to do a quick demonstration let's go into the bicep demonstration let's go into the bicep demonstration let's go into the bicep resource modules and let's let's deploy resource modules and let's let's deploy resource modules and let's let's deploy a Azure container instance completely W a Azure container instance completely W a Azure container instance completely W aligned so let's see we go to The aligned so let's see we go to The aligned so let's see we go to The Container Group which is the AP API name Container Group which is the AP API name Container Group which is the AP API name for the container instance so container for the container instance so container for the container instance so container group and then we go to usage examples group and then we go to usage examples group and then we go to usage examples and click W aligned and then we open the and click W aligned and then we open the and click W aligned and then we open the bicep module example code here copy it bicep module example code here copy it bicep module example code here copy it and in my terminal I'll create a main.
-
and in my terminal I'll create a main. and in my terminal I'll create a main. BP and paste that in and then all we BP and paste that in and then all we BP and paste that in and then all we need to do is to find the version of the need to do is to find the version of the need to do is to find the version of the module so I go back to the registry and module so I go back to the registry and module so I go back to the registry and then we see here the container group and then we see here the container group and then we see here the container group and here we see the version here we see the version here we see the version 020 so we go to our version here and 020 so we go to our version here and 020 so we go to our version here and press press press 020 and then we can uh go through this 020 and then we can uh go through this 020 and then we can uh go through this um so here we have a name so let's ACI um so here we have a name so let's ACI um so here we have a name so let's ACI AB uh ABQ I don't know I'm just do AB uh ABQ I don't know I'm just do AB uh ABQ I don't know I'm just do something they have this example image something they have this example image something they have this example image that they have here they're opening that they have here they're opening that they have here they're opening ports ports ports they are um adding resource requests and they are um adding resource requests and they are um adding resource requests and let's check out oh this is a second let's check out oh this is a second let's check out oh this is a second container instance well let's just container instance well let's just container instance well let's just deploy one so we can just remove like deploy one so we can just remove like deploy one so we can just remove like this and then here we have the IP this and then here we have the IP this and then here we have the IP address ports and then here we have a u address ports and then here we have a u address ports and then here we have a u um optional parameter um location um optional parameter um location um optional parameter um location parameter so let's do West Europe here parameter so let's do West Europe here parameter so let's do West Europe here and here are some non-required and here are some non-required and here are some non-required parameters but that's it this is all you parameters but that's it this is all you parameters but that's it this is all you need for deploying an Azure container need for deploying an Azure container need for deploying an Azure container instance completely we aligned with instance completely we aligned with instance completely we aligned with bicep so let's quit that then a group bicep so let's quit that then a group bicep so let's quit that then a group create create create deployment create and then we're going deployment create and then we're going deployment create and then we're going to do main. bicep and the group Misha
-
to do main. bicep and the group Misha to do main. bicep and the group Misha test so now our deployment is running it test so now our deployment is running it test so now our deployment is running it will take a moment so I'll be right back will take a moment so I'll be right back will take a moment so I'll be right back and see how our deployment is done so and see how our deployment is done so and see how our deployment is done so here we see our deployment has finished here we see our deployment has finished here we see our deployment has finished and if we go back to Azure into my and if we go back to Azure into my and if we go back to Azure into my Resource Group here we see that the Resource Group here we see that the Resource Group here we see that the container instance is here and this is container instance is here and this is container instance is here and this is how easy it was to deploy something with how easy it was to deploy something with how easy it was to deploy something with the new Azure verified modules it's just the new Azure verified modules it's just the new Azure verified modules it's just so amazing and look at all of the so amazing and look at all of the so amazing and look at all of the resource modules that are here guys it resource modules that are here guys it resource modules that are here guys it is like for key Vols for virtual is like for key Vols for virtual is like for key Vols for virtual machines and all of them are just as machines and all of them are just as machines and all of them are just as easy to work with as this so even though easy to work with as this so even though easy to work with as this so even though it is is taking away my bread and butter it is is taking away my bread and butter it is is taking away my bread and butter I fully support this project I have also I fully support this project I have also I fully support this project I have also made a few pull requests already to this made a few pull requests already to this made a few pull requests already to this project the contributing to the project project the contributing to the project project the contributing to the project is actually very easy and they have some is actually very easy and they have some is actually very easy and they have some very cool uh cicd happening for the very cool uh cicd happening for the very cool uh cicd happening for the project so just by um contributing to project so just by um contributing to project so just by um contributing to this project you're going to learn a lot this project you're going to learn a lot this project you're going to learn a lot I can promise you I've learned a lot I can promise you I've learned a lot I can promise you I've learned a lot already already and it's just a huge already already and it's just a huge already already and it's just a huge inspiration and to see how professional inspiration and to see how professional inspiration and to see how professional high quality infrastructure as code high quality infrastructure as code high quality infrastructure as code should look like so asure verified should look like so asure verified should look like so asure verified modules check them out and use them as modules check them out and use them as modules check them out and use them as your in your work as a cloud engineer your in your work as a cloud engineer your in your work as a cloud engineer it's going to make your your life a lot it's going to make your your life a lot it's going to make your your life a lot easier I'm super stoked about this and easier I'm super stoked about this and easier I'm super stoked about this and it has been a pleasure to work with so it has been a pleasure to work with so it has been a pleasure to work with so hopefully you are going to like them as hopefully you are going to like them as hopefully you are going to like them as much as I do for now I wish you a good much as I do for now I wish you a good much as I do for now I wish you a good day and I hope to see you in the next day and I hope to see you in the next day and I hope to see you in the next video
Summary
Microsoft has launched Azure Verified Modules, a new initiative providing pre-built, high-quality infrastructure-as-code modules. These modules are developed following the Well-Architected Framework and directly address the need for standardized and reliable deployment of Azure resources. The practical takeaway is that developers can now leverage these official, maintained modules to accelerate their Azure deployments and ensure architectural best practices are followed.