0% found this document useful (0 votes)
6 views38 pages

Module 4

The document provides an overview of AWS services including Amazon RDS, DynamoDB, and Amazon Redshift, detailing their features, deployment options, and use cases. It also covers AWS development tools such as CloudFormation and Elastic Beanstalk, emphasizing automation in infrastructure management and application deployment. Additionally, it discusses CI/CD pipelines and best practices for using these tools to enhance development efficiency and reliability.

Uploaded by

Wasil Khan
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
6 views38 pages

Module 4

The document provides an overview of AWS services including Amazon RDS, DynamoDB, and Amazon Redshift, detailing their features, deployment options, and use cases. It also covers AWS development tools such as CloudFormation and Elastic Beanstalk, emphasizing automation in infrastructure management and application deployment. Additionally, it discusses CI/CD pipelines and best practices for using these tools to enhance development efficiency and reliability.

Uploaded by

Wasil Khan
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 38

AWS Cloud Practitioner

Module 4
Amazon Relational Database Service (RDS)

 Amazon Relational Database Service (RDS) is a managed database


service that makes it easy to set up, operate, and scale relational
databases in the AWS cloud.

 It provides automated administrative tasks such as provisioning,


patching, backups, and scaling.

2
Key features of (RDS)
1. Multi-Engine Support

3
Key features of (RDS)
1.2. Automated Database Administration

• Automated Backups: RDS can automatically back up databases based


on user-defined retention periods (1–35 days).

• Snapshots: Manual backups that can be stored indefinitely.

• Point-in-Time Recovery (PITR): Restore a database to any second


within a retention period.

• Automated Software Patching: RDS applies patches and updates


during the maintenance window without manual intervention.

4
Key features of (RDS)
1.3. Scalability

•Vertical Scaling: Change the instance type to a larger or smaller instance


(e.g., from db.t3.micro to db.m5.large).

•Horizontal Scaling: Add read replicas for distributing read traffic.

•Storage Auto-Scaling: Storage automatically grows up to a specified


limit without downtime.

5
Key features of (RDS)
1.4. High Availability & Disaster Recovery
1. Multi-AZ Deployments (Automatic Failover)
1. Maintains a synchronous standby replica in another AZ.
2. Failover happens automatically if the primary instance fails.
2. Read Replicas (Scalability & Performance)
1. Asynchronous replication of the primary database.
2. Used to distribute read traffic and reduce the load on the primary
database.
3. Available for Aurora, MySQL, PostgreSQL, and MariaDB.
3. Aurora Global Database
1. Multi-region database replication for disaster recovery and low-
latency global access

6
Key features of (RDS)
1.5. Security & Compliance
• IAM Integration:
• Manages user access via AWS Identity and Access Management (IAM).
• Encryption:
• At rest: Uses AWS KMS to encrypt database storage and snapshots.
• In transit: Uses SSL/TLS for secure connections.
• Network Security:
• VPC (Amazon Virtual Private Cloud) support for database isolation.
• Security Groups & Network ACLs control access to the database.
• Audit Logging:
• Tracks database activity using AWS CloudTrail and RDS logs.
• Compliance:
• RDS meets industry standards such as PCI-DSS, HIPAA, and FedRAMP.

7
Key features of (RDS)
1.6. Cost-Effective Pricing

• On-Demand Instances:
• Pay for database usage on an hourly basis.
• Reserved Instances:
• Up to 75% savings for 1-year or 3-year commitments.
• Aurora Serverless:
• Automatically scales based on workload, reducing costs for
intermittent usage.

8
Amazon RDS Deployment Options
Amazon RDS provides different deployment strategies based on business
needs.

2.1. Single-AZ Deployment


• Runs a single database instance in one Availability Zone (AZ).
• Suitable for development, testing, or low-priority applications.

2.2. Multi-AZ Deployment (High Availability)


• Creates a standby replica in another Availability Zone.
• Automatic failover in case of instance failure.
• Ideal for production environments.

9
Amazon RDS Deployment Options

2.3. Read Replicas (Scalability)


• Can be deployed across multiple regions.
• Used for distributing read traffic and offloading queries from the
primary database.
• Can be promoted to a standalone database if needed.

10
Amazon RDS Use cases
3.1. Web & Mobile Applications
• Powering dynamic content, user authentication, and transactional data.
3.2. E-commerce Platforms
• Handling product catalogs, shopping carts, and user orders.
3.3. Enterprise Applications (ERP & CRM)
• Storing and managing business-critical data securely.
3.4. Data Warehousing & Analytics
• Using Aurora or PostgreSQL for analytical workloads with parallel
queries.
3.5. Multi-Tenant SaaS Applications
• Isolating tenant data with separate databases or schemas.

11
DynamoDB
 Data base Type
 Unstructured data
 Semi-Structured data
 Structured data

 It is a fully managed, key-value NoSQL database designed to


