Cloud computing is a technology that enables on-demand delivery of IT services over the internet, including storage, computing power, and software applications, providing flexibility, scalability, and cost-efficiency for businesses and individuals.

- Your First Steps in AWS Cloud: Learn, Build, and Grow
Cloud computing is a technology that enables on-demand delivery of IT services over the internet, including storage, computing power, and software applications, providing flexibility, scalability, and cost-efficiency for businesses and individuals.
The primary types of cloud computing services are Infrastructure as a Service (IaaS), Platform as a Service (PaaS), and Software as a Service (SaaS). IaaS provides virtualized computing resources, PaaS allows for building applications without managing underlying infrastructure, and SaaS offers software solutions through a subscription model.
The major deployment models in cloud computing include public, private, and hybrid clouds. Public clouds are hosted by third-party providers and offer services to the general public, while private clouds are dedicated to a single organization. Hybrid clouds combine both, providing flexibility and scalability.
Cloud computing offers significant advantages such as cost savings, scalability, flexibility, and the ability to access services from anywhere. However, concerns about data security, privacy, and compliance remain key challenges for businesses considering cloud adoption.
Major cloud providers include Amazon Web Services (AWS), Microsoft Azure, and Google Cloud, each offering a wide range of services to meet diverse business needs. Cloud computing continues to evolve, with innovations such as edge computing and serverless architecture driving further growth.
Identity and Access Management (IAM) is a service that allows you to securely control access to AWS resources, enabling you to define who can access specific resources, what actions they can perform, and under which conditions, ensuring robust security and compliance.
IAM enables you to define fine-grained access to AWS resources using policies. Policies are written in JSON and specify the permissions granted to users, groups, or roles. You can also define password policies and enforce multi-factor authentication (MFA) for additional security.
IAM roles allow AWS services like EC2 or Lambda to access resources without embedding access keys in your application. Best practices include using IAM roles, enabling MFA, and regularly rotating credentials for added security.
IAM is an essential part of managing AWS security. By following best practices such as least privilege and policy simulation tools, you can effectively control and monitor user access in your AWS environment.
Amazon Elastic Compute Cloud (EC2) is a scalable compute service that allows users to rent virtual servers in the cloud. It provides flexibility to scale compute resources up or down based on demand, offering a cost-effective solution for applications with variable workloads.
Key features include: On-Demand Instances, Reserved Instances, and Spot Instances. EC2 offers flexibility in instance types, storage, networking, elastic load balancing, and auto-scaling to suit a variety of application needs.
EC2 allows customized instance sizing and configuration. You can choose instance types based on application requirements, leverage Amazon EBS for persistent storage, and manage networking with VPCs and security groups. Auto scaling automatically adjusts instances to match demand.
EC2 also supports bootstrapping, which runs user data scripts at the instance launch. This can automate tasks like software installations, downloading configuration files, and configuring system settings.
EC2 offers a range of instance types for different workloads, such as General Purpose Instances, Compute Optimized Instances, Memory Optimized Instances, and Storage Optimized Instances. Each type provides specific resources like vCPUs, memory, network performance, and storage tailored to various application needs.
Instance types include: t4g.micro, m5.large, c5.large, r5.xlarge, i3.large, and more, each with varying levels of CPU, memory, storage, and network performance to meet specific use cases like web servers, databases, batch processing, and high-frequency trading.
Elastic Block Store (EBS) is a network-attached storage for EC2 instances, providing persistent, block-level storage. It supports applications that require consistent, low-latency performance and allows data persistence even after instance termination.
EBS volumes are automatically replicated within an Availability Zone (AZ) and come in several types, including General Purpose (gp3/gp2), Provisioned IOPS (io1/io2), Throughput Optimized (st1), and Cold (sc1). They can be attached to one EC2 instance at a time but can be detached and re-attached as needed.
The EBS delete on termination attribute controls whether the volume is automatically deleted when the associated EC2 instance is terminated. By default, the root volume is deleted, while additional volumes are not unless explicitly specified.
EBS snapshots offer point-in-time backups of EBS volumes and are stored in Amazon S3. Snapshots are incremental, capturing only changes since the last backup. They can be copied across regions or accounts and automated using Amazon Data Lifecycle Manager (DLM).
EBS snapshot archives are cheaper, providing a 75% reduction in cost. However, they take between 24 to 72 hours to restore. The EBS Snapshot Recycle Bin feature allows retention of deleted snapshots, offering recovery after accidental deletion with customizable retention periods.
Elastic File System (EFS) is a fully managed NFS solution for EC2 instances that can scale automatically and provides high availability across multiple Availability Zones. EFS can be accessed by hundreds of EC2 instances simultaneously, making it ideal for shared storage applications.
EFS Infrequent Access (EFS-IA) is a lower-cost storage class for infrequently accessed data, offering up to 92% savings compared to standard EFS. It automatically moves less-accessed files to the EFS-IA tier, while maintaining high availability.
Scalability refers to a system's ability to handle increased load by adapting to demand, while High Availability ensures a system is operational for a high percentage of time by reducing failure impact. These concepts are essential for resilient cloud infrastructure.
Scalability can be vertical (increasing a single instance's capacity) or horizontal (adding more instances to distribute the load). Vertical scalability is often used for databases, while horizontal scalability is suited for applications requiring resilience and distributed workloads.
High Availability is achieved by deploying resources across multiple Availability Zones (AZs) to ensure failover and redundancy. It works best with horizontal scalability, as multiple AZs provide resilience against zone failures.
In EC2, vertical scaling involves increasing instance size, from smaller instances like t2.nano to larger ones like u-12tb1.metal. Horizontal scaling involves adding more instances using Auto Scaling Groups (ASG) and Elastic Load Balancing (ELB).
Scalability, Elasticity, and Agility each refer to different aspects of cloud infrastructure. Scalability adjusts capacity to handle varying traffic, elasticity dynamically adjusts resources in real-time, and agility enables quick deployment in response to demand changes.
Load balancing distributes incoming traffic across multiple resources, preventing overloading any single resource. It improves fault tolerance, high availability, and provides features like SSL termination and health checks.
Elastic Load Balancer (ELB) is a managed service that distributes traffic across multiple targets in one or more AZs. ELB improves performance and scales with demand, with AWS handling upgrades and high availability.
Types of ELBs include Application Load Balancer (ALB) for HTTP/HTTPS traffic at Layer 7, Network Load Balancer (NLB) for high-performance traffic at Layer 4, and Classic Load Balancer (retiring) for both layers.
An Auto Scaling Group (ASG) adjusts the number of EC2 instances based on metrics like CPU utilization, ensuring optimal capacity and high availability. It can automatically scale out (add instances) or scale in (remove instances) as needed, with cost savings from only running at optimal capacity.
Amazon S3 enables users to store objects in "buckets" (directories). Buckets must have unique names and are defined at the region level. S3 uses a global service model, but buckets are tied to specific regions.
Buckets must follow naming conventions: no uppercase letters or underscores, 3-63 characters long, cannot be an IP, and must start with a lowercase letter or number.
Objects in S3 are identified by a "Key," which is the full path to the object. While S3 doesn’t have actual directories, the UI mimics a folder structure using slashes ("/") in the object keys.
The maximum object size in S3 is 5TB, but for uploads over 5GB, multi-part upload is required. Each object can have metadata and tags, and if versioning is enabled, a version ID is also included.
S3 offers various security mechanisms, including user-based IAM policies and resource-based policies such as bucket policies and access control lists (ACLs). Encryption can also be applied to S3 objects.
Bucket policies are JSON-based and allow defining which actions are permitted or denied for specific resources. These policies can be used for public access management, cross-account access, and ensuring encryption during object uploads.
For added security, you can configure "Block Public Access" settings to prevent unauthorized public access to your buckets and objects. These settings can be enforced at the account level.
S3 can host static websites, making your content accessible via a specific URL. However, to avoid access issues, ensure that the bucket policy allows public reads if needed.
Storing data on disk (like EFS, EBS, EC2 Instance Store, or S3) has its limits. For more structured data storage, databases allow you to organize, query, and define relationships between datasets efficiently.
Databases are designed for specific purposes and offer features like indexing, relationships, and query optimization. Managed databases in AWS take care of maintenance, backups, and security, reducing operational complexity.
Benefits of managed databases include high availability, disaster recovery, scalability, and enhanced security. AWS offers various database types such as Relational (SQL), NoSQL, Data Warehousing, and In-memory Caching.
Relational Databases (SQL) store structured data in predefined schema tables and are commonly used in transactional applications and financial systems. Popular examples include MySQL, PostgreSQL, Oracle, SQL Server, and MariaDB.
NoSQL databases offer flexibility with no predefined schema, making them ideal for real-time applications, IoT, and mobile apps. They scale out using distributed clusters and are optimized for specific data models. Examples include DynamoDB, MongoDB (DocumentDB), and various key-value, document, graph, and search databases.
JSON is a common data format in NoSQL databases, supporting nested fields, dynamic structures, and new data types like arrays. An example of a NoSQL data entry might look like this:
{ "name": "Abc", "age": 30, "cars": ["Ford", "BMW", "Fiat"], "address": { "type": "house", "number": 23, "street": "Abc Road" } }
AWS operates with a shared responsibility model. AWS handles infrastructure management, backups, patches, and availability, while customers are responsible for data security, encryption, IAM access controls, monitoring, and performance tuning.
AWS RDS (Relational Database Service) is a fully managed service for relational databases, supporting MySQL, PostgreSQL, MariaDB, Oracle, and SQL Server. It automates provisioning, OS patching, backups, high availability, scaling, and more.
Key advantages of using RDS over deploying a database on EC2 include automated provisioning, continuous backups, monitoring dashboards, read replicas for improved performance, and Multi-AZ setups for disaster recovery. However, you cannot SSH into RDS instances.
RDS offers different deployment options like Read Replicas (for scaling read workloads), Multi-AZ (for high availability with automatic failover), and Multi-Region (for disaster recovery and global availability).
In RDS, Read Replicas improve read performance and allow asynchronous replication, while Multi-AZ deployments provide failover and high availability, ensuring the database remains accessible in case of an AZ outage.
Docker is a software development platform that enables you to deploy applications in containers. These containers can run on any OS, making them portable and ensuring predictable behavior, regardless of the environment.
Docker containers provide consistency across different environments, allowing you to run the same application on any machine without compatibility issues. This leads to easier maintenance, faster scaling, and predictable behavior.
Docker works with any language, OS, or technology and enables rapid scaling of containers, with adjustments made in just seconds.
Docker images are stored in repositories like Docker Hub for public access, and Amazon ECR (Elastic Container Registry) for private storage, management, and deployment of container images.
Docker is often compared to Virtual Machines (VMs), but they are different. While both virtualize environments, Docker containers share the host OS kernel, making them more lightweight and portable. Virtual machines, on the other hand, include a full operating system, making them heavier and slower to start.
Docker containers are best for modern, microservices-based applications, while virtual machines are better suited for running multiple OS environments.
Amazon ECS (Elastic Container Service) is a fully managed container orchestration service that supports Docker containers. ECS automates container management, allowing you to launch and manage Docker containers on AWS. ECS integrates with other AWS services like IAM, VPC, ELB, and ECR.
AWS Fargate is a serverless compute engine for containers that works with ECS and EKS. It eliminates the need to manage EC2 instances, allowing you to pay for only the resources (CPU and memory) your containers use.
Amazon ECR is a fully managed Docker container registry that stores, manages, and secures Docker images. It integrates with ECS, EKS, and Fargate for seamless deployment and running of Docker containers.
Serverless computing eliminates the need to provision, scale, or manage servers. With serverless services like AWS Lambda, resources are automatically provisioned and scaled by AWS. Developers simply deploy functions (code) that respond to events, rather than managing infrastructure.
AWS Lambda is a serverless compute service that executes code in response to events like API calls or file uploads. It automatically scales and only charges you for usage.
In contrast to EC2, where you manage virtual servers, AWS Lambda runs code in a serverless environment with no server management required. Lambda functions are limited by time, whereas EC2 instances are limited by RAM and CPU. Lambda scales automatically, unlike EC2, which requires manual intervention.
Benefits of AWS Lambda include automatic scaling based on event triggers, a pay-per-use pricing model, and a free tier that covers up to 1,000,000 requests and 400,000 GB-seconds of compute time. Lambda also integrates seamlessly with other AWS services and supports multiple programming languages.
Lambda is ideal for event-driven architectures, with easy monitoring through AWS CloudWatch and the ability to increase resources (up to 10GB of RAM) to boost performance.
AWS CloudFormation is a declarative way to define and provision AWS infrastructure using code. You specify the resources you want, and CloudFormation takes care of creating them in the right order with the exact configuration.
CloudFormation allows you to declare your infrastructure using templates, specifying the resources you need (e.g., security groups, EC2 instances, S3 buckets, load balancers). It then creates, configures, and maintains the resources for you in the correct order.
The benefits of AWS CloudFormation include:
CloudFormation supports almost all AWS resources, and if a resource isn't supported, you can use "custom resources" to define it. You can even leverage existing templates found on the web.
For visual management, AWS CloudFormation Stack Designer allows you to see all resources in your stack and how they relate to each other. For example, a WordPress CloudFormation Stack would allow you to view all resources and their relationships.
The AWS Cloud Development Kit (CDK) allows you to define your cloud infrastructure using a programming language you're familiar with, such as JavaScript, TypeScript, Python, Java, or .NET. The CDK compiles this code into a CloudFormation template, enabling you to deploy infrastructure and runtime code together.
Here’s an example using Python with the AWS CDK to create an S3 bucket with versioning enabled:
from aws_cdk import core
from aws_cdk import aws_s3 as s3
class MyS3BucketStack(core.Stack):
def __init__(self, scope: core.Construct, id: str, **kwargs) -> None:
super().__init__(scope, id, **kwargs)
# Define an S3 bucket
s3.Bucket(
self,
'MyS3Bucket',
versioned=True,
removal_policy=core.RemovalPolicy.DESTROY
)
# App entry point
app = core.App()
MyS3BucketStack(app, 'MyS3BucketStack')
app.synth()
After setting up the project and installing dependencies, running this script will create the S3 bucket as defined in the CDK stack.
Common developer challenges in AWS include managing infrastructure, deploying code, configuring databases, load balancers, and scaling. CloudFormation and CDK simplify these tasks by providing reusable templates and automating infrastructure provisioning.
Most web applications share similar architectures (such as an Application Load Balancer (ALB) and Auto Scaling Group (ASG)). Developers are primarily focused on getting their code running consistently across different applications and environments, without the need to manage infrastructure manually.
AWS provides a global infrastructure to deploy applications and improve performance with features like global DNS, content delivery networks, and data transfer acceleration. Learn about AWS Regions, Availability Zones, Edge Locations, and global services like Route 53, CloudFront, and AWS Global Accelerator.
AWS’s global infrastructure is made up of:
AWS offers several services to enhance the performance and availability of global applications:
Route 53 is a managed DNS service that helps direct clients to the correct servers through DNS records.
Route 53 supports various routing policies. Here’s a brief overview of the main types:
CloudFront is a Content Delivery Network (CDN) that improves the read performance of your applications by caching content at AWS Edge Locations globally. It helps improve user experience by reducing latency and includes DDoS protection through AWS Shield and AWS Web Application Firewall.
CloudFront can work with multiple origins:
Feature | CloudFront | S3 Cross-Region Replication |
---|---|---|
Network | Global Edge network | Set up for each region |
Content Update | Content cached for a TTL (time-to-live) | Content updated in near real-time |
Use Case | Great for static content globally | Great for dynamic content with low-latency needs |
AWS offers a range of messaging services to decouple applications, handle real-time data, and facilitate message notifications. Services include SQS for queuing, SNS for notifications, Kinesis for data streaming, and MQ for legacy protocol support.
Amazon Simple Queue Service (SQS) is AWS's oldest offering, providing a fully managed, serverless service for decoupling applications. SQS allows asynchronous message communication between components, making it highly scalable and reliable for distributed applications.
Amazon Kinesis is a real-time big data streaming service that allows you to collect, process, and analyze real-time streaming data at any scale. It's mainly used for real-time data processing and analytics.
While too detailed for the Cloud Practitioner exam, these components of Kinesis are important:
Amazon SNS allows you to send notifications to multiple receivers. It's used for mass message delivery, primarily for mobile users, and provides low-cost infrastructure for event-driven systems.
Amazon MQ is a managed Apache ActiveMQ service, designed to support legacy protocols like MQTT, AMQP, STOMP, and WSS. It's particularly useful when migrating traditional on-premise applications to the cloud, offering a way to integrate without re-engineering applications for cloud-native services like SQS and SNS.
Here’s a comparison of the key AWS messaging services:
Service | Purpose | Key Features |
---|---|---|
SQS | Queue service for decoupling applications | Multiple producers and consumers, message retention up to 14 days, low latency, horizontal scaling |
SNS | Notification service for broadcasting messages | Multiple subscribers (email, Lambda, HTTP, mobile), no message retention |
Kinesis | Real-time data streaming | Data ingestion, real-time analytics, video streaming |
Amazon MQ | Managed message broker (Apache ActiveMQ) | Supports open protocols (MQTT, AMQP, STOMP), queue & topic support, dedicated machines |
AWS offers robust monitoring, logging, and event-driven automation services through Amazon CloudWatch, CloudTrail, and EventBridge. These services enable real-time visibility into your AWS resources and applications, ensuring proactive monitoring, logging, and automation.
Amazon CloudWatch is a monitoring and observability service that provides real-time metrics and logs for AWS resources, applications, and custom metrics. It helps you collect, analyze, and act on performance and operational data.
CloudWatch Alarms help you take actions automatically when a metric exceeds a set threshold. For example, if EC2 CPU utilization exceeds 80%, you can send an alert or trigger an auto-scaling event.
CloudWatch Logs is a centralized logging service that can collect logs from various AWS services and applications.
CloudWatch Events delivers a stream of system events describing changes to AWS resources. It can be used to trigger automated workflows based on resource changes.
EventBridge is the evolution of CloudWatch Events, offering more advanced capabilities for building event-driven architectures.
CloudTrail tracks and logs API calls made within your AWS account, providing visibility into user activity for security analysis, compliance, and operational troubleshooting.
CloudTrail Insights detects unusual activity in your account, such as inaccurate resource provisioning, hitting service limits, or anomalies in IAM actions.
Amazon VPC (Virtual Private Cloud) allows you to create a private network for your AWS resources. Within the VPC, you can define subnets, control internet access, and set up secure connections to other VPCs, on-premises environments, and AWS services.
Amazon Virtual Private Cloud (VPC) is a private network within AWS that you can use to host your resources. VPCs are region-specific and consist of subnets, which allow you to partition your network based on availability zones.
Route tables control the flow of traffic within your VPC. They define how traffic is routed between subnets and to/from the internet.
The Internet Gateway connects your VPC to the internet, allowing instances in your VPC to communicate directly with the internet.
The NAT Gateway allows instances in private subnets to initiate outbound traffic to the internet while preventing unsolicited inbound traffic.
Attribute | NAT Gateway | NAT Instance |
---|---|---|
Availability | Highly available, AWS manages redundancy | Requires manual failover setup |
Bandwidth | Up to 100 Gbps | Depends on instance type |
Maintenance | Managed by AWS | Managed by you |
Performance | Optimized for NAT traffic | Generic AMI configured for NAT |
Cost | Charged by usage and data transfer | Charged by instance type and usage |
Public IP Addresses | Elastic IP address | Elastic or public IP address |
Private IP Addresses | Automatically selected | Manually assigned |
Security Groups | Cannot associate security groups | Can associate security groups |
Flow Logs | Supported | Supported |
Port Forwarding | Not supported | Customizable for port forwarding |
Network ACLs and Security Groups are both firewalls, but they operate at different levels and have different capabilities.
Feature | Network ACL | Security Group |
---|---|---|
Level of Operation | Subnet level | Instance level |
Rule Type | Allow and Deny rules | Allow rules only |
Statefulness | Stateless (return traffic must be allowed) | Stateful (return traffic allowed by default) |
Rule Processing | Rules processed in order | All rules evaluated before action |
Application | Automatically applied to all instances in subnet | Applied to instances based on association |
VPC Flow Logs capture information about IP traffic going into or out of your network interfaces. This can help monitor and troubleshoot connectivity issues.
VPC Peering allows direct communication between two VPCs, either in the same AWS account or across different accounts, without the use of the internet.
VPC Endpoints allow private connections between your VPC and AWS services, without using public internet routing.
A Site-to-Site VPN allows you to securely connect your on-premises network to AWS over the public internet. AWS Direct Connect establishes a private, secure, high-performance connection.
The AWS Shared Responsibility Model outlines how security and compliance responsibilities are divided between AWS and the customer. AWS manages security "of" the cloud, while customers are responsible for security "in" the cloud, covering areas such as data protection, access management, and patching.
The AWS Shared Responsibility Model clarifies the division of responsibilities for security and compliance between AWS and the customer. AWS handles security for the infrastructure, while customers are responsible for securing their data, applications, and other elements within the cloud.
Aspect | AWS Responsibility | Customer Responsibility |
---|---|---|
Infrastructure | Physical security, hardware, and global network | Not applicable (fully managed by AWS) |
Configuration | Default configurations for services | Customize configurations to meet security requirements |
Data Protection | Ensure data encryption capabilities are available | Encrypt sensitive data and manage access permissions |
Patching | Patching underlying infrastructure | Patching the operating system and applications |
Access Management | IAM service availability and best practices | Defining and enforcing user and resource permissions |
AWS Responsibility:
Customer Responsibility:
AWS Responsibility:
Customer Responsibility:
AWS provides several security features to mitigate the risk of DDoS attacks and protect your applications:
AWS Shield provides protection against DDoS attacks across Amazon CloudFront, Elastic Load Balancing, and other AWS services. Key features include:
AWS WAF helps protect your applications from common web exploits, including SQL injection and Cross-Site Scripting (XSS). Key features include:
AWS allows customers to perform penetration testing or security assessments on certain AWS services without prior approval. These services include:
For more information on Penetration Testing, visit AWS Security Penetration Testing.
Amazon Web Services (AWS) offers a variety of powerful machine learning services that enable businesses to add intelligence to their applications, from image and video recognition to speech-to-text and language translation. These services are designed to be easy to integrate and scalable to meet a variety of business needs.
Amazon Rekognition uses machine learning to identify objects, people, text, and scenes in images and videos. It offers powerful tools for facial analysis, user verification, and people counting. You can create a database of familiar faces or compare against celebrities.
For more information, visit Amazon Rekognition.
Amazon Transcribe converts speech to text using Automatic Speech Recognition (ASR), offering fast and accurate transcription for a variety of use cases.
Amazon Polly turns text into lifelike speech using deep learning technology. It enables the creation of talking applications that can engage users with natural-sounding voice interactions.
Amazon Translate provides natural and accurate language translation, allowing businesses to localize content for international users and efficiently translate large volumes of text.
Amazon Lex uses ASR to convert speech to text and Natural Language Understanding (NLU) to recognize text and intent. It’s the same technology behind Amazon Alexa, enabling the creation of conversational bots and virtual assistants.
Amazon Connect is a cloud-based virtual contact center that allows businesses to create personalized contact flows and integrate with CRM systems or other AWS services, offering a cost-effective alternative to traditional contact centers.
Amazon Connect requires no upfront payments and is 80% cheaper than traditional contact centers.
Amazon Comprehend is a fully managed, serverless Natural Language Processing (NLP) service. It uses machine learning to find insights and relationships in text, providing valuable analytics on customer sentiment, key phrases, and more.
Amazon SageMaker is a fully managed service designed for developers and data scientists to build, train, and deploy machine learning models. It simplifies the complex machine learning process, allowing users to focus on creating intelligent applications.
A simple example: Predicting your exam score based on historical data.
Amazon Forecast uses machine learning to deliver highly accurate forecasts, reducing the time it takes to forecast from months to hours. It helps businesses predict future sales, demand, and other important factors with 50% more accuracy than traditional methods.
Amazon Kendra is a fully managed document search service powered by machine learning. It can extract answers from various document types and offers natural language search capabilities.
Kendra learns from user interactions and allows manual fine-tuning of search results to ensure the most relevant information is presented.
Amazon Personalize is a fully managed ML service that provides real-time personalized recommendations. It’s used for creating customized user experiences, such as personalized product recommendations and targeted marketing campaigns.
Amazon Textract automatically extracts text, handwriting, and data from scanned documents using AI and machine learning. It’s designed to process various document types such as PDFs, images, and scanned forms.
AWS Organizations enables businesses to manage multiple AWS accounts, providing cost benefits through consolidated billing and pricing advantages. It also helps in enforcing governance with Service Control Policies (SCP) and offers easy management of resources across different accounts. In addition, AWS offers a variety of pricing models to help optimize cost savings for compute services.
AWS Organizations is a global service that allows you to manage multiple AWS accounts. The main account in the organization is the master account, which oversees all billing and access controls for the organization.
SCPs allow you to whitelist or blacklist IAM actions at the organizational unit (OU) or account level, except for the master account. They do not affect service-linked roles, which are essential for AWS services to integrate with AWS Organizations.
AWS Control Tower helps you set up and govern a secure, multi-account AWS environment following AWS best practices. It runs on top of AWS Organizations and automates ongoing policy management, detecting violations and monitoring compliance.
AWS RAM allows you to share AWS resources that you own with other AWS accounts, either within your organization or externally. This helps avoid resource duplication and can save costs across multiple accounts.
AWS Service Catalog provides a curated, self-service portal for launching AWS resources. It helps ensure that users follow governance policies and only deploy approved resources, reducing the risk of non-compliant or rogue stacks.
AWS offers four primary pricing models to cater to different business needs and optimize cost savings:
The EC2 pricing model offers several options based on your needs:
AWS provides a range of services to manage identity and access securely, including Security Token Service (STS), Amazon Cognito, and Directory Services. These services help organizations manage user access, integrate with Microsoft Active Directory, and offer single sign-on (SSO) capabilities for various AWS resources and applications.
AWS Security Token Service (STS) allows you to provide temporary, limited-privilege credentials for accessing AWS resources. The credentials are time-bound, with a configurable expiration period, ensuring that access to resources is controlled and secure.
Amazon Cognito enables user identity management for web and mobile applications, supporting potentially millions of users. Instead of creating IAM users, you can create and manage users directly within Cognito, allowing for easy integration with your applications.
AWS offers several solutions to integrate Microsoft Active Directory (AD) with AWS for centralized security management, such as managing user accounts, permissions, and resources across your organization.
AWS Directory Services offers multiple options for integrating Active Directory into AWS, providing both managed and self-managed solutions to meet your business needs:
AWS IAM Identity Center provides a centralized identity management solution that enables Single Sign-On (SSO) for multiple AWS accounts and business applications. It integrates with cloud apps like Salesforce, Microsoft 365, and SAML-based apps for seamless user access.
AWS provides a variety of services to manage identities and access in a secure and scalable way:
AWS offers a variety of powerful services for desktop virtualization, Internet of Things (IoT), and backup solutions. These services provide secure, scalable, and cost-effective ways to manage desktop environments, connect IoT devices, and ensure data protection. Whether you're building virtual desktops or managing backups and disaster recovery, AWS has a solution for your needs.
Amazon WorkSpaces is a fully managed Desktop as a Service (DaaS) solution that provides Windows or Linux desktops, eliminating the need to manage on-premise Virtual Desktop Infrastructure (VDI). It's scalable to thousands of users quickly and integrates with AWS Key Management Service (KMS) for data security. The service follows a pay-as-you-go model with both monthly and hourly pricing options.
Amazon AppStream 2.0 is a Desktop Application Streaming Service that allows you to stream applications to any computer without the need for provisioning infrastructure. Applications are streamed directly from within a web browser, providing secure access without requiring users to connect to a Virtual Desktop Infrastructure (VDI).
Amazon Sumerian is a platform to create and run virtual reality (VR), augmented reality (AR), and 3D applications without requiring programming skills. It offers easy-to-use tools to quickly create 3D models with animations. The service provides ready-to-use templates and assets, making it ideal for developers and creators looking to build immersive experiences.
Example Showcase: Amazon Sumerian Getting Started Showcase
AWS IoT Core is a service that allows you to securely and scalably connect IoT devices to the AWS Cloud. It supports serverless communication with devices, even when they are disconnected, and integrates with various AWS services such as Lambda, S3, and SageMaker to process, analyze, and act on IoT data.
Amazon Elastic Transcoder is a fully managed service that allows you to convert media files stored in Amazon S3 into formats required by consumer playback devices (e.g., phones, tablets, etc.). It supports large volumes of media files with a cost-effective, pay-as-you-go pricing model.
AWS AppSync is a service that allows you to store and sync data across mobile and web apps in real-time using GraphQL. It integrates seamlessly with DynamoDB, Lambda, and other AWS services and supports offline data synchronization for resilient apps.
AWS Amplify is a set of tools and services that help developers build and deploy scalable, full-stack web and mobile applications. It includes features for backend-as-a-service (BaaS), frontend libraries, real-time capabilities, and CI/CD for continuous development.
AWS Device Farm is a fully-managed service that allows you to test web and mobile applications across real devices. It enables running tests on multiple devices simultaneously to speed up execution and provides device configuration options like GPS, Wi-Fi, and Bluetooth settings.
AWS Backup is a fully managed service that allows you to automate and centrally manage backups across AWS services. It supports on-demand and scheduled backups, retention policies, and cross-region backup capabilities.
AWS Elastic Disaster Recovery (formerly CloudEndure) provides quick and easy recovery for physical, virtual, and cloud-based servers to AWS. It supports continuous block-level replication for server recovery and is ideal for protecting critical databases and applications.
AWS DataSync is a service for transferring large amounts of data from on-premises systems to AWS. It supports synchronization with Amazon S3, EFS, and FSx, and provides scheduling for incremental replication after the initial data transfer.
AWS Application Discovery Service helps plan migration projects by gathering data about on-premises data centers. It collects server utilization data and maps dependencies for migration planning, using both agentless and agent-based discovery options.
Building cloud-native applications requires a strong foundation to ensure scalability, security, and cost-efficiency. AWS provides a set of guiding principles and best practices to help you architect systems that can meet evolving business requirements while optimizing resources.
The ability to run and monitor systems for business value while improving supporting processes and procedures.
The ability to protect information, systems, and assets while delivering business value through risk assessments and mitigation strategies.
The ability to recover from disruptions, dynamically acquire resources, and mitigate misconfigurations or transient network issues.
Efficiently using computing resources to meet system requirements while maintaining efficiency as demands change.
The ability to deliver business value at the lowest possible cost while avoiding over-spending on unnecessary resources.
Minimizing environmental impacts of running cloud workloads through energy-efficient systems and practices.
The AWS Well-Architected Framework helps businesses build cloud systems that are scalable, secure, reliable, cost-efficient, and sustainable. By following the six pillars—Operational Excellence, Security, Reliability, Performance Efficiency, Cost Optimization, and Sustainability—you can ensure that your applications and workloads are well-architected to meet both current and future demands.