AWS Services Overview

AWS Services Overview

Amazon Web Services provides a broad set of global cloud-based products.


AWS offers a wide range of compute services to run applications.

EC2 (Elastic Compute Cloud)

Virtual servers in the cloud with a wide selection of instance types.


Serverless compute service to run code without provisioning servers.

ECS (Elastic Container Service)

Container management service that supports Docker containers.

EKS (Elastic Kubernetes Service)

Managed Kubernetes service to automate container operations.

AI and Machine Learning

Tools for artificial intelligence and machine learning projects.


Fully managed service that provides every developer and data scientist with the ability to build, train, and deploy machine learning models.


Service that makes it easy to add image and video analysis to applications.


Natural language processing (NLP) service that discovers insights from text.


Service for building conversational interfaces using voice and text.


Secure, durable, and scalable storage services for data backup and archiving.

S3 (Simple Storage Service)

Object storage service offering scalability, data availability, security, and performance.

EBS (Elastic Block Store)

Block level storage volumes for use with EC2 instances.


Low-cost cloud archive storage for data archiving and long-term backup.

EFS (Elastic File System)

Managed file storage for use with AWS Cloud services and on-premises resources.

Data Engineering

Services to collect, store, process, and analyze big data.


Fast, fully managed, petabyte-scale data warehouse service.

EMR (Elastic MapReduce)

Managed Hadoop framework to process huge amounts of data.

Data Pipeline

Web service to process and move data between different AWS compute and storage services.


Real-time data streaming service to easily collect, process, and analyze video and data streams in real time.

Servers Overview

Servers are powerful computers designed to provide services and manage network resources for other computers, known as clients, over a local network or the internet. They run specialized software to handle tasks like hosting websites, managing emails, storing files, and running enterprise applications.

Types of Servers

There are various types of servers based on their functions, including:

Physical vs. Virtual Servers

Servers can be physical, standalone machines dedicated to specific tasks, or virtual, where server software is run on a physical server but operates independently due to virtualization technology.

Server Hardware Components

Key hardware components of a server include:

Server Software

Servers typically run on operating systems (OS) designed for multi-user and multitasking environments such as Linux distributions, Windows Server, or UNIX-based systems. They also run server applications specific to the services they provide.

Definition of Serverless Computing

Serverless computing is a cloud-computing execution model in which the cloud provider automatically manages the allocation and provisioning of servers. Users can run code for applications or backend services without the need to manage the infrastructure themselves. This means developers can focus on writing code while the cloud provider handles the complexity of server management, scaling, and maintenance.

Characteristics of Serverless Compute Services

Popular Serverless Computing Services

Here's a detailed summary of each service category in Azure Cloud, with highlights of some key services in each category: ### Compute - **Virtual Machines**: Infrastructure as a Service (IaaS) offering for running virtualized servers with a variety of configurations and operating systems. - **App Service**: Platform for hosting web applications, REST APIs, and mobile app backends with support for multiple languages and frameworks. - **Function Apps**: Event-driven, serverless compute leveraging Azure Functions for executing code in response to triggers. - **Azure Kubernetes Service (AKS)**: Managed Kubernetes container orchestration service, simplifying deployment, management, and operations of Kubernetes. ### Networking - **Virtual Network**: Provision private networks, optionally connecting to on-premises data centers. - **Load Balancer**: Offers high availability and network performance to your applications. - **VPN Gateway**: Establishes secure, cross-premises connectivity between Azure and on-premises. - **Azure DNS**: Hosting service for DNS domains, providing name resolution using Microsoft Azure infrastructure. ### Storage - **Blob Storage**: REST-based object storage for unstructured data, perfect for images, documents, and backup. - **File Storage**: Managed file shares for cloud or on-premises deployments. - **Queue Storage**: A messaging store for reliable messaging between application components. - **Disk Storage**: Offers high-performance, durable block storage for Azure Virtual Machines. ### Databases - **Azure SQL Database**: Managed relational database service with auto-scaling, high-availability, and security features. - **Cosmos DB**: Globally distributed, multi-model database service for any scale. - **Azure Database for MySQL/PostgreSQL/MariaDB**: Fully managed and scalable database services with high availability and security. ### Web - **Azure App Service**: Integrated service for developing, deploying, and scaling web apps. - **Azure Notification Hubs**: Scalable mobile push notification engine for quickly sending millions of messages. - **Web Apps feature of Azure App Service**: Rapidly build, deploy, and manage powerful websites and web apps. ### IoT - **IoT Central**: Fully managed global IoT software as a service (SaaS) solution that makes it easy to connect, monitor, and manage IoT assets. - **IoT Hub**: Central message hub for bi-directional communication between IoT application and devices. - **Azure Sphere**: Fully-managed solution for securing IoT devices. ### Big Data and Analytics - **HDInsight**: Fully-managed cloud Hadoop, Spark, R Server, HBase, and Storm clusters. - **Azure Synapse Analytics**: Analytics service bringing together big data and data warehousing. - **Data Lake Analytics**: On-demand analytics job service to simplify big data analytics. ### AI and Machine Learning - **Azure Machine Learning Service**: Cloud service to train, deploy, automate, and manage machine learning models. - **Cognitive Services**: Suite of APIs to enable natural and contextual interaction. - **Bot Service**: Develop intelligent, enterprise-grade bots to interact with users naturally. ### DevOps - **Azure DevOps**: Services for teams to share code, track work, and ship software. - **GitHub Actions for Azure**: Automate your software workflows with CI/CD that works with any language, platform, and cloud. ### Identity - **Azure Active Directory (AD)**: Microsoft’s multi-tenant, cloud-based directory, and identity management service. - **Azure B2C**: Consumer identity and access management in the cloud. ### Security - **Azure Security Center**: Unify security management and enable

