Search This Blog

Friday, November 25, 2016

Part 2 - AWS - Elastic Compute Cloud EC2

EC2 (Elastic Compute Cloud)















·        Resizable compute capacity
·        Complete control of your computing resources
·        Reduces the time required to obtain and boot new service instance to minutes.
·        Scale capacity as your computing requirement changes
·        Pay only for capacity that you actually use.
·        Choose Linux or Windows
·        Deploy across AWS regions and Availability Zones for reliability.

Basic Terminology:

Instance:
·        Running virtual Server
·        Created from AMI Template
Elastic IP
·        Static IP address assigned to an account.
·        Static IP address may be assigned/reassigned to instances
o   That is why they are called elastic
Security Group
·        Like a network segment behind a firewall
Amazon Elastic Compute Cloud (Amazon EC2) is a web service that provides resizable compute capacity in the cloud. Amazon EC2 reduces the time required to obtain and boot new server instances to minutes, allowing you to quickly scale capacity, both up and down, as your computing requirements change. 

EC2 Options:

·       On Demand Instance- allow you to pay a fixed rate by the hour with no commitment.
o   Users that want the low cost and flexibility of Amazon EC2 without any up-front payment or long-term commitment
o   Application with short term, spiky, or unpredictable workloads that cannot be interrupted.
o   Applications being developed or tested on Amazon EC2 for the first time
·        Reserved Instance - provide you with a capacity reservation, and offer a significant discount on the hourly charge for an instance. 1 Year or 3 Year Terms
o   Applications with steady state or predictable usage
o   Applications that require reserved capacity
o   Users able to make upfront payments to reduce their total computing costs even further.
·        Spot Instance- enable you to bid whatever price you want for instance capacity providing for even greater savings if your applications have flexible start and end times.
o   Applications that have flexible start and end times
o   Applications that are only feasible at very low compute prices
o   Users with urgent computing needs for large amounts of additional capacity.
o   If the Spot instance is terminated by Amazon EC2, you will not be charged for a partial hour of usage. However, if you terminate the instance yourself, you will be charged for any hour in which the instance ran.

EC2 Instance Type:


 



 How I remember them;
·        D for Density
·        I for IOPS
·        R for RAM
·        T cheap general purpose (think T2 Micro)
·        M - main choice for general purpose apps
·        C for Compute
·        G – Graphics

AWS EC2 Instance Purchasing Option

Overview

·        Amazon provides different ways to pay for the EC2 instances
§  On-Demand Instances
§  Reserved Instances
§  Spot Instances
·        Light, Medium, and Heavy Utilization Reserved Instances are no longer available for purchase and were part of the Previous Generation AWS EC2 purchasing model

Instance Purchasing Options

On-Demand Instances

·        No Upfront costs or commitments-Simple Pay by the hour.
·        Instance runs until you stop or terminate it.
·        Instances can be scaled accordingly as per the demand
·        Although AWS makes effort to have the capacity to launch On-Demand instances, there might be instances during peak demand where the instance cannot be launched
·        Well suited for
§  Users that want the low cost and flexibility of Amazon EC2 without any up-front payment or long-term commitment
§  Applications with short term, spiky, or unpredictable workloads that cannot be interrupted
§  Applications being developed or tested on Amazon EC2 for the first time

Reserved Instances

·        Reserved Instances provides lower hourly running costs by providing a billing discount as well as capacity reservation that is applied to instances and there would never be a case of insufficient capacity from AWS
·        Discounted usage price is fixed for as long as you own the Reserved Instance, allowing you to predict compute costs over the term of the reservation.
·        Reserved instances are best suited if consistent, heavy, use is expected and they can provide savings over owning your own hardware or running only On-Demand instances.
·        Well Suited for
§  Applications with steady state or predictable usage
§  Applications that require reserved capacity
§  Users able to make upfront payments to reduce their total computing costs even further
·        Reserved instance is not a physical instance that you launch, but it’s just an accounting term applied to the instance usage during billing
·        Reserved Instances do not renew automatically, and the EC2 instances can be continued to be used but charged On-Demand rates
·        Auto Scaling or other AWS services can be used to launch the On-Demand instances that use the Reserved Instance benefits
·        With Reserved Instances
§  You pay for the entire term whether or not you use it
§  Once purchased, the reservation cannot be cancelled but can be sold
§  Reserved Instance pricing tier discounts only apply to purchases made from AWS, and not to the third party Reserved instances
How Reserved Instances work
Billing Benefits & Payment Options
·        Reserved Instance purchase reservation is automatically applied to running instances that match the specified parameters
·        Reserved Instance can also be utilized by launching On-Demand instances with the same configuration as to the purchased reserved capacity
Payment Options
·        No Upfront
o   No upfront payment is required and the account is charged on a discounted hourly rate for every hour, regardless of the usage
o   Only available as 1-year reservation
·        Partial Upfront
o   A portion of the cost is paid upfront and the remaining hours in the term are charged at an hourly discounted rate, regardless of the usage
·        Full Upfront
o   Full payment is made at the start of the term, with no costs for the remainder of the term, regardless of the usage
Understanding Hourly Billing
·        Reserved Instances are billed for every hour during the term that you select, regardless of whether the instance is running or not.
·        Reservations and discounted rates only apply to one instance-hour per hour. If an instance restarts during the first hour of a reservation and runs for two hours before stopping, the first instance-hour is charged at the discounted rate but three instance-hours are charged at the On-Demand rate. If the instance restarts during one hour and again the next hour before running the remainder of the reservation, one instance-hour is charged at the On-Demand rate but the discounted rate is applied to previous and subsequent instance-hours.

Spot Instances

