| Plain English | AWS | Google Cloud Platform | Other | Open-source |
|---|---|---|---|---|
| API-driven VMs for compute | EC2 | Compute Engine VM | N/A | |
| Launch template for EC2 with knobs for adjusting scaling group size (ie. instance count). Use it just to get the ‘replace failing instance’ feature. | EC2 Autoscaling | N/A | ||
| A virtual appliance, which is a read-only filesystem including (1) a template for the root volume for the instance (eg. operating system); (2) launch perms, (3) block device mapping. | AMI (Amazon Machine Image) | Compute Engine Machine Images | Open Virtualization Format (OVF) | |
| IPtables at the VM level. (possibly some AWS custom sec group tagging stuff going on too) | Security Group | Linux iptables | ||
| Run code serverlessly, dealing only with resource requests and cold-starts. Facilitated by microVMs (eg. Firecracker) in the case of AWS Lambda. | Lambda | Cloud Functions, Cloud Run (uses containers) | OpenFaas, KNative | |
| Managed Postgres, MySQL, SQL Server | RDS | CloudSQL | unmanaged MySQL etc | |
| Higher performance PostGres or MySQL. Faster crash recovery, failover; lower read latency. | Aurora | N/A | ||
| Massively scalable SQL database (whitepaper) | Cloud Spanner | Vitess | ‣ | |
| Buy a new domain and/or set up the DNS records for a domain. | Route53 | Cloud DNS | ||
| AWS-specific container orchestration system, organizing around the cluster, task, and service abstractions. (service is a collection of tasks). Has fargate launch-type which provides serverless functionality; you don’t worry about provisioning EC2 instances. | ECS | ‣ | ||
| Managed Kubernetes clusters. They do the control-plane: etcd persistence store, API server, scheduler, controller manager. |
(AWS provides fargate serverless functionality to avoid provisioning EC2 instances) | EKS | GKE | | ‣ | | Managed partitioned log in the cloud. ‘Log as a service’. Very similar to Apache Kafka. | Kinesis | Pub/Sub* | Confluent Cloud | ‣, Redis streams | | AWS’s cloud data warehouse | RedShift | | Snowflake | | | Key-value based object/blob storage | S3 | Cloud Storage | | ‣ | | The networking layer for Amazon EC2.
The following are the key concepts for VPCs:
(Dremel whitepaper) | | BigQuery | | |
| Cloud publish-subscribe system, with per-message parallellism, as messages don’t have to be processed in-order (unlike Kafka) you aren’t limited to subscribers ≤ partitions.
“Allows services to communicate asynchronously, with latencies on the order of 100 milliseconds”. | | Pub/Sub | | ‣ |
| Managed Apache Spark (or Flink) | EMR | DataProc | | ‣ |
| Fine-grained access control over cloud services and resources | IAM | IAM | | N/A |
| | Secrets Manager | Secret Manager | | |
| Managed Redis and Memcached | ElastiCache | MemoryStore | | ‣, ‣ |
| NoSQL: indexed, document | | Firestore | | |
| NoSQL: key-value | | Bigtable (whitepaper) | | ‣ |
| NoSQL: indexed, document | DocumentDB | Datastore | MongoDB | |
| Managed Apache Airflow | Amazon Managed Workflows for Apache Airflow (MWAA) | Cloud Composer | astronomer.io | ‣ |
| Business intelligence platform for those who don’t know SQL | QuickSight | Looker | | |
| Emulating a traditional block device (eg. hard drive) in the cloud. A form of network-attached-storage (NAS). | Elastic Block Store (EBS) | Persistent Disk | | |
| Managed NFS file store. So provides a file-level interface over the network, as opposed to EBS which is block-level. | Elastic File System (EFS) | Filestore | | |
| GPU-enabled VMs | EC2 ‘P’ class | Cloud GPUs | | N/A |
| Build, test, and deploy code using (serverless) cloud services. | AWS CodeBuild, AWS CodeDeploy, AWS CodePipeline | CodeBuild | Github Actions, Buildkite | |
| A CDN hoovers up files from a central repository (called an origin) and stores copies close to users. Back in the dark ages, the origin was a CDN's FTP server. These days, origins are just web apps and the CDN functions as a proxy server. So that's what we're building: a distributed caching proxy. | CloudFront | Cloud CDN | Cloudflare | |
| Managed messaging service for both application-to-application (A2A) and application-to-person (A2P) communication. | SNS | Pub/Sub* | | |
| Highly durable queue in the cloud. Infinitely scalable on ‘loose FIFO’ setting. 300msg/s limit for FIFO.
One consumer per message. A read message starts a ‘visibility timeout’ clock, and consumer must mark delete within timeout o/w msg back on queue. | SQS | Cloud Tasks*, Pub/Sub* | | ‣ | | | Fargate | Knative | | Knative | | low-code, visual workflow service that developers use to build distributed applications, automate IT and business processes, and build data and machine learning pipeline | Step Functions | similar-ish, Workflows | | | | Orchestrate and automate Google Cloud and HTTP-based API services with serverless workflows, using YAML config and/or SDKs. | similar-ish, Step Functions | Workflows | | | | | | Dataflow | | ‣ | | Low-cost and slow (mins, hours) read performance object storage for data archival. | S3 Glacier | Cloud Storage Archive | | N/A | | Managed cloud container registry, probably following the OCI Distribution Specification. | Elastic Container Registry (ECR) | Container Registry, Artifact Registry | | OCI Distribution Specification | | | X-ray | Cloud-trace | | ‣ | | Observability of cloud services and resources | CloudWatch | Cloud Monitoring | | | | Outgoing internet connectivity for resources without external IPs via network-addr-translation (NAT). | VPC NAT services | Cloud NAT | | | | Proxy HTTP requests to backend instances. Layer 7 balancer operating at ‘application’ level of OSI model. Terminates the network traffice and reads the message, so new TCP/IP connection is established between LB and chosen backend.
Adds a couple of millisecs to each request. Slower than NLB. | AWS Elastic Load Balancing - Application (ALB) | Cloud Load Balancing | | | | Route network packets, layer 4 of OSI | AWS Elastic Load Balancing - Network (NLB) | Cloud Load Balancing | | | | Suite of products for ML people, including IDE, data labelling, feature store, model monitoring, pipelines, CI/CD, model serving, AutoML/Autopilot, edge deployment.
What a hot mess. | Sagemaker | Vertex AI | | | | | API Gateway | Apigee API Management | | | | Consul in the cloud? | Cloud Map | Service Directory | Consul by Hashicorp | ‣ | | | Elastic Network Interface (ENI) | | | |