This talk has been presented at React Summit 2023, check out the latest edition of this React Conference.
Video: Canaries in the CloudFront
FAQ
At Demandbase, a Content Delivery Network (CDN) like AWS CloudFront plays a crucial role in application architecture by providing edge caching. This allows static assets, such as those from a React app, to be stored and delivered efficiently from locations closer to the user, improving load times and overall user experience.
Demandbase uses a CI/CD system that integrates with GitLab to run scans, security checks, linting, and unit tests whenever changes are made. The system supports building the full application and deploying it to a staging environment, where further integration and regression tests are conducted before a weekly production deployment.
At Demandbase, 'shifting left' refers to the practice of integrating and testing features earlier in the development cycle. This includes allowing non-developers like UX designers and PMs to review changes more efficiently using the GitLab pipeline and Lambda at Edge for CDN path rewriting, and running integration tests directly on branch merge requests.
Demandbase uses feature flagging to control the rollout of new features, ensuring consistency within customer tenant experiences. This approach allows them to test new builds and features selectively without affecting all users, thus maintaining a stable and consistent user experience during the testing phases.
Integrating CloudFront as a CDN in Demandbase's development process offers significant benefits such as reduced latency by serving content from the nearest edge location, enhanced content delivery speeds, and improved overall application performance and user satisfaction.
Canary releases at Demandbase involve deploying new developments to a staging environment to run extensive tests before making them part of the release candidate. This process uses a GitLab pipeline that builds a canary package and deploys it for testing, facilitated by Lambda at Edge for routing and feature flag management tools like LaunchDarkly.
Available in other languages:
Check out more articles and videos
We constantly think of articles and videos that might spark Git people interest / skill us up or help building a stellar career
Workshops on related topic
Appflow is the cloud mobile DevOps platform built by Ionic. Using a service like Appflow to build React Native apps not only provides access to powerful computing resources, it can simplify the deployment process by providing a centralized environment for managing and distributing your app to multiple platforms. This can save time and resources, enable collaboration, as well as improve the overall reliability and scalability of an app.
In this workshop, you’ll deploy a React Native application for delivery to Android and iOS test devices using Appflow. You’ll also learn the steps for publishing to Google Play and Apple App Stores. No previous experience with deploying native applications is required, and you’ll come away with a deeper understanding of the mobile deployment process and best practices for how to use a cloud mobile DevOps platform to ship quickly at scale.
Table of contents:
- Next.js overview and getting started with Next.js
- API Routes with Next.js & building a GraphQL API
- Using the Neo4j GraphQL Library
- Working with Apollo Client and GraphQL data fetching in Next.js
- Deploying with Vercel and Neo4j Aura