If you've obtained the AZ-104/305 certification and want to take your cloud infrastructure management skills to the next level, it's time to focus on Infrastructure as Code (IaC). IaC is a critical method of provisioning and managing IT infrastructure through code, automating the deployment process, and ensuring consistency and repeatability across environments. In this article, we'll explore the essential tools and technologies that can help you improve your IaC development workflow, including GitHub knowledge, Visual Studio Code (VS Code), PowerShell 7, ARM templates, Bicep and Azure DevOps service(s). With these tools, you can increase your productivity, automate and streamline your workflows, and deliver infrastructure faster and with higher quality.
GitHub Knowledge
GitHub is a web-based platform for version control and collaboration that enables developers to manage and store their code repositories. In the context of IaC, it is crucial to understand how to use GitHub to manage and collaborate on code changes, track issues, and automate workflows. By leveraging GitHub's features, IaC practitioners can ensure that their code is managed efficiently and can be shared with other developers.
Visual Studio Code (VS Code)
Visual Studio Code is a free, open-source code editor that supports multiple programming languages, including PowerShell, JSON, and YAML. VS Code is highly customizable and provides numerous extensions and integrations that make IaC development more efficient. Additionally, VS Code has built-in Git support, allowing developers to work with GitHub and other version control systems easily.
PowerShell 7
PowerShell 7 is the latest version of the popular automation and configuration tool from Microsoft. PowerShell 7 provides significant improvements over its predecessors, including cross-platform compatibility, performance enhancements, and new features such as Ternary operators. PowerShell 7 is also highly integrated with Azure, making it a powerful tool for IaC practitioners working in the Azure ecosystem.
-
Automate administrative tasks by using PowerShell - Learn | Microsoft Docs
-
John Savil PowerShell Master Class - YouTube - Free (No direct labs but can create/follow in a self created environment)
-
Introduction - Programming Foundations with PowerShell 7 - CBT Nuggets - Paid Subscription
-
Advanced PowerShell Automation - CBT Nuggets Paid Subscription
It is worth mentioning the original video on PowerShell that served as my foundational introduction to this technology years ago. The video was taught by the creator of PowerShell and although it may be a bit outdated, it provides a thorough and clear explanation of the shell. If you find that the content above does not provide you with the deeper philosophy behind everything, this video may still be of value to you:
-
Part 1: PowerShell For Beginners Full Course | PowerShell Beginner tutorial Full Course - YouTube
-
Part 2: PowerShell Advanced Tools and Scripting Full Course - YouTube
ARM Templates
Azure Resource Manager (ARM) Templates are JSON files that define the resources needed for a particular Azure deployment. ARM templates provide a declarative syntax for defining infrastructure resources and dependencies, making them an essential tool for IaC. By using ARM templates, IaC practitioners can define the desired state of an Azure environment and automate the deployment process, ensuring consistency and repeatability across environments.
Bicep
Bicep is a domain-specific language (DSL) for Azure Resource Manager (ARM) templates. Bicep simplifies the process of creating and managing ARM templates by providing a cleaner syntax, improved modularity, and better error handling. Bicep is designed to be a more user-friendly and efficient alternative to ARM templates, enabling IaC practitioners to be more productive and focused on developing solutions.
Azure Devops
After obtaining the AZ-104 certification, learning Azure DevOps is the next logical step for IT professionals looking to advance their skills in cloud-based infrastructure management. Azure DevOps provides a comprehensive set of tools and services for managing the entire software development lifecycle, including planning, development, testing, deployment, and monitoring. By incorporating Azure DevOps into their workflows, IT professionals can streamline and automate their processes, reduce development cycle times, and improve overall quality and reliability.
In relation to the topics mentioned above, Azure DevOps is a natural fit for Infrastructure as Code (IaC) development. Its Azure Pipelines service provides a flexible and powerful automation tool for building, testing, and deploying infrastructure as code artifacts, including ARM templates and Bicep modules. Additionally, Azure Repos provides a Git-based repository for storing and managing code, making it an ideal tool for IaC development teams. Overall, learning Azure DevOps after passing the AZ-104 certification can help IT professionals improve their IaC development workflows and enable them to deliver infrastructure more efficiently and with higher quality.
-
Get started with Azure DevOps learning path - Learn | Microsoft Docs
-
Build applications with Azure DevOps learning path - Learn | Microsoft Docs
-
Deploy applications with Azure DevOps learning path - Learn | Microsoft Docs
-
Deploy Azure resources by using Bicep and Azure Pipelines - Learn | Microsoft Docs
Conclusion
As businesses continue to move to cloud-based infrastructures, Infrastructure as Code (IaC) has become increasingly important. By leveraging tools such as GitHub, Visual Studio Code, PowerShell 7, ARM templates, and Bicep, IaC practitioners can automate and streamline their deployment processes, improving consistency, reliability, and efficiency. After obtaining AZ-104/305 certification, the next step in the IaC journey is to focus on these tools and technologies, expanding one's knowledge and skills in IaC development. By doing so, IaC practitioners can stay ahead of the curve and be better equipped to meet the challenges of modern IT infrastructure management.