Serverless, Event-Driven Architecture, AWS, Kubernetes, Rust, Terraform, Security, DevOps, FinOps, MLOps, Maker
https://darryl-ruggles.cloud
https://www.linkedin.com/in/darryl-ruggles
I have learned so much the last few years from other members of this program and am really looking forward to continue sharing knowledge & experiences. (1/2)
I'm an advocate for using multiple AWS accounts for different tasks. These bring clean separation, but workflows often don't respect account boundaries. When app teams need to trigger platform pipelines from S3 uploads across accounts, manual handoffs create friction.(1️⃣/3️⃣)
🧵
I'm an advocate for using multiple AWS accounts for different tasks. These bring clean separation, but workflows often don't respect account boundaries. When app teams need to trigger platform pipelines from S3 uploads across accounts, manual handoffs create friction.(1️⃣/3️⃣)
🧵
NAT gateways work well but can really add up in cost. You do get charged by the hour whether you're using them or not. For workloads like Lambda that run sporadically, you're essentially paying for idle infra around the clock, a cost that adds up quickly. (1️⃣/3️⃣)
🧵
NAT gateways work well but can really add up in cost. You do get charged by the hour whether you're using them or not. For workloads like Lambda that run sporadically, you're essentially paying for idle infra around the clock, a cost that adds up quickly. (1️⃣/3️⃣)
🧵
In many cases you need to ensure data can never be overwritten. With Amazon S3 you can use Object Lock to help. This ensures critical data can't be modified or deleted during retention periods. This WORM approach addresses both compliance and ransomware risks. (1️⃣/3️⃣)
🧵
In many cases you need to ensure data can never be overwritten. With Amazon S3 you can use Object Lock to help. This ensures critical data can't be modified or deleted during retention periods. This WORM approach addresses both compliance and ransomware risks. (1️⃣/3️⃣)
🧵
With the news of NGINX Ingress Controller being soon deprecated lots of people are looking at managing access to their Kubernetes resources. There are lots of good ways to handle this. On AWS, the Load Balancer Controller works well with Traefik to provision ALBs.(1️⃣/3️⃣)
🧵
With the news of NGINX Ingress Controller being soon deprecated lots of people are looking at managing access to their Kubernetes resources. There are lots of good ways to handle this. On AWS, the Load Balancer Controller works well with Traefik to provision ALBs.(1️⃣/3️⃣)
🧵
The AWS container starting point i recommend is Elastic Container Service (ECS) which offers a free control plane and supports Fargate serverless compute. Working will rolling deployments there are times when things go wrong and this has been improved now. (1️⃣/3️⃣)
🧵
The AWS container starting point i recommend is Elastic Container Service (ECS) which offers a free control plane and supports Fargate serverless compute. Working will rolling deployments there are times when things go wrong and this has been improved now. (1️⃣/3️⃣)
🧵
I've said before that Eventbridge is my favourite AWS service. It can do so many things and is perfect for building Event-Drive Architectures (EDAs) on AWS. Creating rules to match events is always tedious so it's great to see a new tool to help. (1️⃣/2️⃣)
🧵
I've said before that Eventbridge is my favourite AWS service. It can do so many things and is perfect for building Event-Drive Architectures (EDAs) on AWS. Creating rules to match events is always tedious so it's great to see a new tool to help. (1️⃣/2️⃣)
🧵
GenAI tools have entered everyone's life in a big way. They can help with a lot including increase developer productivity in the hands of experienced devs. Using a spec-driven approach can help building maintainable code like with creating MCP servers. (1️⃣/3️⃣)
🧵
GenAI tools have entered everyone's life in a big way. They can help with a lot including increase developer productivity in the hands of experienced devs. Using a spec-driven approach can help building maintainable code like with creating MCP servers. (1️⃣/3️⃣)
🧵
Github Actions are great but have you ever copied a GitHub Actions workflow without really understanding what ${{ github.sha }} or ${{ secrets.GITHUB_TOKEN }} actually does? This and more is explained below including key variables and contexts. (1️⃣/3️⃣)
🧵
Github Actions are great but have you ever copied a GitHub Actions workflow without really understanding what ${{ github.sha }} or ${{ secrets.GITHUB_TOKEN }} actually does? This and more is explained below including key variables and contexts. (1️⃣/3️⃣)
🧵
Port forwarding in Kubernetes creates a secure tunnel between your local machine and cluster resources through the API server. It's useful for debugging, database access, and testing services without modifying network configurations or setting up load balancers. (1️⃣/3️⃣)
🧵
Port forwarding in Kubernetes creates a secure tunnel between your local machine and cluster resources through the API server. It's useful for debugging, database access, and testing services without modifying network configurations or setting up load balancers. (1️⃣/3️⃣)
🧵
Using managed and serverless tools is an easy way to start. Setting up an event notification system using AWS Lambda and SNS is a good example. Ingesting events through API Gateway, routing messages via SNS, and persisting logs in DynamoDB are too. (1️⃣/3️⃣)
🧵
Using managed and serverless tools is an easy way to start. Setting up an event notification system using AWS Lambda and SNS is a good example. Ingesting events through API Gateway, routing messages via SNS, and persisting logs in DynamoDB are too. (1️⃣/3️⃣)
🧵
Your most engaged customers might be your most expensive ones. Without API rate limits, that enthusiastic integration polling every 30 seconds or that broken retry loop can quietly eat your margins until the AWS bill arrives. (1️⃣/3️⃣)
🧵
Your most engaged customers might be your most expensive ones. Without API rate limits, that enthusiastic integration polling every 30 seconds or that broken retry loop can quietly eat your margins until the AWS bill arrives. (1️⃣/3️⃣)
🧵
I am a big advocate for using Infrastructure as Code (IaC) tools wherever possible they make so many things better. If you're working in AWS specifically i recommend using SAM or the CDK but in general my go-to for IaC is Terraform. Managing state is key. (1️⃣/3️⃣)
🧵
I am a big advocate for using Infrastructure as Code (IaC) tools wherever possible they make so many things better. If you're working in AWS specifically i recommend using SAM or the CDK but in general my go-to for IaC is Terraform. Managing state is key. (1️⃣/3️⃣)
🧵
Many teams use AI/ML inferencing through Bedrock or OpenAI. Another approach is hosting your own model endpoints. On AWS, options include EKS, ECS, or Lambda. Choosing between them isn't straightforward, especially when optimizing for cost and performance. (1️⃣/3️⃣)
🧵
Many teams use AI/ML inferencing through Bedrock or OpenAI. Another approach is hosting your own model endpoints. On AWS, options include EKS, ECS, or Lambda. Choosing between them isn't straightforward, especially when optimizing for cost and performance. (1️⃣/3️⃣)
🧵
Multi-agent AI systems are becoming increasingly practical for complex tasks. There are different architectural patterns being used today for how specialized agents can collaborate with each suited to specific business challenges and workflows. (1️⃣/3️⃣)
🧵
Multi-agent AI systems are becoming increasingly practical for complex tasks. There are different architectural patterns being used today for how specialized agents can collaborate with each suited to specific business challenges and workflows. (1️⃣/3️⃣)
🧵
Seeing examples always helps! Here is a straightforward example of building an app on AWS using serverless services.
Janarthanan Ravikumar uses API Gateway, Lambda, and DynamoDB. A repo is included with it to try for yourself!
Seeing examples always helps! Here is a straightforward example of building an app on AWS using serverless services.
Janarthanan Ravikumar uses API Gateway, Lambda, and DynamoDB. A repo is included with it to try for yourself!
One downside of using EC2 Spot Instances is dealing with unpredictable interruptions. Depending on your workload this may not be a problem. The example below discusses a monitoring system for visibility into interruption patterns across Auto Scaling Groups. (1️⃣/3️⃣)
🧵
One downside of using EC2 Spot Instances is dealing with unpredictable interruptions. Depending on your workload this may not be a problem. The example below discusses a monitoring system for visibility into interruption patterns across Auto Scaling Groups. (1️⃣/3️⃣)
🧵
Traditional file uploads bottleneck servers by routing everything through the backend first. A better approach IMO is using S3 presigned URLs to let clients upload directly to storage, bypassing custom backends entirely. An example of setting this up is below. (1️⃣/3️⃣)
🧵
Traditional file uploads bottleneck servers by routing everything through the backend first. A better approach IMO is using S3 presigned URLs to let clients upload directly to storage, bypassing custom backends entirely. An example of setting this up is below. (1️⃣/3️⃣)
🧵
Managing a collection of containers in Kubernetes to perform a bigger task is a common case and Argo Workflows can handle this. It's designed for running multi-step processes where tasks need to happen in sequence or parallel, with each step running its own container.(1️⃣/3️⃣)
🧵
Managing a collection of containers in Kubernetes to perform a bigger task is a common case and Argo Workflows can handle this. It's designed for running multi-step processes where tasks need to happen in sequence or parallel, with each step running its own container.(1️⃣/3️⃣)
🧵
Building apps that work to demo solutions can be done in many ways and usually quickly. Once you move into the phase of longer running and scalable approaches you have to spend more time getting it right. There are many approaches and tools you can use to help. (1️⃣/3️⃣)
🧵
Building apps that work to demo solutions can be done in many ways and usually quickly. Once you move into the phase of longer running and scalable approaches you have to spend more time getting it right. There are many approaches and tools you can use to help. (1️⃣/3️⃣)
🧵
Many security breaches stem from old IAM access keys - time bombs waiting to explode. A forgotten key from a former employee can lead to thousands in unauthorized AWS charges or enable lateral movement inside your company with catastrophic results. (1️⃣/3️⃣)
🧵
Many security breaches stem from old IAM access keys - time bombs waiting to explode. A forgotten key from a former employee can lead to thousands in unauthorized AWS charges or enable lateral movement inside your company with catastrophic results. (1️⃣/3️⃣)
🧵
The tools are in AWS to build resilient, scalable architecture. Whether you need to survive single server failures, Availability Zone outages, or even regional ones - it's up to you to design it. Your requirements dictate the approach. (1️⃣/3️⃣)
🧵
The tools are in AWS to build resilient, scalable architecture. Whether you need to survive single server failures, Availability Zone outages, or even regional ones - it's up to you to design it. Your requirements dictate the approach. (1️⃣/3️⃣)
🧵
Running EC2 instances 24/7 for batch jobs that only work a few hours daily is expensive. I've seen this pattern repeatedly and it's a real waste. So many teams are paying for idle capacity most of the time. There are better approaches with some described below. (1️⃣/3️⃣)
🧵
Running EC2 instances 24/7 for batch jobs that only work a few hours daily is expensive. I've seen this pattern repeatedly and it's a real waste. So many teams are paying for idle capacity most of the time. There are better approaches with some described below. (1️⃣/3️⃣)
🧵
Using containers on AWS without having to pay for a control plane (like with EKS) makes it easy to run workloads with variable uptimes. If you don't need full Kubernetes then the best approach for this on AWS is using the Elastic Container Service (ECS). (1/2)
Using containers on AWS without having to pay for a control plane (like with EKS) makes it easy to run workloads with variable uptimes. If you don't need full Kubernetes then the best approach for this on AWS is using the Elastic Container Service (ECS). (1/2)
Using managed services to solve problems in your cloud account typically offers quick wins for little cost. Monitoring and observability tooling is where these shine IMO. The example below relates to database performance with spikes in demand. (1️⃣/3️⃣)
🧵
Using managed services to solve problems in your cloud account typically offers quick wins for little cost. Monitoring and observability tooling is where these shine IMO. The example below relates to database performance with spikes in demand. (1️⃣/3️⃣)
🧵