Microsoft has a very large quantity of documentation on Azure. But most of those articles are focused on new large-scale production scenarios or migrating existing production scenarios to Azure. For a software development firm that is looking only to leverage Azure for software development and testing, and not expose public web services to the internet, where does one start?
The Microsoft documentation that I've read leads one to believe that it's a simple as just creating an Azure VM or an Azure Web service and you're done. The reality is there is much more infrastructure required to do that. This series attempts to put together a roadmap or summary of some solutions aimed solely toward software development for Enterprise services and applications. You may find it helpful for preparing your Azure migration or if you have some services in Azure extending it.
Azure is a big world. To narrow down the scope of things, I'm going to create a narrow set of assumptions to build a development and test lab in Azure.
- Software development teams are distributed in multiple locations in Europe, Asia, and the United States.
- There is an existing Windows on premises Active Directory system in place for Authentication.
- There is an existing Windows network system in place in at least three physical locations / offices.
- There is an existing Wide Area Network system in place between the physical locations / offices.
- There are existing file shares / network shares in place for software distribution and storage.
- The software development team utilizes Visual Studio 2022 Professional.
- There is an extremely large source code base in Microsoft Team Foundation Server.
- The development lab utilizes Microsoft Hyper-V Virtual Machines for dev / test servers.
- There is an extremely large code base of web-based services used for an Enterprise Suite of applications.
- Microsoft Office 365 (hosted in the cloud) is used throughout the company for email and team communication.
- All remote access to Azure systems requires Multi Factor Authentication.
- No "production" and no "public" facing websites, databases, or services.
- For Dev Test Labs, no load balancing or hot failover and no region failover.
- Building an Azure Dev Test Lab - Why Azure
- Building an Azure Dev Test Lab - Authentication
- Building an Azure Dev Test Lab - Azure Devops Migration
- Building an Azure Dev Test Lab - Data Centers
- Building an Azure Dev Test Lab - Networking
- Building an Azure Dev Test Lab File Shares
- Building an Azure Dev Test Lab App Services
- Building an Azure Dev Test Lab Virtual Machines
- Building an Azure Dev Test Lab Remote Access
- Building an Azure Dev Test Lab Azure SQL