run high-performance applications at any scale

 DynamoDB offers built-in security, continuous backups,


automated multi-region replication, in-memory caching, and
data export tools.

12
DynamoDB: Table
Roll No : 01
Name :ABC
Class :B.Tech
Age : 19
Roll No :03
Name :XYZ
Items Branch :CSE
Favourite Colour:BLUE
Roll No :05
Hobby :BasketBall
Location :Bhopal
Position :Software Engineer

13
DynamoDB: Table
 Table
 A Table is a collection of data items
 Dynamo DB stores data in Tables
 Item
 Each Table contains multiple items
 An item is a group of attributes that is uniquely identifiable among all of
the other items
 An item consists of a primary or composit key.
 Items in DynamoDB are similar into Rows, Records in other DB
 Attribute
 Each item is composed of one or more attributes.
 An attribute consists of the attribute name and value or a set of value
 An attribute is a fundamental data element
 Note: Aggregate size of an item cannot exceed 400KB including Key and
all Attributes
14
DynamoDB: Table
 Dynamo DB allows low latency read/write access to items
ranging from 1 byte to 400 KB.
 Dynamo DB can be used to store pointers to S3 stored
objects
 Dynamo DB stores data indexed by a primary key
 Each item has a unique identifier or primary key

15
DynamoDB: Read Capacity Unit
 In dynamo DB, Read capacity unit (RCU) calculation differs
slightly depending on whether you are using strongly
consistent or eventually consistent.

Consistent type RCU Consumption


Strongly consistent 1 RCU= 1 READ per second for an
item upto 4 KB in size
Eventually Consistent 1 RCU= 2 READs per second for an
Read item upto 4 KB in size

16
DynamoDB: Write Capacity Unit

 1 WCU= 1 WRITE per second for an item upto 1 KB in


size

 If the item is larger, the WCU consumption is rounded


upto next KB multiple.

17
DynamoDB: Pricing
 Reads are cheaper than Write
 You pay for-
 Each table’s provisioned read/write throughput (hourly rates)
 You are charged for provisioned throughput regardless whether
you use it or not
 Indexed data storage
 Internet data transfer

DynamoDB can do 10,000 write capacity unit/sec or 10,000 read


capacity unit per second per table.

18
Amazon Redshift
 Amazon Redshift is a fully managed cloud data warehouse service
designed for analytical workloads.

 It is optimized for OLAP (Online Analytical Processing) and is used for


running complex queries on large datasets.

Key features of Amazon Redshift


•Columnar Storage
•Stores data in columns instead of rows, improving query performance for
analytical workloads.

•Massively Parallel Processing (MPP)


•Distributes query execution across multiple nodes, enabling fast data retrieval.

19
Key features of Amazon Redshift
•High Performance with Query Optimization
•Uses advanced query planning, caching, and compression to speed up execution.

•Scalability & Elasticity


•Scales horizontally by adding more nodes or vertically by upgrading instance
types.
•Redshift Serverless allows on-demand scaling without manual cluster
management.

•Data Integration
•Supports data ingestion from S3, DynamoDB, RDS, Kinesis, and on-
premises databases.
•Can query data from Amazon S3 (via Redshift Spectrum) without loading
it into Redshift.

20
Key features of Amazon Redshift
•Cost Optimization
•Pay-as-you-go pricing for storage and compute.
•Uses compressed storage to reduce costs.
•Serverless option eliminates the need for provisioning clusters.

•Security & Compliance


•Encryption (AWS KMS, SSL/TLS) for data protection.
•IAM integration for access control.
•VPC support for network isolation.

21
Amazon Redshift, Amazon RDS, Dynamo DB

22
AWS Development Tools

Introduction
• Overview of AWS Development Tools
• Importance of automation in cloud development
• How AWS tools enhance DevOps practices

23
AWS Development Tools

What is AWS CloudFormation?

• Definition: AWS CloudFormation is an Infrastructure as Code (IaC) service


that helps automate the provisioning of AWS resources.

• Purpose: It allows developers to define and deploy AWS infrastructure using


templates.

• Infrastructure as Code (IaC) Concept: Helps manage infrastructure in a


structured, repeatable way using JSON or YAML templates.

24
AWS Development Tools

Benefits of AWS CloudFormation

• Automated provisioning: Eliminates manual infrastructure setup.

• Version control for infrastructure: Enables tracking changes and rollback.

• Reusability of templates: Use predefined templates across multiple


deployments.

• Cost optimization: Automates resource management, reducing unnecessary


expenses.

25
AWS Development Tools

AWS CloudFormation Key Components


• Templates: JSON or YAML files defining resources and configurations.

• Stacks: A collection of AWS resources managed as a single unit.

• StackSets: Allow managing multiple stacks across different AWS accounts and
regions.

• Change Sets: Preview changes before applying updates.

