Start with the job the service does
A recruiter asks which cloud you know. Ada has built the shop on Azure, but the next client uses AWS. She recognises the jobs immediately: somewhere to run code, somewhere to store images, and an identity allowed to read them. She does not yet know that client’s defaults or permission system. This class gives you a translation starting point, then shows what you must check before treating two services as interchangeable.
Google Cloud is sometimes shortened to GCP, for Google Cloud Platform. You will see both names in articles and job postings. A cloud provider is the company operating the services you use. A region is a geographic area where it offers resources; available services and prices can vary by region.
- Building block
- A basic capability used in a larger application. Some articles call this a primitive. For example, a virtual machine provides a computer in software; object storage holds files as named objects.
Start with three building blocks:
- Compute
- Resources that run software. A virtual machine (VM) can run the shop's web application on an operating system such as Linux.
- Storage
- A place to keep information. Object storage can hold a product photo under a name such as products/red-mug.jpg.
- Identity and access
- Ways to recognise a user or application and decide what it may do. A staff member might be allowed to view a system but not change it.
This class builds a comparison habit: name the job, find possible services, then check the details. A provider's size or popularity cannot answer whether it meets your application's needs.
Similar jobs, different services
Amazon EC2, Azure Virtual Machines and Google Compute Engine all offer virtual machines. That is a useful starting point for a comparison. A particular VM size still has its own processor, memory, disk options, limits and price.
Shared category: virtual machines
Use Table 1 as a lookup guide. Begin with the first three rows, which describe computers, file storage and functions. A function is a piece of code run in response to an event, such as a new photo being uploaded. Serverless means the service manages the execution infrastructure; the code still runs on computers.
| Job or category | AWS examples | Azure examples | Google Cloud examples |
|---|---|---|---|
| Virtual machines | EC2 | Virtual Machines | Compute Engine |
| Object storage | S3 | Blob Storage | Cloud Storage |
| Event-triggered functions | Lambda | Azure Functions | Cloud Run functions |
| Virtual networks | VPC | Virtual Network (VNet) | VPC |
| Relational databases | RDS / Aurora | Azure SQL Database; Azure Database for PostgreSQL / MySQL | Cloud SQL |
| Non-relational databases | DynamoDB | Cosmos DB | Firestore |
| Resource permissions | IAM | Azure RBAC | IAM |
| Workforce identity and sign-in | IAM Identity Center | Microsoft Entra ID | Cloud Identity |
Each row groups related capabilities, rather than promising a direct replacement. Microsoft's AWS comparison and Google's three-provider comparison provide starting points for further checks.1
Read the storage row with an example
In Amazon S3, the photo is an object with a name, content and metadata (information about the object). Azure Blob Storage offers object storage too. That makes it a candidate for the same category of job. You still check how the application connects to it, who can read it, how it is recovered and what its operations cost.
Azure Files offers managed file shares: a file-system style of access. It can be useful, but the word “files” alone does not make it the closest match to S3. Ask how the application uses its storage.2
Read the database row with care
A relational database stores related information in tables, such as customers and their orders. The database engine is the software that manages those tables and queries. SQL Server, PostgreSQL and MySQL are different engines. “Managed relational database” is too broad to approve a migration: check the engine, supported versions and application compatibility.
A non-relational database uses other data models, such as documents or key-value records. DynamoDB and Cosmos DB belong in that broad comparison, but their APIs (ways software calls a service), queries and behavior need separate checks. Naming a similar service is the beginning of migration planning.3
Separate sign-in from resource permission
Authentication checks an identity: “Who are you?” Authorization checks an action: “May you restart this virtual machine?” In Azure, Entra ID provides identity and access capabilities; Azure role-based access control (RBAC) grants permissions to Azure resources. Entra directory roles also exist, so the type of task matters.
AWS Identity and Access Management (IAM) covers authentication and authorization for AWS resources, including supported cross-account access. It is not an exact replacement for just one Azure product. For the concrete Azure task of granting an engineer permission to manage a VM, look at Azure RBAC.4
More categories you will meet later
Use these as reference names when the course introduces the topic.
| Job or category | AWS examples | Azure examples | Google Cloud examples |
|---|---|---|---|
| Managed Kubernetes: coordinating containers | EKS | AKS | GKE |
| Content delivery: serving content closer to users | CloudFront | Front Door | Cloud CDN |
| Messaging: passing work or events between services | SQS / SNS | Service Bus / Storage Queues | Pub/Sub |
| Secrets and encryption keys | Secrets Manager / KMS | Key Vault | Secret Manager / Cloud KMS |
| Monitoring: measurements and logs | CloudWatch | Azure Monitor | Cloud Monitoring |
| Infrastructure as code: defining resources in files | CloudFormation | ARM / Bicep | Infrastructure Manager |
These are broad categories. For messaging, for example, verify whether you need a queue of work or messages published to subscribers, along with ordering, retries and delivery behavior. The services in a row can differ substantially.
Practise three service decisions
First choose Azure object storage for a named photo. Then choose a service for event-triggered code. Finally decide how to grant permission to restart an Azure VM. Drag each item or use the destination buttons. A wrong choice explains the difference and lets you try again. Use Next when you have finished reading the feedback.
Choose with requirements and evidence
A team already using Microsoft 365 has a reason to evaluate Azure's integration with its existing identities and working practices. It still needs to configure access, check licences and assess the application. Paying for Microsoft 365 does not make Azure compute free.
Write down what the application must do before choosing its services. For the online shop, a useful assessment includes:
- Application fit. Can the service run the required code, database and supported versions?
- Access and data. Can staff and applications get the access they need? Can you meet the required data-location and protection rules?
- Performance and recovery. Test response times, peak demand and recovery after a failure.
- Total cost. Include computing, storage, requests, data transfer, licences, support and the team's operating work.
- Team readiness. Identify who can build, monitor and troubleshoot the selected services, and what training is needed.
Existing accounts, contracts and staff skills are inputs to this assessment. They do not remove it. If a particular Google Cloud or AWS service meets a requirement better, compare that benefit with the work of connecting and supporting another provider.
For example, reusing Entra identities still requires appropriate Azure role assignments. Registering a local machine with Azure Arc is a management step, not a migration of its application. Check the required features, licence and connectivity rather than assuming that “Microsoft integration” configures everything.
Reuse the reasoning; learn the implementation
Learning one provider gives you useful questions to ask about another. Least privilege, for example, means giving an identity only the permissions it needs. That question applies across providers; the actual roles and policy rules vary.
A concrete networking difference: a Google Cloud VPC network is global and its subnets are regional. An AWS VPC and an Azure virtual network are regional. A subnet is a subdivision of a network. Similar names therefore need different design checks; a global network does not make every application fast or highly available.5
A console or portal is the provider's browser interface. A command-line interface (CLI) lets you manage services with typed commands. Learn both as practical tools. Commands, permission formats and troubleshooting steps can change when you switch provider; there is no universal “one week” learning time.
Using more than one provider
Multi-cloud means using services from multiple providers. It may mean separate applications on each, or one application using services from both. Those are different operating plans. Write down the reason, connections, access controls, transfer costs and recovery tests. Moving data and code between providers may require changes even when both offer the same broad category of service.
Why we practise on Azure
This course uses Azure so you can follow one connected path from basic resources to projects, automation and operations. The instructor's Azure experience supplies concrete examples. As you learn, keep asking which part is a general idea and which part is an Azure-specific implementation.
For a job requiring AWS or Google Cloud, show evidence of relevant skills and identify what still needs practice on that provider. A comparison table helps you start that work; it does not replace hands-on experience or guarantee a job.
Azure is the candidate we will test
In our example, the shop already uses Microsoft 365 and has six engineers. The team proposes Azure for a storefront pilot because it wants to evaluate existing identity integration and its team's skills. The later builds use an Azure design for practice.
The proposal still needs a cost estimate, access configuration, licence checks and performance/recovery tests. Existing Microsoft accounts do not automatically grant access to Azure resources. The point-of-sale job from Class Three stays on its physical machine while its licence question is unresolved. Choosing a provider does not resolve that separate restriction.
Compare three VM estimates
Do one provider completely before opening the next. Steps 1 and 2 are the whole first result: one Azure estimate with its assumptions written down. Only then add AWS and Google. This is a calculator exercise. Stay in the pricing tools; creating resources is a separate step that can incur charges.
Write the shared assumptions first: one Linux VM, approximately 2 virtual CPUs (vCPUs) and 8 GiB of memory, USD, 730 running hours per month, with no long-term commitment or promotional credit. A vCPU is a unit of virtual processing capacity; matching its count does not prove equal performance. GiB is a memory-capacity unit; record the unit each provider displays.
Your note: Use a comparable geographic area, then record the exact region on each provider. A geographic area does not have identical region names across providers.Open the Azure pricing calculator and add Virtual Machines. Choose a currently available size near the target, Linux, one VM and pay-as-you-go pricing. Record its size name, region, currency, hours and compute estimate.
Check: Note any disk or other items included in the estimate. Record assumptions separately from the amount.Open the AWS Pricing Calculator and create an Amazon EC2 estimate. Select a comparable Linux instance and on-demand usage. Record the same details, including the processor architecture if shown.
Check: An instance with a similar CPU/memory count can have different hardware and operating behavior.Open the Google Cloud Pricing Calculator and add Compute Engine. Choose a comparable size, Linux and no commitment. Record the same details. Review the pricing assumptions and discounts the calculator applies.
Check: Use the public estimate; account-specific prices may require signing in.Put the three estimates side by side. Note differences in sizing, included items and assumptions before comparing amounts. List remaining costs to estimate: disks, backups, data transfer, monitoring, licences and support.
Your conclusion: “Under these assumptions, the compute estimates are __. Before choosing, I would test __ and include __.” Different amounts are a result to investigate, not a failed exercise.
Record the date. Calculator labels, products, regions and prices change. Estimates with similar CPU/memory counts do not prove equivalent performance, a complete application bill or the best provider for your workload.
What else changes when you choose a provider?
The application is only part of the decision. Someone has to support the connected system.
Who will investigate a failed deployment or restore lost data? Include training and documented procedures in the plan.
List the database, identity service, network connections and application APIs the system needs. Check how a change to one affects the others.
Compare the resource bill and the work to run it. Neither staff effort nor transfer cost is automatically the largest expense; estimate each for this workload.
Test a data export and a restore. Keep enough documentation to evaluate a future change rather than assuming an application is portable.
A useful recommendation names the requirements, evidence, assumptions and checks still needed.
Ask one useful follow-up question
A partner says, “Our application runs on EC2 behind a load balancer in a VPC.” You recognise a virtual machine, a service distributing requests, and a virtual network. Ask what response time, access and recovery the design needs. Then compare actual Azure candidates with those requirements instead of translating names alone.
Complete one fair comparison
Use the fictional evidence below. This is a desk exercise; it does not provision Azure resources or measure a live service.
Illustrative compute only: Provider A: $0.10/hour × 100 hours = $10 Provider B: $0.08/hour × 100 hours = $8 Neither includes disk, transfer or support
Recalculate both amounts; label them training inputs.
List three missing bill items and two runtime requirements.
Use the existing calculator lab to replace these inputs with dated quotes for the same workload.
Check your reasoning after you finish
The arithmetic gives $10 and $8, but $8 is not evidence of a cheaper complete application. Record region, currency, hours, disk, networking and support; then check runtime and measured performance.
Check your understanding
Four graded drills and two unscored situations. Write your reasoning before revealing the model response. Practice preserves the first-attempt score; the game can save progress in this browser.
B: Azure Blob Storage. It offers object storage. Azure Files offers file shares; SQL Database stores relational data; a VM provides computing. Before choosing Blob Storage for a migration, check the application's connection method, access, recovery and costs.
B. Existing Microsoft identities are a reason to evaluate Azure; the analytics requirements are a reason to evaluate those Google Cloud tools. Neither fact alone determines the whole design. Compare evidence and decide whether the workloads should share a provider or justify different arrangements.
Select the statements about related service categories, checking transfer charges, and learning each provider’s implementation. Similar categories help you start. Transfer charges depend on the route, allowances and service; not every transfer is billed. Permissions, tools and networking details still need checks and practice. For example, Google Cloud VPC networks are global with regional subnets, while AWS VPCs and Azure VNets are regional.
CANDIDATES TO INVESTIGATE — AWS to Azure
1. S3 -> Azure Blob Storage
2. EC2 -> Azure Virtual Machines
3. Lambda -> Azure Functions
4. DynamoDB -> Azure SQL Database
Line four. DynamoDB uses non-relational key-value and document models; Azure SQL Database is relational. Cosmos DB is a candidate in the non-relational category, but its data model, APIs and behavior still need assessment. Even the other three lines are candidates to investigate, not automatic migration approvals.
Concede the experience gap. “My projects use Azure, so I would not claim production AWS experience. I can show the network and access controls I built, the failure I diagnosed, and the recovery I actually tested.” Give the recruiter a concrete project rather than a promise about how quickly you will learn.
Translate one useful idea. “EC2 is a starting comparison for a VM. I still need to learn this team’s AWS identity policies, network boundaries, deployment tooling and operating routines.” Related service names help you ask useful questions; they do not certify that your Azure configuration transfers unchanged.
Offer a small proof. Ask which AWS skill matters most to the role and propose a disposable build demonstrating it. Keep the scope and cost explicit. That creates evidence for the next conversation, while respecting a role that may require experience beyond this bootcamp.
Start with the manager’s reason. “What changed in the pilot’s requirements?” Popularity can affect recruitment or vendor support, but it is not itself proof that this shop will run better. Ask which benefit the manager expects and who would operate the new platform.
Compare the whole change. Check the current pilot against that requirement. Compare the other provider’s relevant capability, dated cost assumptions and a representative measured task. Include code changes, data movement, new access configuration, team training and the transition period in the switching work.
Offer a decision with evidence. Recommend staying, switching or investigating further based on those checks. Existing Microsoft accounts are one input; they neither settle the choice nor pay for Azure compute. Record unresolved questions and a small next experiment so the team can revisit the decision without turning it into a provider loyalty argument.
Five things to take into your next class
- Start with the job: running code, storing information, connecting services or controlling access.
- Similar service categories create a shortlist. Features, configurations, APIs and prices still need comparison.
- Choose with application requirements, tests, total costs and team skills. Existing accounts are one input.
- Reuse the reasoning across clouds, then practise their permissions, networking and tools. Learning time varies.
- For an Azure VM permission, use Azure RBAC. Identify the actual task before comparing identity products.
- The official AWS-to-Azure comparison and Google Cloud comparison group related capabilities. For messaging, see the AWS/Azure messaging comparison. Function hosting and billing vary by plan; see Azure Functions hosting options. ↩
- Read the introductions to Amazon S3 and Azure Blob Storage before planning an object-storage move. Compare their object access with Azure Files’ file shares. ↩
- The AWS/Azure database comparison distinguishes engines and non-relational options. Check the actual data model and supported application interface. ↩
- See AWS IAM, Microsoft Entra and Azure RBAC for their scopes. Each product covers particular identity or access tasks. ↩
- Compare the network boundaries in Google Cloud VPC, Amazon VPC and Azure Virtual Network. ↩
Identify related cloud services, explain their differences, and choose the checks needed before selecting a provider.
Play the lesson above to stamp this class.
Next: who you are in Azure, and who gets to say yes.
Next · Entra, Subscriptions & Resource Groups →