Compute Services Compute Engine: Scalable and flexible virtual machine hosting. Kubernetes Engine: Managed Kubernetes service for containerized applications. App Engine: Platform for building scalable web applications and mobile backends. Cloud Functions: Event-driven serverless compute platform. Cloud Run: Managed compute platform for running containerized applications. Storage and Databases Cloud Storage: Object storage for storing and accessing data. Cloud SQL: Managed relational database service for MySQL, PostgreSQL, and SQL Server. Cloud Spanner: Horizontally scalable, strongly consistent database service. Firestore: NoSQL database for mobile, web, and server development. Bigtable: Scalable NoSQL big data database service. Filestore: Managed file storage for VMs. Memorystore: In-memory data store service for Redis and Memcached. Networking Virtual Private Cloud (VPC): Customizable cloud-based network. Cloud Load Balancing: Scalable and flexible load balancing. Cloud CDN: Content delivery network based on Google's globally distributed edge points of presence. Cloud Interconnect: Services to connect your infrastructure to Google Cloud. Cloud DNS: Scalable, reliable, and managed authoritative Domain Name System (DNS) service. Big Data and Machine Learning BigQuery: Fully-managed, serverless data warehouse for large-scale data analytics. Dataflow: Stream and batch data processing. Dataproc: Managed Spark and Hadoop service. AI Platform: Suite of machine learning products including training and prediction services. TensorFlow on GCP: Integration of Google's TensorFlow machine learning framework with GCP services. Identity & Security Cloud Identity & Access Management (IAM): Access control and identity management. Cloud Security Scanner: Automated vulnerability scanning for web applications. Key Management Service: Manage cryptographic keys for your cloud services. Management Tools Stackdriver: Monitoring, logging, and diagnostics for applications on the cloud. Cloud Console: Web interface for managing GCP services. Cloud Shell: Browser-based shell for managing GCP resources. Cloud Deployment Manager: Infrastructure management service for automating deployment. Developer Tools Cloud SDK: Command-line tools for GCP. Container Registry: Private container image registry. Source Repositories: Hosted private Git repositories. IoT Cloud IoT Core: Managed service to connect, manage, and ingest data from IoT devices. API Platform & Ecosystems Apigee API Management: Platform for developing and managing APIs. Endpoints: NGINX-based proxy to deploy and manage APIs. These services provide the tools necessary for cloud computing, including computing power, storage options, databases, machine learning, networking, and much more, catering to various IT needs and business models.

Google Cloud Platform Services

An overview of key services offered by Google Cloud Platform across different domains.

Compute Services

Offering scalable and flexible computing options for various applications.

Compute Engine

Scalable and flexible virtual machine hosting.

Kubernetes Engine

Managed Kubernetes service for containerized apps.

App Engine

Platform for scalable web and mobile back ends.

Cloud Functions

Event-driven serverless compute platform.

Cloud Run

Managed platform for containerized applications.

Storage and Databases

Robust data storage and database solutions for any scale.

Cloud Storage

Object storage service for data storage and access.

Cloud SQL

Managed relational database for MySQL, PostgreSQL, SQL Server.

Cloud Spanner

Strongly consistent, horizontally scalable database service.


NoSQL database for mobile, web, and server apps.


Scalable NoSQL big data database service.


Solutions for networking infrastructure and optimization.

Virtual Private Cloud (VPC)

Customizable cloud-based network.

Cloud Load Balancing

Flexible and scalable load balancing.

Cloud CDN

Content delivery network with global distribution.

Cloud Interconnect

Connect your infrastructure to Google Cloud.

Cloud DNS

Managed authoritative DNS service.

Big Data and Machine Learning

Tools for data analytics and machine learning at scale.


Serverless data warehouse for large-scale data analytics.


Stream and batch data processing.


Managed Spark and Hadoop service.

AI Platform

Machine learning suite with training & prediction services.

TensorFlow on GCP

Integrates TensorFlow ML framework with GCP.

Identity & Security

Protecting applications and managing access in the cloud.

Cloud IAM

Control access and manage identities.

Cloud Security Scanner

Automated vulnerability scanning for apps.

Key Management Service

Manage cryptographic keys for cloud services.

Management Tools

Tools to monitor, manage, and deploy cloud resources.


Monitoring, logging, and diagnostics for cloud apps.

