Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Lessons learned updates #1

Open
wants to merge 3 commits into
base: master
Choose a base branch
from

Conversation

jpb-Cloudy-McCloudFace
Copy link

I worked with Akamai and a customer of mine using this project as a base a while ago. We learned some valuable lessons and I want to pass those on to the community.

  • VPC
    • Bump default subnets high in CIDR range as it can conflict with default VPC ranges.
    • Container calls are outbound and stateful. Inbound sec group ports not needed.
  • Lambda to SQS
    • Single SQS FIFO group ID prevents ECS scaling as only 10 messages can be pulled at a time per group ID preventing parallel processing of the queue.
    • In the case of needing to upload thousands of S3 objects, scaling using parallel uploads to Akamai over exact order is typically preferred (exact order is not guaranteed from S3 delivery to Lambda anyway).
    • A FIFO SQS queue will help with duplicates, as required when uploading large files (why do it twice?) and using a group ID to the EPOCH time second will allow for multiple ECS tasks to run in parallel processing the files per the scaling rules that arrived in that second.
  • Lambda logs
    • Logs were not going to CloudWatch logs. Added policy
  • Auto Scaling
    • Added step scaling for out/in
  • ECS Internet.
    • Recommended approach is to use a private subnet with a NAT GW. Instead of getting to deep into network creation, new variable for a route table that supports NAT GW to assign to the new subnets.
  • Container Config
    • Region for logs was hard coded.
    • Added log group auto create

@jpb-Cloudy-McCloudFace
Copy link
Author

Let me know if you'd like to dive deep for further information.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant