Elastic Compute Cloud (EC2)
- Vitural machine in the cloud
- Pay as you go
- Integrates with storage, netowrking, and security
- FAST! (you don't need to setup hardwares)
EC2 Benefits
- Time out market
- Scalability
- Reliability
- Security
- Control
- Services integration
- Cost efficiency
EC2 Deployment
EC2 Instance types
General Purpose
- T2, M5, M4 and M3
- Provides a balance of memory and network resources
- T2 provides burst performance
- Credits accure during the idle times
- Credits used to burst performance
- You might have application which not used 6 hours... but at certain period, there are lots of customers.
Compute Optimized
- C5, C4 and C3
- Useful for CPU-intensive applications
- Media coding
- Intensive batch jobs
- Many concurrent users
- Gaming servers
- Anything compute-intensive
Memory Optimized
- X1e, X1, R4, and R3
- Useful for high memory requirements
- Processing large datasets
- In-memory databases
- Big data processing
Storage Optimized
- H1, I3, and D2
- Useful for high sequential read/writes to local storage
- Relational databases
- Data warehousing
- Image storage and processing
Pro Tips:
Memory optimized / Storage Optimized looks like there are some overlapped. The rule is if you need both Memory & Storage optimized, you always choose a Memory optimized instance and add implement the type of EBS volume that's give you storage optimization with that.
Advanced Computing
- Pe, P2, G3, and F1
- Only useful for specialty hardware compute requirement
- Graphics processing Unit (GPU)
- FPGA
Pro Tips:
Bare Metal instances such as I3en and C5n, instances runing directly on your hardwares.
Amazon Machine Image (AMI)
- A blueprint including a machine image and details for configuration
- Each instance (AWS term) is an instance (general term)
- Free AMIs are available from Amazon and the community
- Paid AMIs are available from the AWS marketplace
Reference Architectures
- Well-architected frameworks
- AWS created architecture plans for specific scenarios
- HIPAA
- PCI-DSS
- UK-OFFICIAL
Using Quick Start, looking for the template which you are interested in, download the template, load into CloudFormation Desiger, you can quickly see the structure.
Simple Workflow (SWF)
- Will be replaced by Step Function
- Defines the sequence of events required to achieve a workflow
- Used in decoupled applications
Workflow
- Activitiess that result in a desired objective
- Logic that controls the activites
- Decider function determines best workflow
- Operates in a logical boundary in SWF to constrain the scope of the activites
SWF Activity Tasks
- One invocation of an activity: exp: processing an order
- Maybe invoked multiple times
SWF Activity Worker
- The applications that receives and processes activity tasks
SWF was the first full-features workflow management solution introduced in AWS.
SWF allows for the definition of sequenced events and is used in decoupled applications.
A workflow includes the activities and logic required to complete a process.
Step Functions
- AWS recommended practice
- Eventually replacing SWF
- Similar to SWF in functionality
- Uses state machines: Decider, Activity tasks, Worker tasks
A task is a single unit of work and choices provide branching logic.
Step functions support parallel processing.