Azure Week7 Project
Azure Week7 Project
Introduction ........................................................................................................................... 1
Monthly OpEx for above architecture ...................................................................................... 4
Cost for On-Premises Hosting ................................................................................................ 7
Cost comparison of On-Prem vs Azure Cloud ........................................................................ 10
Team needed for complete migration and implementation. ................................................... 14
Project Plan for implementation of above solution ................................................................. 16
Introduction
The provided diagram depicts an Azure architecture for migrating an application from on-prem
to Azure Cloud using Strangler Fig Pattern. Here's a breakdown of each component and their
interactions:
1. User:
2. Application Gateway:
Acts as the entry point for user requests. It routes tra ic based on URL paths.
Other requests are directed to the Webapp-sp pool via an Azure Load Balancer.
4. Employees-sp Pool:
These VMs are behind an Azure Load Balancer, which manages tra ic
distribution within this pool.
Receives 10% of the tra ic for /employees/* from Tra ic Manager Profiles.
6. Webapp-sp Pool:
Handles general web application tra ic routed from the Application Gateway.
These VMs are also behind an Azure Load Balancer with pool a inity, ensuring
that sessions are maintained with the same VM.
Used to distribute incoming network tra ic across multiple VMs to ensure high
availability and reliability.
Both the Employees-sp pool and Webapp-sp pool connect to this database for
data storage and retrieval.
Summary:
The architecture uses Azure Application Gateway to route incoming tra ic based on URL
paths.
Tra ic Manager Profiles distribute tra ic for the /employees/* path between an
Employees-sp pool (90%) and Azure App Service (10%). Eventually all the requests will
start flowing to Azure App Service and traditional VMs in the VM pool(VM Scale Set)
would be discontinued, adopting Strangler Fig Pattern.
Both pools (Employees-sp and Webapp-sp) connect to an Azure MySQL database for
backend data operations.
This setup ensures migration of applications from on-premises to Azure Cloud and slowly
adopting the Azure Cloud Native service replacing the traditional VMs and on-premises services
also ensuring scalability, high availability and performance without any impact to end user and
minimal downtime.
2. Tra ic Manager
Additionally, we will factor in the cost of data transfer and storage. The costs provided are
approximations and might vary based on the actual usage and Azure pricing at the time.
2. Tra ic Manager
7. Data Transfer
Cost: 2048−5=2043 GB
2043×0.087=$177.74
With 20% YoY growth, the number of users and the associated costs will increase. For
simplicity, let's assume a linear increase in cost:
Given the rapid growth in the number of employees, the infrastructure will need to scale
proportionally to handle the increased load. Therefore, you should plan for a scalable solution
and consider additional costs for monitoring, security, and other operational overheads.
The initial monthly OpEx for the given Azure architecture is approximately $844.54, and it is
expected to increase with a 20% YoY growth. Therefore, periodic reassessment and optimization
of the architecture are crucial to maintain cost e iciency.
2. Load Balancers
3. Network Infrastructure
Assumptions
3. Network Infrastructure: Cost for network switches, routers, and other infrastructure.
5. Power and Cooling: Energy cost for running and cooling the data center.
1. Servers
For the equivalent of 4 VMs with specs similar to Standard D2s v3 (2 vCPUs, 8 GB RAM), we
would need 2 physical servers (assuming virtualization):
2. Load Balancers
3. Network Infrastructure
1. Servers: $277.78
4. Storage: $416.67
With 20% YoY growth, the infrastructure will need to expand. Assuming linear scaling for
simplicity:
Conclusion
The initial monthly OpEx for the given on-premises implementation is approximately $1,986.42,
and it is expected to increase with a 20% YoY growth. This comparison shows that on-premises
infrastructure might be more costly initially and requires substantial upfront investment in
hardware, which might not be the case with a cloud-based approach.
Servers 277.78
Maintenance and
Support 416.67
Total 1,986.42
Tra ic Manager 54
Total 844.54
10 | P a g e Manoj Jain
Summary
Detailed Comparison
Azure Cloud: Low initial investment as most costs are operational, paid monthly
based on usage.
3. Scaling:
Azure Cloud: Scaling is easier and more flexible, often just requiring a few clicks
or automated scaling rules.
11 | P a g e Manoj Jain
Azure Cloud: Maintenance and support are generally included in the service,
reducing the need for a large in-house support team.
5. Flexibility:
6. Disaster Recovery:
Azure Cloud: Built-in disaster recovery and high availability options are
available.
7. Security:
Azure Cloud: Security features and compliance certifications are integrated and
continuously updated by Microsoft.
Conclusion
Cost E iciency: The Azure cloud deployment is significantly more cost-e icient on a
monthly basis compared to an on-premises setup, primarily due to lower ongoing
operational expenses.
Scalability and Flexibility: Azure o ers superior scalability and flexibility, allowing the
organization to adjust resources dynamically based on demand.
Based on the cost analysis and additional benefits of flexibility, scalability, and lower
management overhead, deploying on Azure cloud is the more economical and practical
solution for most organizations, especially those experiencing rapid growth or requiring scalable
and resilient infrastructure.
12 | P a g e Manoj Jain
13 | P a g e Manoj Jain
Team needed for complete migration and
implementation.
To deploy and manage the described architecture, both in the cloud and on-premises, a skilled
and diverse team is necessary. This team should have expertise in various areas including cloud
infrastructure, networking, security, database management, and application development.
Here’s a composition of the team:
Responsibilities: Manage and automate the deployment, scaling, and monitoring of the
infrastructure. Implement CI/CD pipelines.
Skills: Proficient with infrastructure as code (e.g., Terraform, Azure Resource Manager
templates), CI/CD tools (e.g., Jenkins, Azure DevOps), container orchestration (e.g.,
Kubernetes), and scripting (e.g., PowerShell, Bash).
3. Network Engineer
Responsibilities: Set up, manage, and optimize the Azure MySQL database, ensure
data security, backup, and recovery.
5. Security Engineer
Skills: Proficient in security best practices, identity and access management (IAM),
encryption, and compliance standards (e.g., GDPR, HIPAA).
6. Application Developers
Responsibilities: Develop and maintain the web applications and services running on
the architecture.
14 | P a g e Manoj Jain
Skills: Strong programming skills in relevant languages (e.g., C#, JavaScript, Python),
experience with frameworks (e.g., .NET, Node.js), and knowledge of front-end and back-
end development.
Skills: Strong troubleshooting skills, customer service orientation, and familiarity with
the deployed systems and applications.
8. Project Manager
9. QA/Test Engineer
Skills: Expertise in testing methodologies, tools (e.g., Selenium, JMeter), and scripting.
Familiarity with automated testing frameworks
1 Project Manager
1 QA/Test Engineer
Conclusion
Deploying and managing the described architecture requires a multidisciplinary team with a mix
of technical skills and experience. The exact size and composition of the team might vary
depending on the complexity of the deployment, the specific requirements of the organization,
and whether the infrastructure is cloud-based or on-premises. Regular training and skill
updates are essential to keep the team adept with evolving technologies and best practices.
15 | P a g e Manoj Jain
Project Plan for implementation of above solution
Creating a high-level project deployment plan involves outlining the key phases and steps
required to deploy the architecture. This plan will include the major tasks, deliverables, and
milestones. Here's a structured deployment plan for the described architecture:
16 | P a g e Manoj Jain
Plan for scalability and redundancy
Provision Azure resources (VMs, Load Balancers, Application Gateway, Tra ic Manager,
Azure App Service, Azure MySQL Database)
17 | P a g e Manoj Jain
Configure network security groups (NSGs) and firewalls
10.1 Go-Live
18 | P a g e Manoj Jain
Monitor the system closely for issues
Project kicko
Team formation
Project planning
Architecture design
Application deployment
Monitoring setup
Performance optimization
19 | P a g e Manoj Jain
Data migration planning and execution
Go/No-Go decision
Go-live
Post-deployment support
Project closure
Conclusion
This high-level project deployment plan outlines the key phases and tasks required to deploy
the architecture. Each phase has specific deliverables and milestones to ensure a structured
and e icient deployment process. Regular reviews and stakeholder engagements are crucial to
ensure the project stays on track and meets the defined objectives.
20 | P a g e Manoj Jain