Extra Solution Architecture and AWS Services discussions
Extra Solution Architecture and AWS Services discussions
Lambda, SNS & SQS
- SQS + Lambda
- SQS FIFO + Lambda
- SNS asynchroous to Lambda + SQS
Fan Out Pattern: deliver to multiple SQS
- SDK put SQSs
- SDK put SNS subcrible SQS(fan out)
S3 Events
- S3: objectCreated, S3:ObjectRemove, S3:ObjectRestore, S3:Replication…
- Object name filtering possible (*.jpg)
- Use case: generate thumbnails of images upload to S3
- Can create as many “S3 events” as desired
- S3 event notificatiions typically deliver events in secconds butt can sometimes take a minutesor longer
- If two writes are made to a single non-versioned object at the same time, it is possible that only a single event notification will be sent
- If you want to ensure tthat an event notification is sent for every successful write you can enable versioning on your bucket
Caching Strategies
- Clientt -> CloudFront -> API gateway -> App Logic Ec2 / Lambda -> Redis Memcached -> Database
- Cliennt -> CloudFront(Edge) -> S3
- Caching, TTL, Network, Computation, Cost, Latency
Blocking an IP address
- EC2 Instance Public IP
- Optional Firewall Software in EC2s
- NACL + Security groups
Blocking an IP address – with an ALB
- Application Load Balancer Connection Termination
- EC2 Instance Private IP
Blocking an IP address – with an NLB
- Network Load Balancer Traffic goes through No Security Group
Blocking an IP address – ALB + WAF
- ALB + WAF(IP address filtering)
Blocking an IP address – ALB, CloudFront WAF
- Client -> CloudFront(GEO Restriction) -> WAF IP address filtering -> CloudFrontt Public IPs -> Public ALB -> EC2 Security group
High Performance Computing (HPC)
- The cloud is perfect place to perform HPCC
- You can create a very high number of resources in no time
- You can speed up time to results by adding more resources
- You can pay only for the systems you have used
- Perform genomics, computation chemistry, financial risk modeling, weather predictionn, machine learning, deep learning, autonomous driving
- Which services help perform HPC?
Data Management & Transfer
- AWS Direct Connect
- Move GB/s of data to the cloud, over a private secure network
- Snowball & Snowmobile
- Move PB of data to the cloud
- AWS DataSync
- EC2 Instances:
- CPU optimized, GPU opttimized
- Spot Instances / Spot Fleets for cost savings + Auto Scaling
- EC2 Placement Groups: Cluster for good network performance
- Placement group cluster low latency 10Gbps network
Compute and Networking
- EC2 Enhaced Networking (SR-IOV)
- Higher bandwidth, higher PPS (packet per second), lower latency
- Option1: Elastic Network Adapter (ENA) up to 100 Gbps
- Option2: Intel 82599 VF up to 10 Gbps - LEGACY
- Elastic Fabric Adapter (EFA)
- Instance-attached storage
- EBS: scale up to 256000 IOPS with io2 Block Express
- Instance Store: Scale tto millions of IOPS, linked to EC2 instancee, low latenccy
- Network storage:
- AWS Batch
- AWS BAtch supports multi-node parallel jobs, which enables you to run single jobs that span multtiple EC2 instances
- Easily schedule jobs and launch EC2 instances accordingly
- AWS ParallelCluster
- Open-source cluster management tool to deploy HPC on AWS
- Configure with text files
- Automate creation of VPC, subnet, clusterr type and instancce types
- Abiliitty to enable EFA on the cluster (improves nnetwork performance)
Creating a highly available EC2 instance
Creating a highly available EC2 instance With an Auto Scaling Group
Creating a highly available EC2 instance width ASG + EBS
Creating a highly available EC2 instance
- HA options for the bastion host
- Run2across2AZ
- Run 1 across 2 AZ with 1 ASG 1:1:1
- Routing to the bastion host
- If 1 bastion host, use an elastic IP with
- ec2 user-data script to access it
- If 2 bastion hosts, use an Network Load Balancer (layer 4) deployed in multiple AZ
- If NLB, the bastion hosts can live in the private subnet directly
- Note: Can’t use ALB as ALB is layer 7(HTTP protocol)
This post is licensed under CC BY 4.0 by the author.