Cloud Console

Web interface to manage GCP services.

Cloud Shell

Browser-based shell for GCP management.

Cloud Deployment Manager

Automate deployment with infrastructure management.

Developer Tools

Tools to improve development and operational efficiency.

Cloud SDK

Command-line tools for GCP.

Container Registry

Private container image registry.

Source Repositories

Hosted private Git repositories.


Services tailored for Internet of Things applications.

Cloud IoT Core

Managed service for IoT device connection and data management.

API Platform & Ecosystems

Tools and platforms to develop and manage APIs efficiently.

Apigee API Management

Developing and managing APIs.


NGINX-based proxy for API deployment and management.

Compute Engine Description: Compute Engine offers scalable and flexible virtual machine hosting in Google's data centers. You can run your large-scale computing workloads on virtual machines (VMs) hosted on Google's infrastructure. Key Features: Customizable VMs: Choose the machine type that fits your workload. Preemptible VMs: Cost-effective VMs for batch jobs and fault-tolerant workloads. Global infrastructure: Run applications on the same infrastructure that powers Google. Live migration: Keeps VMs running even during host system maintenance.

Google Cloud Platform (GCP) offers a suite of compute services that cater to various computing needs for developers and enterprises. Here's a brief overview of some of the primary compute services provided by GCP:

  1. Compute Engine: This is an Infrastructure as a Service (IaaS) offering that provides virtual machines (VMs) on demand. Compute Engine allows you to scale and customize computing resources as needed, enabling you to run large-scale computing workloads on Google's infrastructure.

  2. App Engine: A fully managed Platform as a Service (PaaS) that lets developers deploy web applications and mobile backends without having to manage the underlying infrastructure. It automatically scales based on traffic and allows developers to use built-in services to enhance their applications.

  3. Kubernetes Engine (GKE): A managed environment for deploying, managing, and scaling containerized applications using Google's infrastructure. It simplifies the deployment of apps using containers and the orchestration of those containers with Kubernetes.

  4. Cloud Functions: A serverless execution environment for building and connecting cloud services. With Cloud Functions, you can write simple, single-purpose functions that are attached to events emitted from your cloud infrastructure and services.

  5. Cloud Run: A managed platform that enables you to run stateless containers that are invocable via web requests or Pub/Sub events. It is serverless, providing a flexible and scalable model that abstracts away infrastructure management tasks.

These services cater to different needs, from running virtual machines to deploying serverless functions. They provide flexibility, scalability, and the reliability of Google's infrastructure to run various applications.

What is a Managed Kubernetes Service?

Managed Kubernetes services provide an abstraction layer over the complex Kubernetes ecosystem, offering an easier management experience for containerized applications. These services are offered by cloud providers and simplify tasks like setup, scaling, and maintenance. They deploy, manage, and scale the containers automatically based on the configurations set by the user.

Benefits of Managed Kubernetes Services

Popular Managed Kubernetes Services

Considerations When Choosing a Managed Kubernetes Service

By opting for a managed Kubernetes service, you can leverage the power of container orchestration without the need to become an expert in Kubernetes infrastructure management.

Scalable Platform Basics

A platform for scalable web and mobile back ends is designed to support applications by providing services such as database management, user authentication, server-side logic, storage, and hosting. Scalability ensures that as the number of users grows, the platform can handle increased load with minimal disruption to performance.

Examples of Scalable Platforms

Key Features of Scalable Back Ends

Event-driven Computing

Event-driven computing is a paradigm in which the flow of the program is determined by events such as user actions, sensor outputs, or messages from other programs. This approach is particularly effective for scenarios where systems need to respond promptly to various inputs and maintain high levels of efficiency and scalability.

Serverless Computing

Serverless computing is a cloud computing execution model where the cloud provider dynamically manages the allocation and provisioning of servers. A serverless application runs in stateless compute containers that are event-triggered, ephemeral (may only last for one invocation), and fully managed by the cloud provider.

Event-driven Serverless Compute Platforms

Event-driven serverless compute platforms combine the concepts of event-driven architecture with serverless execution models. Here, the application components are triggered by events, which occur in response to external stimuli such as user actions, changes in data state, or requests from web applications.

The serverless aspect means that developers do not have to worry about server provisioning, capacity planning, or server management. Instead, they can focus solely on writing code to handle events. The infrastructure required to listen for events and execute the corresponding application or function code is handled by the cloud provider.

AWS Lambda, Azure Functions, and Google Cloud Functions are examples of event-driven serverless compute platforms. These services allow developers to deploy small pieces of code, which get executed in response to various types of events. The cloud provider charges for the compute resources consumed during the execution of the function, often billed in milliseconds of execution time, which can be more cost-effective compared to running persistent server instances.

Platform Definition

A platform in the most general sense refers to any base of technologies on which other technologies or processes are built. The term can be applied in various contexts:

Each type of platform supports particular activities, whether it's running software applications, facilitating online interactions and commerce, providing a space for public speaking, promoting political ideals, or extracting resources. The concept conveys a foundational or supporting role in any context.