🐾Common overlooks while designing workloads🐾
🤓 When starting a new project or designing a new feature, developers typically focus on the core services that will perform the main tasks. However, there are numerous additional considerations that underpin every production workload.
TL;DR
While designing a new workload, consider the following aspects:
Evaluate existing tools and solutions already employed within your company for similar problems
Research and understand service limits and quotas before implementation
Implement Infrastructure as Code (IaC) for consistent and repeatable deployments
Establish proper CI/CD pipelines for automated updates
Set up monitoring and alerting
Example 1: GenAI-powered new feature
Let's say you're designing a new feature powered by Generative AI. You've chosen a foundation model and implemented RAG (Retrieval-Augmented Generation) to leverage your knowledge base. Your design includes a database, Amazon Bedrock model, and Lambda functions and API Gateway for request processing.
Common oversights to address:
Check Lambda functions limits, for example Lambda function payload is limited to 250MB, and there is a quota for Lambda concurrent executions. API Gateway also has some limits: response timeout is 29 seconds and it has throttling limits.
Use IaC to provision infrastructure, for example CDK or Terraform. Terraform supports Bedrock resources.
Set up CI/CD for updating Lambda functions and data pipelines code. Use CI/CD tool which is already used by other company workloads.
Example 2: DevOps automation workload
You decided to host new automation workload as a container using ECS. You use Parameter Store to get some secrets parameters to access other services.
Common oversights to address:
Check quotas and current usage of services. For example, Standard throughput for Parameter Store is 40 transactions per second. You may want to know whether you need to switch to Higher throughput.
What if your automation fails? How quickly you would know about that? Monitoring is frequently overlooked part of supporting workloads, such DevOps automations workloads. At the same time, it’s very important to know that your automation starts failing and do not finish its tasks.
Thank you for reading, let’s chat 💬
💬 What are the common design overlooks you have seen?
💬 Do you use several CI/Cd tools in your company?
💬 Which tools do you use for workloads monitoring?
I love hearing from readers 🫶🏻 Please feel free to drop comments, questions, and opinions below👇🏻



