• Let's make Cloud ☁️
  • Posts
  • Let's make Cloud #56: Orchestrating Resilience Building Modern Asynchronous Systems, Migrating a CDN to AWS CloudFront, A framework for writing serverless applications in Python

Let's make Cloud #56: Orchestrating Resilience Building Modern Asynchronous Systems, Migrating a CDN to AWS CloudFront, A framework for writing serverless applications in Python

Orchestrating Resilience Building Modern Asynchronous Systems, Migrating a CDN to AWS CloudFront, A framework for writing serverless applications in Python

Hello CloudMakers!

I'm thrilled to share two exciting announcements:

  1. AWS Community Builder Applications Open: The opportunity to become an AWS Community Builder is here, but only until January 28th! This is the sole chance this year to apply. If you're a builder passionate about sharing your work through blogs, podcasts, videos, or any other medium, this is your moment. Apply now here!

  2. ServerlessDays Milan 2024: I'm proudly part of the team organizing ServerlessDays Milan, taking place on June 13th, 2024. Our call for papers (Cfp) is now open, and tickets are available at an exclusive early-bird price. Don't miss out on this fantastic event!

Today we shall see:

  • Orchestrating Resilience Building Modern Asynchronous Systems

  • Migrating a CDN to AWS CloudFront

  • A framework for writing serverless applications in Python

Enjoy!

Orchestrating Resilience Building Modern Asynchronous Systems

Twilio, a customer engagement platform, faced challenges with SMS spam and phishing, leading to a loss of consumer trust. To combat this, they implemented the A2P 10DLC standard for more reliable and transparent messaging. Twilio's initial A2P compliance system, based on an event-driven architecture, became overly complex and difficult to scale.

Key challenges included managing numerous states and events, implementing complex retry mechanisms, and ensuring system auditability and observability. Twilio chose Temporal for its workflow orchestration to address these issues, due to its capabilities like defining workflows as code, dynamic workflow execution, and rate limiting.

Temporal's adoption simplified Twilio's workflow management, eliminated the need for extensive state management, and provided essential features like automated retries, auditability, and observability. This significantly improved Twilio's approach to managing data pipeline tasks, asynchronous systems, and event-driven architectures, enhancing overall efficiency and scalability.

How we migrated our CDN to AWS CloudFront at Trainline

Trainline, Europe's premier train and coach app, successfully migrated their content delivery network from a previous provider to AWS CloudFront. Motivated by the need for better automation, cost-effectiveness, and integration with existing AWS services, the move involved a detailed planning and testing phase. The team overcame challenges like billing surprises and scalability issues, particularly with large-scale redirects. Key aspects of the migration included robust security enhancements, optimized caching strategies, and an incremental approach for migrating their main domain. This strategic shift not only streamlined Trainline's operations but also reinforced their commitment to performance and security, underscoring the importance of meticulous planning and adaptation in technology infrastructure upgrades.

Chalice: A framework for writing serverless applications in Python

Chalice is a microframework designed for building serverless applications in Python, specifically tailored for AWS Lambda. It simplifies the process of creating, deploying, and managing serverless apps by offering a command-line tool. The framework integrates seamlessly with various AWS services like API Gateway, S3, SNS, and SQS through a decorator-based API, which is familiar to those who have worked with frameworks like Flask and FastAPI.

One of the standout features of Chalice is its automatic IAM policy generation, which eases the setup of necessary permissions. It enables the creation of REST APIs and supports tasks that can be scheduled to run periodically. This allows developers to focus on writing application code rather than worrying about the underlying resources or services for deployment.

Moreover, Chalice offers flexibility in deployment, supporting tools like AWS CloudFormation, Terraform, and its own deployer based on the AWS SDK for Python. This makes it a versatile tool for developers familiar with these platforms, facilitating a quick and efficient development cycle for serverless applications on AWS.

Thank you for reading my newsletter!

If you liked it, please invite your friends to subscribe!

If you were forwarded this newsletter and liked it, you can subscribe for free here:

Have you read an article you liked and want to share it? Send it to me and you might see it published in this newsletter!

Interested in old issues? You can find them here!