(Editor’s Note: Part 1 appeared yesterday here.)
Comparison of AWS, Microsoft Azure and Google Cloud Services
The following table describes the high-level comparison of Cloud Migration/adoption Services from AWS, Azure and Google Cloud.
Feature/Services | AWS | Microsoft Azure | Google Cloud |
Application Migration | AWS Application Migration Service (MGN) | Azure Migrate | Google Cloud Migration |
Database Migration | AWS Database Migration Service (DMS) | Azure Database Migration Service | Google Cloud Database Migration |
Infrastructure Migration | AWS Server Migration Service (SMS) | Azure Site Recovery | Google Cloud Migration for Compute Engine |
Application Discovery | AWS Application Discovery Service | Azure Migrate Discovery | Google Cloud Application Discovery Service |
Key Features | Lift-and-shift, Modernization, Minimal Downtime | Lift-and-shift, Assessment, Modernization | Lift-and-shift, Minimal Downtime, Data Replication |
App Hosting | Amazon elastic Beanstack | Azure Cloud Services | Google App Engine |
On-Premises-to-Cloud Peering | AWS Direct Connect | Azure ExpressRoute | Cloud Interconnect |
Compute Services | EC2, Lambda | Virtual machines | Compute engine |
RDBMS Database Services | RDS | SQL Database | Google Cloud SQL |
NoSQL: Key-Value | Amazon DynamoDB | Azure Cosmos DB | Google Cloud Datastore, Google Cloud Bigtable |
NoSQL: Indexed | Amazon SimpleDB | Azure Table Storage | Google Cloud Datastore |
Data Protection | AWS Key Management Service, AWS Certificate Manager | Key Vault, App Service Certificates | Cloud KMS & Cloud HSM |
Storage Services | Amazon Simple Storage (S3), EBS | Blob Storage, Azure Files | Cloud Storage |
PaaS | AWS Elastic Beanstalk | Azure App Service | Google App Engine |
Configuration | AWS Config | Azure Policy and Azure Automation | Google Cloud Configuration Service |
Container | AWS Elastic Container Service, Elastic Kubernetes Services | Azure Container Apps, Azure Kubernetes Service | Google Cloud Run, Google Kubernetes Engine |
Serverless Functions | AWS Lambda | Azure Functions | Google Cloud Functions |
Elastic Load Balancer | Elastic Load Balancing (ELB) | Azure Load Balancer | Cloud Load Balancing |
Content Delivery Network | Amazon CloudFront | Azure CDN | Cloud CDN |
Key Management Services | AWS KMS | Azure Key Vault | Google Cloud KMS |
Supported Sources | On-premises, VMware, Other Clouds | On-premises, VMware, Hyper-V, Other Clouds | On-premises, VMware, Other Clouds |
Schema Conversion | AWS Schema Conversion Tool (SCT) | Azure Schema Conversion Tool (SCT) | Google Cloud Schema Conversion Tool (SCT) |
Identity & Access Management | AWS Identity & Access Management (IAM), IAM Identity Center, Amazon Cognito, AWS Directory Service | Microsoft Entra ID, Azure RBAC | Cloud Identity & Access Management, Identity Platform |
Network & Application Protection | AWS Web Application Firewall and AWS Shield | Azure Web Application Firewall, DDoS Protection Service | Google Cloud Armor, Google Cloud Armor Managed Protection Plus |
DNS Services | AWS Route S3 | Azure Traffic Manager | Cloud DNS |
Log Monitoring | Amazon Cloud Trail | Azure Operational Insights | Cloud Logging |
Performance Monitoring | Amazon CloudWatch | Azure Application Insights | Stackdriver Monitoring |
DevOps | AWS CodePipeline, AWS CodeBuild, AWS CodeDeploy, AWS CodeStar | Azure Boards, Azure Pipelines, Azure Repos, Azure Test Plans, Azure Artifact |
Cloud Build, Artifact Registry, Tekton, Google Cloud Deploy, Binary Authorization, Operations Suite |
AI & Machine Learning | Amazon Polly, Amazon Transcribe, Amazon Lex, Amazon SageMaker, Amazon Bedrock | Azure AI Immersive Reader, Azure AI Metrics Advisor, Azure Machine Learning, Azure Content Moderator | Vertex AI Studio, Translate AI, Gemini Code Assist, Document AI, Dialogflow |
Automation | AWS Opsworks, Automated Migration Planning, AWS Migration Hub | Azure Automation, Automated Migration Planning, Azure Migration Center | Compute Engine Management, Automated Migration Planning, Google Cloud Migration Hub |
Compliance | AWS Cloud HSM | Azure Trust Center | Google Cloud Platform Security |
Monitoring | Amazon CloudWatch | Azure Monitor | Google Cloud Monitoring Service |
Business Analytics | Amazon QuickSight, Amazon Kinosis | Azure Stream Analytics,
Azure BI Tool |
Cloud Dataflow, BigQuery |
Hybrid & Multi Cloud Capabilities | AWS Direct Connect extend its cloud services into non-cloud environments, offering enhanced security and observability | Azure ExpressRoute connects the cloud to on-premises services | Google Anthos allows to run applications on-premises, in the cloud, or across multiple clouds, providing flexibility and avoiding vendor lock-in |
Open-Source Support | WS CLI, SDK and CDK supports Open Source
|
Strong Open Source Support.
Visual Studio Code |
Strong Open Source Support. Knative, a serverless solution for running applications on Kubernetes |
In summary, AWS Cloud Platform offers lot of tools and services for the cloud adoption, provides robust security features. The platform is highly scalable and reliable.
Microsoft Azure Cloud Platform offers vast cloud services, provides strong Microsoft integration features and supports hybrid cloud strongly. Azure is the best option for the existing Microsoft infrastructure.
Google Cloud Platform supports hybrid cloud environments and is best suited for next generation technologies like AI and ML. It provides high levels of Open-source technologies.
Best Practices for Cloud Migration
Cloud Migration is a sequence of steps to be performed to have cloud migration objectives of the organization met as per the business drivers. Based on the author’s experience on various Cloud Migration initiatives, 70% of businesses have only one application on the Cloud. There are several Cloud migration approaches and can be customized or fine-tuned based on the business drivers and available application inventory.
Below are the best practices that help to manage organization applications and solutions in the most secure manner on the Cloud.
A. Change in philosophy: in the cloud model best practices recommend is to “design for failure” instead of “design not to fail”, which is a totally different (but robust) approach
B. Perform POC: As part of the proof of concept, choose small application as a case for the migration. Define the migration plan and migrate the application. Assess the gaps and arrive at the master migration plan. Test the workload and estimate the resources like storage size, number of VM’s required, network bandwidth and security controls that an application requires for the migration. Design a framework to ensure that the cloud migration meets all the requirements and assures compatibilities for cloud journey. The POC helps the stakeholders to change their mindset and understand the benefits of cloud migration.
C. Move Group Identification: The identification of applications which can move on to the cloud are classified as Move Groups. Move Groups are logical grouping of applications, which transformed and migrated together to cloud as per the defined timelines. The move groups are identical to both production and non-production environments. The applications in scope are logically grouped together into Move Groups for transformation and migration within a defined timeline. More than one move group may run in parallel, and a move group may start after completion of other.
D. Application migration approaches: Need to adapt various migration approaches depending on short term and long-term business/technical goals. These approaches classified as 6R
- Re-hosting: It can be done using automated tools or manually. It’s called “Lift-and-Shift” of the applications
- Re-platforming: Determine the new platform and modify the underlying infrastructure. No change to the existing architecture
- Replace: Moving to a different product. Its preferably, moving to SaaS platform
- Re-architecting: Redesign the application and Infrastructure architecture using cloud-native features
- Retire: Decommissioning of the application
- Retain: Continue to use the application as is state
E. Multi Cloud Environment: This step helps to decide on the application to run on single cloud environment or multiple cloud environment. Single cloud provider leads to vendor lock in. Moving the application to a different cloud provider consumes more effort. The various models for using multiple cloud providers are,
- One application in one cloud: One category of applications runs in one cloud provider and another set in another. This approach gives increased business advantages and flexibility.
- Split application across multiple cloud providers: Parts of an application run in one cloud provider and other parts of it in another. This approach helps to leverage the advantages of each cloud provider.
- Cloud agnostic Application: These types of applications run on any cloud provider. The application simultaneously runs on multiple providers or split application load across providers. This model gives the flexibility to shift loads from one cloud provider to another
F. Automation: Automation provides the ability to build infrastructure as code and automatically deploy the applications without any downtime. During the migration of multiple applications, organizations come across repeatable patterns that need to be automated. It will cut down on migration time, provide more consistency, and spread an automation thought process across the teams so that they can see the real benefit of moving to the cloud. Adopt migration factory that leverages remote delivery for scheduling and monitoring of jobs. This reduces cost of labor, time and onsite professional services for cloud journey, drastically.
G. Data Migration: Conduct a data assessment of the candidate identified and complete data migration from production to Cloud. Organizations sent the on-premises data sets to the cloud provider to be uploaded into the cloud. Still host application in the existing customer data center and point it to the data migrated in cloud. This is usually the best method to migrate large volumes of data in bulk.
H. Virtualization: This is quick and easy migration to cloud as no changes will be required to the application. These workloads transferred to the cloud, by a mechanism called lift-and-shift or re-hosting process. This is the fastest way to migrate applications, but the process requires proper instance sizing and configuration optimization to meet performance and user experience goals. This is suitable for legacy applications.
I. Database migration: This process covers data replication, data loading and moving multifaceted databases to cloud databases. Plan for proper archival and backup strategy for data. As a best practice, keep the dynamic data close to compute and static data close to the user. This can be done by leveraging traditional caching techniques.
J. Integration: Cloud migrated applications shall communicate over internet to the applications on premise. This could lead to performance and bandwidth-related issues. Need to develop high performance applications.
K. Licensing: Check for current set of tools/software used to support cloud-based licensing model. For ex: planning to leverage the elasticity of cloud computing make sure that licenses are compatible
L. Vendor lock-in: Do not utilize the cloud vendor services, which leads to lock-in with vendor. Need to weigh in the pros and cons of which services to use and what extent.
M. Budget Planning: The Cloud computing survey report goes on to highlight that businesses are likely to spend 28% of their IT budgets on building a better Cloud infrastructure for their organization. A move to the Cloud can influence the CFO in two ways – A better cash flow and Capex converting to Opex. It is up to the organization to prioritize and decide whether this is in line with the organization’s financial goals.
N. Monitoring and Governance: Build a Cloud Center of Excellence with multiple cross-functional teams of people who are responsible for development & management of cloud strategy, governance and best practices for the organization. Organizations should adopt the agile methodology and work in sprints to perform mass migrations in addition to providing continuous learning and improvement to the entire migration process.
O. Migration Architect: Establish the migration architect role to lead the effort. The migration architect is a system architect-level position responsible for planning and completing all aspects of the migration. The core responsibility of Migration Architect include defining necessary refactoring required to make the migration successful, designing strategies for data migration, defining cloud-solution requirements, and determining migration priorities and production switchover mechanisms. This will eventually leverage the rest of the business units in organization to shift to cloud technology, smoothly.
P.Skill Management: The end goal for the team is the effective management of resources to keep applications up and running and meet business goals. The team consisting of Operations, development and design needs to be trained on cloud and its design principles. The team also to be trained in migration to develop a template and automation around the migration.
Summary
A move to the Cloud is inevitable. Migrating organization applications to cloud results in reduction or eliminate costs, accelerate time to market, and drive additional revenue, freeing up resources to innovate and focus on core business. In summary, the following are the recommendations from the author based on various customer engagements performed in Cloud Migration space,
- Choose the right Cloud provider, each provider has specific strengths and weaknesses. Evaluate them properly for the fitment of the customer needs
- Usage of right migration tools. No Vendor Lock-In of the application
- Move to agile operating model
- Mostly, Private and Hybrid Clouds to replace data centers of the customers
- Huge demand from customers on reducing Capex and Opex
- Maximize productivity with scalability and high availability
- Always migrate Development and Testing environments on to cloud
- Always, move Core functions to private cloud and non-core to public cloud
- Wherever possible, adopt hybrid model, its safe bet
- Transform architecture to a scale out capability and enabled for dynamic API based interaction
- Bring cloud native capabilities to application and transform to deliver real-time capabilities and work on actionable data
- Drive cost takeout by driving higher level of automation and reducing projects and run costs
- Having skilled staff ready. Staff need to know all the new technologies and processes. For ex: Microservices, DevOps, API Management, AI etc.
Additionally, there is no one-size-fits-all answer when choosing between AWS, Azure and GCP. The best choice always depends on the specific use case. GCP excels in AI, machine learning, and big data applications. Azure is particularly strong in integrating with Microsoft infrastructure. AWS, however, stands out by offering the most diverse range of services, making it ideal for complex requirements and large-scale projects.
CXO’s, Architects and IT Leaders can leverage the structured Cloud Migration Framework explained in this playbook that ensures the alignment of Organization goals and objectives. Also, the Leaders can adopt the recommendations from this playbook to suit their organizations needs from simple Lift and Shift to Re-architect and hybrid cloud solutions.
References
1.https://www.opensourceforu.com/2024/11/managing-a-hybrid-cloud-an-overview/
- https://www.opensourceforu.com/2022/09/why-enterprises-should-opt-for-platform-as-a-service/
- https://dzone.com/articles/hybrid-multi-cloud-strategy-winning-theme-for-ente
Acknowledgements
The authors would like to thank Tanay Srivastava, Director, Tricon Solution LLC for giving the required time and support in many ways in bringing up this playbook as part of Technical Services efforts.
About the Author
Dr. Gopala Krishna Behara is an Enterprise Architect at Tricon IT Solutions. He has around 28 years of IT experience. He can be reached at gopalakrishna.behara@triconitsolutions.com.
Disclaimer
The views expressed in this article/presentation are that of authors and Tricon Solutions and does not subscribe to the substance, veracity or truthfulness of the said opinion.