[AWS DA - Cloud Fundamentals] 2.1 Cloud Computing & 2.2 Foundational & Compute Service
Deployment overview
Cloud Deployment Models
- Public cloud: A public cloud makes resources available over the Internet to the general public.
- Private cloud: A private cloud is a proprietary network that supplies services to a limited number of people.
- Hybrid cloud:
A hybrid model contains a combination of both a public and a private cloud.
The hybrid model is a growing trend in the industry for those organizations that have been slow to adopt the cloud due to being in a heavily regulated industry. The hybrid model gives organizations the flexibility to slowly migrate to the cloud.
Global Infrastructure
- Region: A region is considered a geographic location or an area on a map.
- Availability Zone: An availability zone is an isolated location within a geographic region and is a physical data center within a specific region.
- Edge Location: An edge location is as a mini-data center used solely to cache large data files closer to a user's location.
- Additional Information:
- There are more availability Zones (AZs) than there are Regions.
- There should be at least two AZx pre Region.
- Each region is located in a separate geographic area.
- AZs are distinct locations that are engineered to be isolated from failures.
Elastic Cloud Compute (EC2)
Elastic Cloud Compute or EC2 is a foundational piece of AWS' cloud computing platform and is a service that provides servers for rent in the cloud.
Price Options
- On Demand - Pay as you go, no contract.
- Dedicated Hosts - You have your own dedicated hardware and don't share it with others.
- Spot - You place a bid on an instance price. If there is extra capacity that falls below your bid, an EC2 instance is provisioned. If the price goes above your bid while the instance is running, the instance is terminated.
Pro Tips:
- Spot instances can save you up to 90% off the on-demand pricing.
- There are several instance types that provide varying combinations of CPU, memory, storage, and networking capacity.
Dashboard: More detail
- Elastic IP addresses - An Elastic IP address is a static IPv4 address. Assume you have a server running on an EC2 instance, that has a specific IP address. In case, the instance fails, the back-up instance will spin up. The back-up instance will have a different IP address, which will require you to update the IP address used in your client application. This problem can be solved by using the elastic IP address. An Elastic IP address can mask the failure of an instance by remapping the current IP address to another instance in your account.
Virtual Private Cloud (VPC)
Virtual Private cloud ov VPC allows you to create your own private network in the cloud. You can launch services, like EC2, inside of that pricate network. A VPC spans all Availability Zones in the region.
VPC allows you to control your virtual networking environment, which includes:
- IP address ranges
- subnets
- route tables
- network gateways
Pro Tips:
- Default limit is 5 VPCs pre Region. You can request an increase of those limits.
- Resources are automatically provisioned in a default VPC
- No Additional charges for creating and using the VPC
- You can store data in S3 and retrict access to that it's only accessible from instances in your VPC
Lambda
AWS Lambda provides you with computing power in the cloud by allowing you to execute code without standing up or managing servers.
Tips
- Lambdas have a time limit of 15 minutes.
- Lambda code can be triggered by other AWS services.
- AWS Lambda supports Java, Go, PowerShell, Node.js, C#/.NET, Python, and Ruby. There is a Runtime API that allows you to use other programming languages to author your functions.
Launch a Lambda triggered by S3
Elastic Beanstalk
With Elastic Beanstalk, you can quickly deploy and manage applications in the AWS Cloud without having to learn about the infrastructure (VPCs, security groups, EC2, databse) that runs those applications. Elastic Beanstalk reduces management complexity without restricting choice or control. You simply upload your application, and Elastic Beanstalk automatically handles the details of capacity provisioning, load balancing, scaling, and application health monitoring.
Deploy Sample App to Elastic Beanstalk