# AWS Technical Essentials
[toc]
---
**Important Links**
---
:::success
- [Digital training (AWS Skillbuilder)](https://explore.skillbuilder.aws/)
- [Classroom training](https://aws.amazon.com/training)
- [AWS Workshops](https://workshops.aws/)
- [Tech Talks](https://aws.amazon.com/events/online-tech-talks/on-demand/)
- [AWS Technical Essentials [Self-paced version]](https://explore.skillbuilder.aws/learn/course/external/view/elearning/1851/aws-technical-essentials)
- [AWS Cloud Quest: Cloud Practitioner](https://explore.skillbuilder.aws/learn/course/external/view/elearning/11458/aws-cloud-quest-cloud-practitioner)
- [AWS Rampup guides](https://aws.amazon.com/training/ramp-up-guides/)
- [AWS Trainings and Webinars](https://aws.amazon.com/training/events/)
- [AWS Certification Home Page](https://aws.amazon.com/certification)
- [AWS 12 Week workshop Challenge](https://12weeksworkshops.com/)
:::
---
**Keywords**
---
:::info
- IT Resources
- Compute
- Storage
- Networking
- Container like technologies
- chroot
- bsd jails
- solaris Zones
- Hypervisors
- ESXi
- KVM
- AWS Nitro Systems
- Shared tenancy model
- Limits / Quotas
- DAS vs SAN vs NAS
:::
---
### [General Concepts](https://aws.amazon.com/what-is-aws/)
---
**Cloud Deployment Models**
:::success
- Cloud
- On-prem / Private Cloud
- Hybrid (Cloud + On-prem)
:::
**[AWS Global Infrastructure](https://aws.amazon.com/about-aws/global-infrastructure/)**
:::success
- Regions
- Availability Zones
- Edge Locations
:::
**AWS Services can be accessed via**
:::success
- Console (GUI)
- AWSCLI (Command Line)
- SDK (Programmatic access)
:::
**AWS Services scope can be**
:::success
- Global --> IAM, Route 53
- Regional --> VPC, DynamoDB
- AZ specific --> EC2, Subnets
:::
**AWS services can be**
:::success
- Managed --> ElastiCache
- Unmanaged --> EC2, EBS
:::
**AWS Services can have**
:::success
- Soft limits / Quotas
- 100 S3 buckets per account
- 1000 Parallel Lambda invocations
- Hard limits / Quotas
- 5TB Max object size in S3
:::
:arrow_right: *Check **Service Quotas** for your account specific limits*
---
### [Access management on AWS](https://aws.amazon.com/iam/)
---
:::warning
- IAM
- Users
- Groups
- Policies
- Roles
- Temporary elevated privileges
- Federated access
- Application to service/resource access
:::
----
### [Compute on AWS](https://aws.amazon.com/products/compute/)
----
:::warning
- Virtual Machines
- EC2
- Containers
- ECS
- EKS
- Serverless
- Lambda (Functions-as-a-Service and Event Driven Architectures)
- Fargate (Containers and Microservices)
:::
**Compute Evolution**
:::info
```
- Physical Machines --> Virtual Machines --> Containers (2013)
--> Serverless (2014)
```
:::
**EC2 Pricing Options**
:::warning
- On-demand
- Spot
- Commitment based
- Reserved Instances
- Savings Plan
- Hardware isolation
- Dedicated Instances
- Dedicated Hardware
:::
---
### [Networking on AWS](https://aws.amazon.com/products/networking/)
---
:::warning
- VPC
- **Routing**
- Subnets
- Route tables
- Internet Gateway
- NAT Gateways
- **Security**
- Security Groups
- Firewalls at the instance level
- Default: All incoming blocked; all outgoing allowed
- Network ACLs
- Firewalls at the subnet level
- Default: All incoming / outgoing allowed
- Hybrid / Connectivity
- Virtual Private Gateway
- VPN
- Direct Connect
:::
**CIDR Notation**
:::info
0.0.0.0/0 --> All the IPs in the world / Internet
1.2.3.4/32 --> CIDR notation for 1.2.3.4
:::
---
### [AWS Storage Portfolio](https://aws.amazon.com/products/storage/)
---
:::warning
- **Object Storage**
- S3 | Internet accessible unlimited Object storage | Pay for what you use
- Storage Classes
- Versioning
- Access Control
- Bucket ACLs
- Bucket policies
- IAM policies
- **Block Storage**
- EBS | Persistent Block storage | SAN | Pay for what you provision | Attach the Volume
- SSD Based
- Provisioned IOPS SSD volumes
- General Purpose
- HDD Based
- Throughput Optimized HDD volumes
- Cold HDD
- Instance Store | Ephemeral Block Storage | DAS | Free / Complimentary
- **File/Network Storage** | NAS | Pay for what you use | Mount the file system
- EFS | Linux workloads | NFS 4.0 and 4.1
- FSx | Windows workloads | CIFS / NTFS / SMB
:::
**Analogies to understand storage solutions**
:::info
Block --> C:\, D:\
Object --> C:\myfiles, D:\officedocs
Network --> K:\, G:\, Z:\ (NTFS, CIFS, SMB, NFS)
:::
---
### [Databases on AWS](https://aws.amazon.com/products/databases/)
---
**Relational**
:::warning
- RDS DB Engines
- MySQL
- MS SQL
- Oracle
- PosgreSQL
- Maria DB
- Amazon Aurora
- RDS Features
- Multi-AZ (Synchronous Replication) --> High Availablity
- Read replicas (Asynchronous Replication) --> Performance Benefit
- Automated backups (Upto 35 Days retention)
- Database Sharding (For Performance benefits)
:::
**Non Relational**
:::warning
- DynamoDB
- Fully Managed non-relational DB service
- Global Tables
- Eventually and Strongly consistency models
- Extreme horizontal scaling capacity
- DocumentDB [MongoDB_compatible]
- Keyspaces [Managed_Apache_Cassandra]
:::
**Other Purpose-Built Databases**
:::warning
- Redshift [Data_warehousing]
- Elasticache [Database_Caching]
- Redis
- Memcached
- Neptune [Graph_Database]
- Amazon QLDB [HyperLedger/Blockchain]
- Amazon Timestream [Time_Series]
:::
----
### [Monitoring and Observability on AWS (CloudWatch)](https://aws.amazon.com/cloudops/monitoring-and-observability/)
---
:::warning
- Monitoring
- Standard Monitoring
- Enabled by default
- Free tier
- 5 minute granularity
- Detailed Monitoring
- has to be enabled
- incurres extra cost
- 1 minute (or less) granularity
- Compontents
- Metrics
- Default Metrics
- Custom Metrics
- Logs
- Events
- Alarms
- Notify (emails/sms/chats)
- Take actions (Auto scaling events/ Trigger Lambda)
- Dashboard
:::
---
### [Load Balancing on AWS](https://aws.amazon.com/elasticloadbalancing/)
---
:::warning
- ELB (Elastic Load Balancer)
- ALB | Layer 7 | http and https | Content/path based routing
- NLB | Layer 4 | tcp, udp, tls | IP based routing
- GLB | Layer 3/4 | IP filtering | hosted security appliances
:::
**Content based routing**
:::success
```yaml
amazon.co.uk/home
/payments
/orders
/wishlists
/cart
```
:::
**Scaling Concepts**
:::info
- Vertical Scaling
- Scale up/down
- Horizontal Scaling
- Scale in/out

:::
---
### [Scaling on AWS](https://aws.amazon.com/ec2/autoscaling/)
---
:::warning
- EC2 Auto Scaling
- Launch Templates
- Auto Scaling Groups
- Auto Scaling Policies
- Scheduled
- Dynamic
- Predictive (Intelligent)
:::
### References
:::info
- https://aws.amazon.com/about-aws/global-infrastructure/
- https://aws.amazon.com/cli/
- https://aws.amazon.com/developer/tools/
- https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_examples.html
- https://aws.amazon.com/ec2/nitro/
- https://aws.amazon.com/ec2/instance-types/
- https://www.rfc-editor.org/rfc/rfc1918
- https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebs-volume-types.html
- https://aws.amazon.com/s3/storage-classes/
- https://aws.amazon.com/products/databases/
:::
:::danger
:warning: *Disclaimer: The content provided here is for informational purposes only and is based purely on my own understanding, knowledge and experience. This is **NOT** an official AWS documentation.*
:::