Amazon Elastic Compute Cloud (Amazon EC2) is a web service that provides secure, resizable compute capacity in the cloud. It is designed to make web-scale cloud computing easier for developers. Amazon EC2’s simple web service interface allows you to obtain and configure capacity with minimal friction. It provides you with complete control of your computing resources and lets you run on Amazon’s proven computing environment.
7x fewer downtime hours than the next largest cloud provider
**24 regions and 76 availability zones **globally
Millions of customers ranging from enterprises to startups
1. Web hosting
Amazon EC2 can host your web siteand web application, just as you would with any other server.
When you need to total control your databases, Use Amazon EC2 instance as an alternative to Amazon RDS or Amazon Dynamo DB.
Amazon EC2 instance can serve as authentication brokers, such as by hosting Microsoft Active Directory.
4. Anything a server can do
Having complete control over the guest OS, you can use your instances to do virtually anything you could do with any other server.
1. Quick Iteration Deploy and test new versions of your applications as quickly as you can request the resources. Test across a fleet of instances instead of just one or two. Speed up your entire development lifecycle by using Amazon EC2. You dont need to take a week or a month for preparing the server for your deployment.
2. Data Driven Decision - With the ability to spin up new servers on demand, you can make sure you’re pursuing the best projects, not just the ones that will conform to the hardware you have.
3. Free to make mistakes - Virtual machines make experimentation much easier and less risky. If an experiment doesn’t work out, shut down the resources it was using and stop paying for it immediately, instead of buying hardware.
Pay for compute capacity per second or by the hour, depending on OS
No long-term commitments
No upfront payments
Pre-pay for capacity
Standard Reserved Instances (RIs): Provide the most significant discount; best suited for ready state usage; least flexible type of RI
Convertible RIs: Moderate discount; able to change the attributes of the RI
Schedule RIs: RIs that launch in a time window of your choice, allowing you to match your capacity needs
Pay upfront with three different methods
Can be shared between multiple accounts
Bid for unused capacity
Prices controlled by AWS based on supply and demand
Termination notice provided two minutes prior to termination
Can provide the best discounts, but your workloads need to be able to tolerate sudden starting and stopping
Use case: Websites, web applications, build servers, code repos, microservices, test, staging, and dev environments, business applications
Use case: Small and mid-size databases, data processing tasks that require additional memory, caching fleets, backend SAP servers, Microsoft SharePoint, cluster computing, other enterprise applications
Use case: High-performance web servers, high-performance computing, scientific modeling, batch processing, distributed analytics, machine/deep learning inference, ad serving, highly scalable multiplayer gaming, video encoding
Use case:In-memory databases (SAP HANA), big data processing engines (Apache Spark or Presto)
Use case: High-performance databases, data mining and analytics, in-memory databases, distributed web scale in-memory caches, applications performing real-time processing of unstructured big data, Hadoop/Spark clusters, and other enterprise data applications
Use case: Machine learning, deep learning, high-performance computing, computational fluid dynamics, computational finance, seismic analysis, speech recognition, autonomous vehicles, pharmaceutical discovery
Use case: Genomics research, financial analytics, real-time video processing, big data search and analysis, and security analytics
Use case: Amazon EMR-based workloads, distributed file systems such as HDFS and MapR-FS, network file systems, log or data processing applications such as Apache Kafka, big data workload clusters
Use case: NoSQL databases, in-memory databases (e.g. Aerospike), scale-out transactional databases, data warehousing, Elasticsearch, and analytics workloads.
Use case: Massively parallel processing (MPP) data warehousing, MapReduce and Hadoop distributed computing, distributed file systems, network file systems, log or data-processing applications.
Use case: 3D visualizations, graphics-intensive remote workstations, 3D rendering, application streaming, video encoding, other server-side graphics workloads
Resource tagging Help you more easily to manage, search for them, filter them when you looking for list of them.
Cluster Placement group If your compute layer needs the lowest possible latency and highest packer per second network performance, consider using cluster placement group.
Spreed placement gropu If you application have a small number of critical instances that should be kept separate from each other, consider using spread placement groups.