Don’t Let Your CDN Get in the Way of Your Continuous Development Needs
What is CI/CD?
Continuous integration is the process of completely automating code commit and test practices, thereby avoiding a manual workflow that is inefficient and subject to human error. Newcomers to CI may be daunted by the potential error risk associated with frequent code integration. However, CI actually reduces error risk.
By integrating code with a common source on an ongoing basis, errors can immediately be isolated, avoiding time-consuming troubleshooting at a later stage.
Continuous delivery goes further. CD is the process of automatically delivering code to a staging or production environment as soon as it’s ready to ship. This allows you to deliver updates to your users faster, while creating a feedback loop for continual review and inspection. CD provides instant visibility into how a feature works in the production environment, whether packages install correctly, and whether the delivery process is working as expected.
What are the Differences between CI and CD?
Continuous Delivery is similar to continuous deployment but with one distinction. In continuous delivery, every code change that passes the CI process is ready for deployment to production, but the decision to actually deploy it is left to a human operator. This means that the software is always in a releasable state, and the deployment can be triggered manually or at scheduled intervals. Continuous delivery allows for additional testing, reviews, or approvals before releasing the software.
CI/CD allows products and services to keep pace with engineering innovation and eliminates restrictive release windows that can suffocate responsive business practices. A production-like environment promotes calculated risk management, as any errors can be quickly identified thanks to structured releases. For innovative companies, this development format can ensure a competitive advantage by giving creative technologies a head-start on the rush to market.
Benefits of CI/CD
• Accelerate the software release process: Faster incremental releases allow you to continuously identify new customer use cases that may influence future software updates. You can also discover issues along the way rather than waiting to a complete release, at which point multiple bugs may be intertwined and thus harder to detect and address.
• Quickly respond to user interaction: Marketers conducting multivariate testing to see which offers resonate best with customers, e-commerce leaders running algorithms to predict propensity to buy, and digital publishers prioritizing content based on readership activity—all gain the ability to respond quickly to user interaction.
• Rapidly update content: For example, a digital media company can push out multiple content releases daily without degrading user experience through added latency
• Improve security: DevOps teams can rapidly release bug fixes in reaction to newly exposed security vulnerabilities and provide instant protection for applications and web properties.
Why Legacy CDN’s Get in the Way of CI/CD
Legacy CDNs are black boxes that disrupt the CI/CD process by removing control, agility, and transparency of code at a critical part of the development cycle—end-user engagement. Hence most CTOs are resigned to the fact that to gain control over real-time CI/CD they need to sacrifice end-user performance.
Legacy CDNs lack a number key capabilities needed to support CI/CD:
• Instant configuration: Pushing configuration changes or rolling back to previous versions require Professional Services involvement and are subject to aggregated release queues that force customers to wait an indefinite amount of time for the CDN to propagate their changes globally.
• Source code management (SCM) integration: Without a means of self-testing code to catch preliminary errors before they become integrated, you must wait to merge staged code in the ‘push to production.’ This runs the risk of deploying configuration errors without the option to retract them for prolonged periods.
• Instant invalidation: Requests to purge stale content or bad code are typically put into an aggregated purge queue, with no way of knowing how long it will take to execute or when it has been resolved. Purge times range anywhere from five seconds to several minutes and there are limits to the number of purges that can be requested per second.
• Full control via application programming interface (API):. A limited or nonexistent set of APIs prohibits the automated integration between CDN and other software tools.
• Real-time visibility: Logs are typically provided in batch format, so it’s impossible to monitor performance and get instant feedback.
Fastly on CI/CD Adoption
The adoption of CI/CD is on the rise, allowing both engineering and non-technical teams to become more efficient and responsive. Companies with large engineering organizations that face pressure to constantly iterate should insist on an edge cloud platform that uses APIs to automate workflows and execute requests instantly—in effect becoming an extension of their own infrastructure.
While switching to CI/CD can be challenging, your CDN should facilitate efforts rather than stand in your way. With Fastly, you get a high-performing edge cloud that offers greater control and real-time decision making.
Continuous integration and delivery (CI/CD) and the edge
Discover the importance of CI/CD, learn how to measure impact and get tips and recommendations for to get started. Download the white paper