26
AWS Development Tools

AWS CloudFormation Use Cases

• Automating infrastructure deployment: Reduces human errors and


accelerates provisioning.

• Managing multi-region deployments: Ensures consistency across


different locations.

• Disaster recovery: Enables quick restoration of resources.

• Security compliance: Implements predefined security standards.

27
AWS Development Tools

What is AWS Elastic Beanstalk?

• Definition: AWS Elastic Beanstalk is a Platform as a Service (PaaS) that


simplifies application deployment.

• Purpose: Automatically handles deployment, scaling, monitoring, and load


balancing.

• Supported languages: Java, .NET, PHP, Node.js, Python, Ruby, Go, and
Docker.

28
AWS Development Tools

Benefits of AWS Elastic Beanstalk

• Simplified deployment process: No need to manage infrastructure


manually.

• Built-in scaling and monitoring: Automatically adjusts resources based on


traffic.

• Supports multiple languages & frameworks: Compatible with various


development stacks.

• Integration with AWS services: Works seamlessly with RDS, S3, and IAM.

29
AWS Development Tools

AWS Elastic Beanstalk Workflow


1. Application Deployment: Upload application code to Beanstalk.

2. Configuration & Scaling: Automatically provisions EC2 instances and scales


based on demand.

3. Monitoring & Logs: Uses Amazon CloudWatch and health dashboards for
tracking performance.

4. Updates & Rollbacks: Supports version control and easy rollbacks.


• .

30
AWS Development Tools

AWS Elastic Beanstalk Use Cases

• Web application hosting: Deploy web apps with minimal effort.

• Microservices deployment: Supports containerized applications


using Docker.

• Development and testing: Quickly deploy test environments.

• E-commerce platforms: Handles traffic spikes efficiently.


• .

31
AWS Development Tools

Introduction to CI/CD Pipelines

• Continuous Integration (CI): Automates code integration and


testing.

• Continuous Deployment (CD): Ensures smooth and automated


deployment to production.

• Importance: Reduces manual effort, increases development speed, and


improves reliability.

32
AWS Development Tools
Introduction to CI/CD Pipelines
• Continuous Integration (CI): Automates code integration and testing.
• Continuous Deployment (CD): Ensures smooth and automated
deployment to production.
• Importance: Reduces manual effort, increases development speed, and
improves reliability.

AWS CI/CD Tools Overview


• AWS CodeCommit: Managed Git repository service.
• AWS CodeBuild: Fully managed build service.
• AWS CodeDeploy: Automates application deployment.
• AWS CodePipeline: Orchestrates CI/CD workflows.
33
AWS Development Tools
What is AWS CodePipeline?
• Definition: AWS CodePipeline is a CI/CD automation service that enables
continuous integration and delivery.
• Purpose: Automates software release processes from source code to
deployment.
• Role in CI/CD workflows: Orchestrates source, build, test, and deploy
stages.
Benefits of AWS CodePipeline
• Fully managed CI/CD automation: Eliminates manual intervention.
• Integration with AWS & third-party tools: Works with GitHub, Jenkins,
and Bitbucket.
• Parallel execution of deployments: Speeds up releases and reduces
errors.
• Automated testing and rollback: Ensures reliable deployments.
34
AWS Development Tools
AWS CodePipeline Workflow
1. Source Stage: Fetches code from CodeCommit, GitHub, or S3.
2. Build Stage: Uses CodeBuild to compile and test code.
3. Test Stage: Runs automated tests to detect errors.
4. Deploy Stage: Deploys the final build to Elastic Beanstalk, EC2, or other
AWS services.

AWS CodePipeline Use Cases


• Automating application releases: Ensures fast and consistent
deployments.
• Enabling DevOps practices: Improves collaboration and efficiency.
• Continuous security checks: Integrates security scanning into pipelines.
• Multi-environment deployment: Supports staging, QA, and production
35
workflows.
Comparison of AWS Cloudformation, Beanstalk & CodePipeline

36
AWS Development Tools
Best Practices for Using AWS Development Tools
• Define clear IaC templates: Standardize infrastructure deployments.
• Automate testing in CI/CD: Prevent bugs from reaching production.
• Monitor application performance: Use AWS CloudWatch and X-Ray.
• Enable security best practices: Use IAM roles, encryption, and logging.

Challenges & Solutions


• Managing large CloudFormation stacks → Use modular templates with
nested stacks.
• Debugging Beanstalk applications → Leverage logs and monitoring
tools.
• Handling deployment failures in CodePipeline → Implement rollback
strategies.
37
AWS Development Tools

• Summary: AWS provides a robust set of development tools for automating


infrastructure, application deployment, and CI/CD pipelines.

• Importance: Improves efficiency, reduces errors, and accelerates


development cycles.

• Final Thought: Choosing the right tool depends on specific use cases and
requirements.

38

You might also like