
CloudMakers.XYZ
CloudMakers needs to manage some old software solutions already developed before this cloud experience. The migration in the cloud should be transparent, because there is not a specific activity for the customer. They need to recreate the same deployment environment for three-tier web applications to minimize the impact of the migration.
A frontend web server and a backend relational database make up the infrastructure for a typical three-tier, data-centric application. It was a common solution back in the last decade (and in some cases, a common solution today). This is due to some facts, which are mentioned here:
- The lack of affordable and performing alternatives to a relational database brought us to the typical "database-first" approach, best supported by tools that "scaffold" the database and automatically build the pages for CRUD operations.
- There was no culture for scalability, as all invocations were synchronous. So, one of the main topics was the correct sizing of the database machine, which had to support the maximum estimated number of calls from the frontend role.
- A support file server is necessary to store all the unstructured, filebase data that was generated internally or uploaded from pages.
- Modern cloud applications require some complex infrastructure and organizational skills, as these application models are quite faster to train.
Both the Windows and Linux environments support this architectural design. In the Windows world, the stack is composed of the following:
- Windows Server as the operating system
- Internet Information Services as the web server
- SQL Server as the relational database sever
- ASP.NET as the development platform
A typical representation of an infrastructure like this is shown here:

The objective of this chapter is to create an equivalent architecture in Azure, with the opportunity of making some infrastructural enhancements.