Chapter 3: Cloud Technology and Services
Mohamad's interest is in Programming (Mobile, Web, Database and Machine Learning). He is studying at the Center For Artificial Intelligence Technology (CAIT), Universiti Kebangsaan Malaysia (UKM).
3.1 Deploying and Operating in the AWS Cloud
AWS provides flexibility in how you provision, manage, and automate cloud resources, making it accessible to everyone from non-technical users to DevOps professionals.
3.1.1 Access Methods
1. AWS Management Console
The web-based GUI (graphical user interface) allows users to explore services, configure resources, monitor metrics, and manage billing. It is ideal for users who prefer visual interaction or are just starting with AWS.
2. AWS CLI (Command Line Interface)
A text-based tool for managing AWS services. The CLI allows for automation of repetitive tasks, faster provisioning, and scripting of complex actions.
3. AWS SDKs
Software Development Kits provide language-specific APIs (e.g., Python’s Boto3, JavaScript SDK) to programmatically interact with AWS services from applications.
4. Infrastructure as Code (IaC)
Tools like AWS CloudFormation and the AWS Cloud Development Kit (CDK) enable users to define resources using JSON, YAML, or programming languages (e.g., Python, TypeScript). These definitions can be versioned, shared, and reused.
Discussion:
For production environments, IaC is the industry standard. It reduces human error, promotes consistency, and supports continuous integration/continuous deployment (CI/CD) workflows.
3.1.2 Deployment Models
Cloud-native: Entirely hosted on AWS. This model benefits from elasticity, availability, and AWS’s global infrastructure.
Hybrid Cloud: Integrates on-premises data centers with AWS using services like AWS Direct Connect, VPN, and Storage Gateway.
On-Premises AWS Tools: Services such as AWS Outposts bring AWS hardware into customer facilities for low-latency processing or data sovereignty needs.
Use Case:
A healthcare provider may retain sensitive patient data on-premises due to compliance requirements while analyzing anonymized data using AWS analytics services in the cloud.
3.2 AWS Global Infrastructure
The AWS infrastructure is designed to support high availability, fault tolerance, low latency, and compliance with data residency requirements.
3.2.1 Key Concepts
Region: A physical location in the world with multiple Availability Zones. Examples:
us-east-1(N. Virginia),ap-southeast-1(Singapore).Availability Zone (AZ): A data center (or group of data centers) isolated from other AZs in the same region. Each AZ has independent power, cooling, and networking.
Edge Locations: Over 400+ sites globally that cache content via Amazon CloudFront and optimize traffic with AWS Global Accelerator.
3.2.2 Design for High Availability
To ensure resilience:
Spread resources across multiple AZs (e.g., EC2 instances behind an ELB across 2+ AZs).
Use multi-region deployment for mission-critical applications to withstand regional outages.
Discussion:
Organizations choose regions based on proximity to customers, latency requirements, and compliance constraints. For example, EU-based companies often select eu-central-1 (Frankfurt) to meet GDPR compliance.
3.3 AWS Compute Services
AWS compute services are the engine behind most cloud workloads. They provide the processing power for applications, databases, and analytics.
3.3.1 Amazon EC2
Amazon EC2 allows users to launch and manage virtual servers.
Instance types: Tailored for compute, memory, storage, and accelerated computing.
Security: Protected using Security Groups, Key Pairs, and IAM roles.
Use Cases: Hosting web servers, batch processing, custom applications.
Discussion:
EC2 gives fine-grained control over operating systems and configuration. However, it requires managing patching, scaling, and availability.
3.3.2 AWS Lambda
Lambda allows you to run code in response to events (like HTTP requests or file uploads) without provisioning servers.
Key Characteristics: Event-driven, pay-per-execution, stateless.
Triggers: S3, DynamoDB, API Gateway, EventBridge, etc.
Use Case: Resize images uploaded to S3 or process IoT events.
Discussion:
Lambda encourages a microservices and event-driven architecture. It is ideal for intermittent workloads and rapid prototyping.
3.3.3 Container Services
Containers offer a lightweight, portable way to package and deploy applications.
Amazon ECS: Native AWS container orchestration.
Amazon EKS: Fully managed Kubernetes.
AWS Fargate: Serverless containers—no need to manage EC2 instances.
Discussion:
Containers strike a balance between full server control (EC2) and abstraction (Lambda). Fargate especially reduces infrastructure complexity while retaining performance.
3.3.4 Elastic Load Balancing and Auto Scaling
ELB distributes incoming traffic across healthy targets (EC2, Lambda).
Auto Scaling adjusts capacity based on load or schedules.
Use Case:
An online retailer can scale EC2 instances during holiday shopping spikes, then scale down to save costs.
3.4 AWS Database Services
AWS provides purpose-built databases to match specific application needs.
3.4.1 Amazon RDS
Managed service for relational databases:
Supports: MySQL, PostgreSQL, MariaDB, SQL Server, Oracle.
Offers high availability (Multi-AZ), read replicas, backups, patching.
3.4.2 Amazon Aurora
AWS’s cloud-native relational database compatible with MySQL and PostgreSQL.
Faster and more scalable than standard RDS.
Provides automatic failover and serverless mode.
3.4.3 Amazon DynamoDB
A fully managed NoSQL database:
Millisecond performance at scale.
Serverless, auto-scaling, and integrated with Lambda and API Gateway.
Use Case:
A mobile gaming app may use DynamoDB to store player progress and scores for rapid, scalable access.
3.4.4 Amazon ElastiCache
In-memory key-value store:
Supports Redis and Memcached.
Reduces database load by caching frequently accessed data.
3.4.5 Database Migration Tools
AWS DMS: Migrates databases with minimal downtime.
AWS SCT: Converts schema between different database engines.
Discussion:
Choosing the right database depends on the workload—transactional (Aurora/RDS), real-time (DynamoDB), or cache-driven (ElastiCache).
3.5 AWS Networking Services
A strong network foundation is essential for secure and performant applications.
3.5.1 Amazon VPC
Allows provisioning a logically isolated section of the AWS Cloud.
Subnets: Public (internet-facing) and private (internal services).
Security Groups: Instance-level firewalls.
Network ACLs: Subnet-level stateless rules.
Routing: Control traffic using route tables, internet gateways, NAT gateways.
Discussion:
VPC design impacts security, scalability, and cost. For example, placing databases in private subnets and using NAT gateways minimizes exposure to external threats.
3.5.2 DNS and Network Connectivity
Amazon Route 53: Highly available DNS with latency-based routing.
AWS Direct Connect: Dedicated, high-bandwidth link to AWS.
AWS VPN: Encrypted tunnels for secure communication.
Use Case:
A financial institution can use Direct Connect to ensure low-latency and encrypted data transmission between its data center and AWS.
3.6 AWS Storage Services
AWS offers multiple storage classes optimized for cost, performance, and access patterns.
3.6.1 Amazon S3 (Simple Storage Service)
Object storage for files, backups, media, logs.
Unlimited scale with 99.999999999% durability.
Access control via bucket policies, IAM, and ACLs.
Storage Classes:
Standard: General purpose.
Intelligent-Tiering: Automatically moves data between classes.
Glacier / Deep Archive: Archival storage for long-term backups.
3.6.2 Amazon EBS
Block storage volumes for EC2:
Supports encryption, snapshots, and multiple volume types (SSD, HDD).
Attaches to one EC2 instance at a time.
3.6.3 File and Hybrid Storage
EFS: Fully managed file system for Linux, scalable across instances.
FSx: File storage for Windows and HPC use cases.
Storage Gateway: Bridges on-premises environments with cloud storage (e.g., backup to S3).
Discussion:
Selecting the right storage depends on workload: S3 for media, EBS for databases, EFS for shared application files.
3.7 AI/ML and Analytics Services
3.7.1 AI and Machine Learning
Amazon SageMaker: A complete ML development environment.
Amazon Rekognition: Image and video recognition (faces, objects).
Amazon Comprehend: Sentiment analysis and entity extraction from text.
Amazon Lex: Build chatbots with natural language understanding.
Use Case:
A customer service chatbot can use Lex for conversation and Comprehend to interpret user emotion.
3.7.2 Analytics Services
Amazon Athena: SQL queries directly on S3 data.
AWS Glue: Serverless ETL service for data lakes.
Amazon Kinesis: Real-time data streaming.
Amazon QuickSight: Business intelligence dashboards.
Discussion:
AWS makes it possible to build serverless data lakes with minimal management—an approach increasingly adopted for modern analytics platforms.
3.8 Additional Services by Category
3.8.1 Application Integration
SNS: Pub/sub model for broadcasting messages.
SQS: Decouples components using message queues.
EventBridge: Integrates applications through event buses.
3.8.2 Developer Tools
CodeBuild: Build automation.
CodePipeline: End-to-end CI/CD orchestration.
X-Ray: Visualize distributed app traces.
3.8.3 End-User Computing
WorkSpaces: Secure virtual desktop infrastructure (VDI).
AppStream 2.0: Application streaming for remote access.
3.8.4 Frontend and IoT
Amplify: Full-stack serverless for web/mobile apps.
AppSync: GraphQL API development.
IoT Core: Secure device messaging and integration.
Discussion:
These services broaden AWS’s capabilities to serve startups, enterprises, and even consumer-facing app developers—all within one integrated ecosystem.
Summary
AWS Cloud Technology and Services are foundational to building robust, scalable, and secure cloud solutions. In this chapter, we explored the essential service categories:
Multiple deployment options and tools (Console, CLI, IaC)
Global infrastructure and architectural best practices
Core services in compute, storage, databases, and networking
Serverless, container, and real-time data processing tools
Purpose-built services for AI/ML, business intelligence, and application integration
Mastering these services enables organizations to innovate faster, scale globally, and operate securely and efficiently in the cloud.