[{"data":1,"prerenderedAt":487},["ShallowReactive",2],{"i-ph:list-bold":3,"i-ph:github-logo-bold":8,"i-ph:linkedin-logo-bold":10,"i-ph:rss-bold":12,"tag-bicep":14,"i-ph:arrow-left-bold":485},{"left":4,"top":4,"width":5,"height":5,"rotate":4,"vFlip":6,"hFlip":6,"body":7},0,256,false,"\u003Cpath fill=\"currentColor\" d=\"M228 128a12 12 0 0 1-12 12H40a12 12 0 0 1 0-24h176a12 12 0 0 1 12 12M40 76h176a12 12 0 0 0 0-24H40a12 12 0 0 0 0 24m176 104H40a12 12 0 0 0 0 24h176a12 12 0 0 0 0-24\"\u002F>",{"left":4,"top":4,"width":5,"height":5,"rotate":4,"vFlip":6,"hFlip":6,"body":9},"\u003Cpath fill=\"currentColor\" d=\"M212.62 75.17A63.7 63.7 0 0 0 206.39 26A12 12 0 0 0 196 20a63.71 63.71 0 0 0-50 24h-20a63.71 63.71 0 0 0-50-24a12 12 0 0 0-10.39 6a63.7 63.7 0 0 0-6.23 49.17A61.5 61.5 0 0 0 52 104v8a60.1 60.1 0 0 0 45.76 58.28A43.66 43.66 0 0 0 92 192v4H76a20 20 0 0 1-20-20a44.05 44.05 0 0 0-44-44a12 12 0 0 0 0 24a20 20 0 0 1 20 20a44.05 44.05 0 0 0 44 44h16v12a12 12 0 0 0 24 0v-40a20 20 0 0 1 40 0v40a12 12 0 0 0 24 0v-40a43.66 43.66 0 0 0-5.76-21.72A60.1 60.1 0 0 0 220 112v-8a61.5 61.5 0 0 0-7.38-28.83M196 112a36 36 0 0 1-36 36h-48a36 36 0 0 1-36-36v-8a37.87 37.87 0 0 1 6.13-20.12a11.65 11.65 0 0 0 1.58-11.49a39.9 39.9 0 0 1-.4-27.72a39.87 39.87 0 0 1 26.41 17.8a12 12 0 0 0 10.1 5.53h32.35a12 12 0 0 0 10.11-5.53a39.84 39.84 0 0 1 26.41-17.8a39.9 39.9 0 0 1-.4 27.72a12 12 0 0 0 1.61 11.53A37.85 37.85 0 0 1 196 104Z\"\u002F>",{"left":4,"top":4,"width":5,"height":5,"rotate":4,"vFlip":6,"hFlip":6,"body":11},"\u003Cpath fill=\"currentColor\" d=\"M216 20H40a20 20 0 0 0-20 20v176a20 20 0 0 0 20 20h176a20 20 0 0 0 20-20V40a20 20 0 0 0-20-20m-4 192H44V44h168Zm-100-36v-56a12 12 0 0 1 21.43-7.41A40 40 0 0 1 192 148v28a12 12 0 0 1-24 0v-28a16 16 0 0 0-32 0v28a12 12 0 0 1-24 0m-16-56v56a12 12 0 0 1-24 0v-56a12 12 0 0 1 24 0M68 80a16 16 0 1 1 16 16a16 16 0 0 1-16-16\"\u002F>",{"left":4,"top":4,"width":5,"height":5,"rotate":4,"vFlip":6,"hFlip":6,"body":13},"\u003Cpath fill=\"currentColor\" d=\"M109.74 146.26A75.53 75.53 0 0 1 132 200a12 12 0 0 1-24 0a52 52 0 0 0-52-52a12 12 0 0 1 0-24a75.5 75.5 0 0 1 53.74 22.26M56 76a12 12 0 0 0 0 24a100 100 0 0 1 100 100a12 12 0 0 0 24 0A124 124 0 0 0 56 76m121.62 2.38A170.85 170.85 0 0 0 56 28a12 12 0 0 0 0 24a147 147 0 0 1 104.65 43.35A147 147 0 0 1 204 200a12 12 0 0 0 24 0a170.85 170.85 0 0 0-50.38-121.62M60 180a16 16 0 1 0 16 16a16 16 0 0 0-16-16\"\u002F>",[15,69,273],{"_path":16,"_dir":17,"_draft":18,"_partial":6,"_locale":19,"title":20,"description":21,"date":22,"preview":19,"draft":18,"tags":23,"categories":19,"image":26,"body":27,"_type":63,"_id":64,"_source":65,"_file":66,"_stem":67,"_extension":68},"\u002Fblog\u002F2023-03-17-terraform-explained","blog","true","","Terraform Explained","A practical introduction to Terraform: what it is, how it works and why you would use it for managing cloud infrastructure.","2023-03-17T11:13:49.196Z",[24,25],"iac","terraform","\u002Fimages\u002Fterraform.png",{"type":28,"children":29,"toc":58},"root",[30,39,52],{"type":31,"tag":32,"props":33,"children":35},"element","h1",{"id":34},"terraform-explained",[36],{"type":37,"value":38},"text","Terraform explained",{"type":31,"tag":40,"props":41,"children":42},"p",{},[43,45],{"type":37,"value":44},"In my last post I explained the option you have when starting withf Infrastructure-as-Code when looking at the languages you want to use.\nIn this blog I will go deeper in to the language Terrarfom. If you would like to read my previous blog, ",{"type":31,"tag":46,"props":47,"children":49},"a",{"href":48},"2023-01-13-different-languages-iac",[50],{"type":37,"value":51},"click here",{"type":31,"tag":53,"props":54,"children":55},"h3",{"id":25},[56],{"type":37,"value":57},"Terraform",{"title":19,"searchDepth":59,"depth":59,"links":60},2,[61],{"id":25,"depth":62,"text":57},3,"markdown","content:blog:2023-03-17-Terraform-explained.md","content","blog\u002F2023-03-17-Terraform-explained.md","blog\u002F2023-03-17-Terraform-explained","md",{"_path":70,"_dir":17,"_draft":71,"_partial":6,"_locale":19,"title":72,"description":73,"date":74,"preview":19,"draft":71,"tags":75,"categories":19,"image":78,"body":79,"_type":63,"_id":270,"_source":65,"_file":271,"_stem":272,"_extension":68},"\u002Fblog\u002F2023-01-13-different-languages-iac","false","Different languages for infrastructure-as-code","An overview of the main languages and tools used for infrastructure-as-code: Terraform, Bicep, ARM, Pulumi and CloudFormation.","2023-01-13T11:13:49.196Z",[24,25,76,77],"bicep","arm","\u002Fimages\u002Fiac-overview.png",{"type":28,"children":80,"toc":266},[81,86,91,97,102,107,112,119,125,130,159,164,171,176,181,191,195,200,205,213,217,222,227,235,240,246,251,256,261],{"type":31,"tag":32,"props":82,"children":84},{"id":83},"different-languages-for-infrastructure-as-code",[85],{"type":37,"value":72},{"type":31,"tag":40,"props":87,"children":88},{},[89],{"type":37,"value":90},"Infrastructure-as-Code (IaC) is a concept that allows for the management of infrastructure through the use of code. This means that instead of manually configuring and setting up infrastructure using a web interface, the infrastructure is defined and provisioned using code. This allows for greater automation, consistency, and repeatability in the management of infrastructure, as well as making it easier to version control, test and rollback changes",{"type":31,"tag":53,"props":92,"children":94},{"id":93},"benefits-of-infrastructure-as-code",[95],{"type":37,"value":96},"Benefits of Infrastructure-as-code",{"type":31,"tag":40,"props":98,"children":99},{},[100],{"type":37,"value":101},"Imagine you need to deploy multiple virtual machines, three storage accounts, and a virtual network. Next, you need to configure the network links on that network and format tje diskss. \"Just one click\" in the UI turns into hours of clicking and filling out all the forms and properties.",{"type":31,"tag":40,"props":103,"children":104},{},[105],{"type":37,"value":106},"Now imagine that something went wrong towards the end and you have to start all over again. With the IaC model, you can write code to describe all infrastructure components and then leave the implementation to Terraform, Bicep, or ARM. In this case, if something goes wrong at the end, you can change a few lines of code to fix the problem and run the code again.",{"type":31,"tag":40,"props":108,"children":109},{},[110],{"type":37,"value":111},"Another benefit is the ability to use a source code versioning system such as Azure DevOps or Github to store your code. This gives you equal version control and makes it possible to easily see all changes in the infrastructure and make them available to all team members. By using versions, you automatically  have an audit log in which all changes are recorded",{"type":31,"tag":40,"props":113,"children":114},{},[115],{"type":31,"tag":116,"props":117,"children":118},"img",{"alt":19,"src":78},[],{"type":31,"tag":53,"props":120,"children":122},{"id":121},"which-language-should-you-use",[123],{"type":37,"value":124},"Which language should you use?",{"type":31,"tag":40,"props":126,"children":127},{},[128],{"type":37,"value":129},"When you start using IaC, you still have to make a number of choices. The most important choice here is: which language will you use? In principle, you have a choice of three languages.",{"type":31,"tag":131,"props":132,"children":133},"ul",{},[134,144,152],{"type":31,"tag":135,"props":136,"children":137},"li",{},[138],{"type":31,"tag":139,"props":140,"children":141},"span",{},[142],{"type":37,"value":143},"ARM templates (json)",{"type":31,"tag":135,"props":145,"children":146},{},[147],{"type":31,"tag":139,"props":148,"children":149},{},[150],{"type":37,"value":151},"Bicep",{"type":31,"tag":135,"props":153,"children":154},{},[155],{"type":31,"tag":139,"props":156,"children":157},{},[158],{"type":37,"value":57},{"type":31,"tag":40,"props":160,"children":161},{},[162],{"type":37,"value":163},"The three languages all use the Azure Resource Manager for the deployment. The Azure Resource Manager ensures that the code is converted to a resource that must be created. For each language I've made an example how to create a resource group within Azure, so that you can see a good difference between the different languages.",{"type":31,"tag":165,"props":166,"children":168},"h4",{"id":167},"arm-template-json",[169],{"type":37,"value":170},"ARM template (json)",{"type":31,"tag":40,"props":172,"children":173},{},[174],{"type":37,"value":175},"In the past, ARM templates were the only way to create resources in Azure based on IaC. This is also the default \"language\" that the Azure Resource Manager uses.",{"type":31,"tag":40,"props":177,"children":178},{},[179],{"type":37,"value":180},"The following code is required to create a resource group:",{"type":31,"tag":182,"props":183,"children":185},"pre",{"code":184},"{\n  \"$schema\": \"https:\u002F\u002Fschema.management.azure.com\u002Fschemas\u002F2018-05-01\u002FsubscriptionDeploymentTemplate.json#\",\n  \"contentVersion\": \"1.0.0.0\",\n  \"parameters\": {\n    \"rgName\": {\n      \"type\": \"string\"\n    },\n    \"rgLocation\": {\n      \"type\": \"string\"\n    }\n  },\n  \"variables\": {},\n  \"resources\": [\n    {\n      \"type\": \"Microsoft.Resources\u002FresourceGroups\",\n      \"apiVersion\": \"2021-04-01\",\n      \"name\": \"[parameters('rgName')]\",\n      \"location\": \"[parameters('rgLocation')]\",\n      \"properties\": {}\n    }\n  ],\n  \"outputs\": {}\n}\n",[186],{"type":31,"tag":187,"props":188,"children":189},"code",{"__ignoreMap":19},[190],{"type":37,"value":184},{"type":31,"tag":165,"props":192,"children":193},{"id":76},[194],{"type":37,"value":151},{"type":31,"tag":40,"props":196,"children":197},{},[198],{"type":37,"value":199},"Bicep is a language developed by Microsoft as a replacement for the ARM templates. The advantage of this language is that it is more readable and you need fewer lines to achieve the same. The disadvantage of Bicep, just like ARM templates, is that it can only be used on the Azure platform.",{"type":31,"tag":40,"props":201,"children":202},{},[203],{"type":37,"value":204},"As indicated, you need less code for the same action, creating a resource group.",{"type":31,"tag":182,"props":206,"children":208},{"code":207},"targetScope = 'subscription'\n\nresource rg 'Microsoft.Resources\u002FresourceGroups@2021-01-01' = {\n  name: 'rg-contoso'\n  location: 'westeurope'\n}\n",[209],{"type":31,"tag":187,"props":210,"children":211},{"__ignoreMap":19},[212],{"type":37,"value":207},{"type":31,"tag":165,"props":214,"children":215},{"id":25},[216],{"type":37,"value":57},{"type":31,"tag":40,"props":218,"children":219},{},[220],{"type":37,"value":221},"Terraform is a language developed by the Terracorp company. This language can be used for all cloud platforms, Google, AWS and Azure. This makes it a language that is widely used by developers in the open-source community and companies with a multi-cloud environment.",{"type":31,"tag":40,"props":223,"children":224},{},[225],{"type":37,"value":226},"Like Bicep, Terraform uses the Azure Resource Manager to create the resources. Because Terraform can be used for multiple cloud environments, you must indicate that you want to use the Azure Resource Manager. To create a resource group you can use the following code:",{"type":31,"tag":182,"props":228,"children":230},{"code":229},"resource \"azurerm_resource_group\" \"example\" {\n  name     = \"rg-contoso\"\n  location = \"West Europe\"\n}\n",[231],{"type":31,"tag":187,"props":232,"children":233},{"__ignoreMap":19},[234],{"type":37,"value":229},{"type":31,"tag":40,"props":236,"children":237},{},[238],{"type":37,"value":239},"The emergence of Bicep and Terraform makes it easier to create resources in an unambiguous way. Because both languages are easy to read, you also have documentation of the environment and, in combination with Azure DevOps or Github, an audit trail for the changes.",{"type":31,"tag":165,"props":241,"children":243},{"id":242},"which-language-is-best-for-you-to-use",[244],{"type":37,"value":245},"Which language is best for you to use?",{"type":31,"tag":40,"props":247,"children":248},{},[249],{"type":37,"value":250},"There is not really one answer to this and it has a lot to do with which cloud provider you use and the composition of a team.",{"type":31,"tag":40,"props":252,"children":253},{},[254],{"type":37,"value":255},"If you only use Microsoft Azure, it's best to work with Bicep because this language has been developed for Microsoft Azure.",{"type":31,"tag":40,"props":257,"children":258},{},[259],{"type":37,"value":260},"If you use different Cloud environments within your company, for example AWS and Azure, it is advisable to use Terraform because you can then manage both environments with the same language.",{"type":31,"tag":40,"props":262,"children":263},{},[264],{"type":37,"value":265},"In my next blog I will discuss the use of Terraform in more detail.",{"title":19,"searchDepth":59,"depth":59,"links":267},[268,269],{"id":93,"depth":62,"text":96},{"id":121,"depth":62,"text":124},"content:blog:2023-01-13-different-languages-iac.md","blog\u002F2023-01-13-different-languages-iac.md","blog\u002F2023-01-13-different-languages-iac",{"_path":274,"_dir":17,"_draft":71,"_partial":6,"_locale":19,"title":275,"description":276,"date":277,"preview":19,"draft":71,"tags":278,"categories":19,"image":282,"body":283,"_type":63,"_id":482,"_source":65,"_file":483,"_stem":484,"_extension":68},"\u002Fblog\u002F2023-01-07-windows-365-cloud-wat-is-het-en-wat-heb-je-ervoor-nodig","Windows 365 Cloud: Wat is het en wat heb je ervoor nodig?","Microsoft heeft kort geleden aangekondigd dat ze met een nieuwe functionaliteit komen om het hybride werken nog meer te ondersteunen.","2022-07-26T10:01:27.048Z",[279,280,281],"windows-365","intune","azure","\u002Fimages\u002Fhead365.jpg",{"type":28,"children":284,"toc":480},[285,289,295,300,305,311,324,329,336,341,348,354,359,366,371,377,382,388,393,468],{"type":31,"tag":40,"props":286,"children":287},{},[288],{"type":37,"value":276},{"type":31,"tag":32,"props":290,"children":292},{"id":291},"windows-365-cloud-pc",[293],{"type":37,"value":294},"Windows 365 Cloud PC",{"type":31,"tag":40,"props":296,"children":297},{},[298],{"type":37,"value":299},"Met deze techniek gaat Microsoft Desktop as a Service (DaaS) bieden. Deze cloud PC’s zullen in eerste instantie draaien op basis van Windows 10 en als later dit jaar Windows 11 beschikbaar komt zal dit ook als Cloud PC worden ondersteund.",{"type":31,"tag":40,"props":301,"children":302},{},[303],{"type":37,"value":304},"Microsoft wil met het aanbieden van deze functionaliteiten bedrijven helpen om het hybride werken beter en gemakkelijker te maken. De Cloud PC maakt gebruik van alle Cloud-technieken en kan hierdoor op goede en veilige manier worden aangeboden. Daarbij zullen er apps voor alle bekende systemen zijn om verbinding te kunnen maken met de Desktop.",{"type":31,"tag":32,"props":306,"children":308},{"id":307},"windows-365-web-portaal",[309],{"type":37,"value":310},"Windows 365 web portaal",{"type":31,"tag":40,"props":312,"children":313},{},[314,316],{"type":37,"value":315},"Voor het gebruik van de Cloud PC heeft Microsoft een nieuw portaal beschikbaar gesteld, ",{"type":31,"tag":46,"props":317,"children":321},{"href":318,"rel":319},"https:\u002F\u002Fcloudpc.microsoft.com",[320],"nofollow",[322],{"type":37,"value":323},"cloudpc.microsoft.com",{"type":31,"tag":40,"props":325,"children":326},{},[327],{"type":37,"value":328},"ia dit portaal kan de gebruiker gemakkelijk zijn eigen pc beheren. Hierbij kan je denken aan het herstarten of bij de juiste rechten het vergroten van de pc.",{"type":31,"tag":40,"props":330,"children":331},{},[332],{"type":31,"tag":116,"props":333,"children":335},{"alt":19,"src":334},"\u002Fimages\u002Fwindows_365_1.png",[],{"type":31,"tag":40,"props":337,"children":338},{},[339],{"type":37,"value":340},"Daarnaast biedt het portaal de mogelijkheid om verbinding te maken met de pc doormiddel van de browser of door het downloaden van de desbetreffende cliënt.",{"type":31,"tag":40,"props":342,"children":343},{},[344],{"type":31,"tag":116,"props":345,"children":347},{"alt":19,"src":346},"\u002Fimages\u002Fwindows_365_2.png",[],{"type":31,"tag":32,"props":349,"children":351},{"id":350},"beheer",[352],{"type":37,"value":353},"Beheer",{"type":31,"tag":40,"props":355,"children":356},{},[357],{"type":37,"value":358},"De Cloud PC worden beheerd en uitgerold met behulp van Microsoft Endpoint Manager. Hiermee kunnen alle policies worden toegepast zoals op ‘normale’ apparaten.",{"type":31,"tag":40,"props":360,"children":361},{},[362],{"type":31,"tag":116,"props":363,"children":365},{"alt":19,"src":364},"\u002Fimages\u002Fwindows_365_3.png",[],{"type":31,"tag":40,"props":367,"children":368},{},[369],{"type":37,"value":370},"Voor de Cloud PC zijn er verschillende type images bekend voor licht, gemiddeld en zwaar werk. Hierbij zijn standaard alle Office applicaties en Microsoft Teams geïnstalleerd. Daarnaast is het ook mogelijk om een eigen image te uploaden. De verschillende images kunnen dan aan Azure Active Directory groepen worden gekoppeld.",{"type":31,"tag":32,"props":372,"children":374},{"id":373},"prijzen",[375],{"type":37,"value":376},"Prijzen",{"type":31,"tag":40,"props":378,"children":379},{},[380],{"type":37,"value":381},"Op dit moment zijn er nog geen prijzen bekend: deze worden binnenkort bekend gemaakt. Dit zal wel een fixed price zijn op basis van de grootte van de Virtuele Machine. Deze kunnen, net zoals de huidige Microsoft 365 licenties, via het admin center aan gebruikers worden gekoppeld.",{"type":31,"tag":32,"props":383,"children":385},{"id":384},"technische-vereisten",[386],{"type":37,"value":387},"Technische vereisten",{"type":31,"tag":40,"props":389,"children":390},{},[391],{"type":37,"value":392},"Om Windows 365 Cloud PC’s te kunnen activeren moet je de volgende licenties en rechten hebben.",{"type":31,"tag":131,"props":394,"children":395},{},[396,404,412,420,428,436,444,452,460],{"type":31,"tag":135,"props":397,"children":398},{},[399],{"type":31,"tag":139,"props":400,"children":401},{},[402],{"type":37,"value":403},"Licentie voor het gebruik van de Cloud PC \u002F Windows 3651.",{"type":31,"tag":135,"props":405,"children":406},{},[407],{"type":31,"tag":139,"props":408,"children":409},{},[410],{"type":37,"value":411},"Gebruiker met Windows 10 Pro",{"type":31,"tag":135,"props":413,"children":414},{},[415],{"type":31,"tag":139,"props":416,"children":417},{},[418],{"type":37,"value":419},"Windows 10 Enterprise E3 + EMS E3",{"type":31,"tag":135,"props":421,"children":422},{},[423],{"type":31,"tag":139,"props":424,"children":425},{},[426],{"type":37,"value":427},"Microsoft 365 F3\u002FE3\u002FE5\u002FBP",{"type":31,"tag":135,"props":429,"children":430},{},[431],{"type":31,"tag":139,"props":432,"children":433},{},[434],{"type":37,"value":435},"Azure subscriptie",{"type":31,"tag":135,"props":437,"children":438},{},[439],{"type":31,"tag":139,"props":440,"children":441},{},[442],{"type":37,"value":443},"Owner rol voor het opzetten van een vNet virtual netwerk.",{"type":31,"tag":135,"props":445,"children":446},{},[447],{"type":31,"tag":139,"props":448,"children":449},{},[450],{"type":37,"value":451},"Hybrid identities in Azure AD wanneer er gebruikt wordt gemaakt van een on-premise Active Directory",{"type":31,"tag":135,"props":453,"children":454},{},[455],{"type":31,"tag":139,"props":456,"children":457},{},[458],{"type":37,"value":459},"Microsoft Intune licenties (bijvoorbeeld Microsoft 365 E3)",{"type":31,"tag":135,"props":461,"children":462},{},[463],{"type":31,"tag":139,"props":464,"children":465},{},[466],{"type":37,"value":467},"Intune Service Admin rechten voor het beheren van de Cloud PC’s",{"type":31,"tag":40,"props":469,"children":470},{},[471,473],{"type":37,"value":472},"Mocht je Windows 365 Cloud PC in actie willen zien kijk dan op: ",{"type":31,"tag":46,"props":474,"children":477},{"href":475,"rel":476},"https:\u002F\u002Fwww.youtube.com\u002Fwatch?v=V14Ia2uwrtk",[320],[478],{"type":37,"value":479},"Windows 365, your Cloud PC | What it is, how it works, and how to set it up – YouTube",{"title":19,"searchDepth":59,"depth":59,"links":481},[],"content:blog:2023-01-07-windows-365-cloud-wat-is-het-en-wat-heb-je-ervoor-nodig.md","blog\u002F2023-01-07-windows-365-cloud-wat-is-het-en-wat-heb-je-ervoor-nodig.md","blog\u002F2023-01-07-windows-365-cloud-wat-is-het-en-wat-heb-je-ervoor-nodig",{"left":4,"top":4,"width":5,"height":5,"rotate":4,"vFlip":6,"hFlip":6,"body":486},"\u003Cpath fill=\"currentColor\" d=\"M228 128a12 12 0 0 1-12 12H69l51.52 51.51a12 12 0 0 1-17 17l-72-72a12 12 0 0 1 0-17l72-72a12 12 0 0 1 17 17L69 116h147a12 12 0 0 1 12 12\"\u002F>",1782483246004]