·        Spot instances enables bidding on unused EC2 instances, and are launched whenever the bid price exceeds the current market spot price
·        Amazon EC2 sets up the hourly price which fluctuates depending upon the demand and supply of spot instances
·        Spot instances are a cost-effective choice and can bring the EC2 costs significantly
·        Spot instances can be used for applications flexible in the timing when they can run and also able to handle interruption by storing the state externally for e.g. they are well-suited for data analysis, batch jobs, background processing, and optional tasks
·        Well Suited for
§  Applications that have flexible start and end times
§  Applications that are only feasible at very low compute prices
§  Users with urgent computing needs for large amounts of additional capacity
·        Spot instances differ from the On-Demand instances
§  they are not launched immediately
§  they can be terminated anytime
§  prices vary as per the demand and supply of spot instances
·        Usual strategy involves using Spot instances with On-Demand or Reserved instances, which provide a minimum level of guaranteed compute resources, while spot instances provide an additional computation boost
·        Spot instances can also be launched with a required duration (also known as Spot blocks), which are not interrupted due to changes in the Spot price
·        Amazon EC2 provides a data feed, sent to an Amazon S3 bucket specified during subscription, that describes the Spot instance usage and pricing
·        T2 and HS1 instance class types are not supported for Spot instances
Spot Concepts
·        Spot pool – Pool of EC2 instances with the same instance type, availability zone, operating system and network platform
·        Spot price – Current market price of a spot instance per hour as set by Amazon EC2 based on the last fulfilled bid
·        Spot bid – is the maximum bid price the bidder is willing to pay for the spot instance
·        Spot fleet – is the set of instances launched based on the criteria the bidder
·        Spot instance interuption – Amazon EC2 terminates the spot instances whenever the bid price is lower than the current market price or the supply has reduced
·        Bid status – provides the current state of the spot bid
Spot Pricing & How it works
·        Amazon EC2 sets up an hourly spot price which fluctuates depending upon the demand and supply.
·        If the bid price exceeds the current market spot price, the request is fulfilled by Amazon till either the spot instance is terminated or the spot price increases beyond the bid price
·        Everyone pays the same market price for tha period irrespective of the bid price given the bid price is more than the spot price for e.g. if the spot price is $0.20 and there are 2 bids from Customers with bid price $0.25 and $0.30, both customers would still pay $0.20 only
·        If the Spot instance is terminated by Amazon, you are not billed for the partial hour. However, if the spot instance are terminated by you, you will be charged for the partial hour
·        Spot instances with a predefined duration use a fixed hourly price that remains in effect for the Spot instance while it runs
·        Amazon EC2 can interrupt the Spot instance when the Spot price rises above your bid price, when the demand for Spot instances rises, or when the supply of Spot instances decreases.
·        When Amazon EC2 marks a Spot instance for termination, it provides a Spot instance termination notice, which gives the instance a two-minute warning before it terminates.
·        Termination notice warning is made available to the applications on the Spot instance using an item in the instance metadata and needs to check periodically (aws recommends every 5 seconds)
·        Amazon EBS-backed instance if it is a Spot instance cannot be stopped and started, but only rebooted or terminated
Pricing Example

·        State 1 – Starting with Amazon EC2 has 5 Spot instances available
§  6 bids available for Spot instances
§  Amazon EC2 picks up the top five priced bids and allocates a Spot instance to them
§  Spot Price is $0.10
§  Bid with the price of $0.05 is not served
·        State 2 – Supply of Amazon EC2 Spot instances reduce to 3
§  Amazon EC2 terminates the 2 spot instances with $0.10 ( the order in which the instances are terminated is determined at random )
§  Rest of the Spot instances continue
·        State 3 – New bid for Spot Instance is placed with Price $0.15 is placed
§  Spot instance with price $0.15 is fullfilled
§  Amazon EC2 terminates the single spot instances with $0.10
§  Spot Price changed to $0.15
·        State 4 New bid for Spot Instance is placed with Price $2 is placed
§  Spot instance with price $2 is fulfilled
§  Amazon EC2 terminates the single spot instances with $0.15
§  Spot Price changed to $1.00
Spot Instances best practices
·        Choose a reasonable bid price, which is low enough to suit you budget and high enough for the request to be fulfilled and should not be higher than the On-Demand bid price
·        Ensure the instances and up and ready as soon as the request is fulfilled, by provisioning a AMI with all the required softwares and load application data from user data
·        Store important data regularly and externally in a place that won’t be affected when the Spot instance terminates for e.g., you can use Amazon S3, Amazon EBS, or DynamoDB.
·        Divide the work into smaller finer tasks so that they can be completely and state saved more frequently
·        Use Spot termination notice warning to monitor instance status regularly
·        Test applications to ensure that it handles unexpected termination gracefully. This can be tested by using On-Demand instances and terminating them

Exam Tips EC2

·        Know the differences between;
o   On Demand
o   Spot
o   Reserved
·        Remember with spot instances;
o   If you terminate the instance, you pay for the hours
o   If AWS terminates the spot instance, you get the hour it was terminated in for free.

EC2 Lab Exam Tips

·        Termination Protection is turned off by default, you must turn it on.
·        On an EBS-backed instance, the default action is for the root EBS volume to be deleted when the instance is terminated.
·        Root volumes cannot be encrypted by default, you need a third party tool (such as bit locker etc.) to encrypt the root volume.

·        Additional volumes can be encrypted.

EC2 Container Services (Not in exam as of now)



·        Amazon EC2 Container Service (Amazon ECS) is a highly scalable, fast, container management service that makes it easy to run, stop, and manage Docker containers on a cluster of Amazon Elastic Compute Cloud (Amazon EC2) instances.

·        Amazon ECS lets you launch and stop container-based applications with simple API calls, allows you to get the state of your cluster from a centralized service, and gives you access to many familiar Amazon EC2 features.


No comments:

Post a Comment