Fastly CI-CD White Paper
Fastly CI-CD White Paper
Continuous integration Older development methods rely on daily, weekly, or monthly integration
following completion benchmarks. While these methods seem straightforward
and delivery and the
for scheduling purposes, they can result in unnecessary complexity and
role of your CDN unpredictability when it comes time to push new code.
By contrast, continuous integration is seen by many as a natural evolution
of the integration process. CI merges source control and frequent commit
practices with automated builds and testing. This allows for high-velocity
development while maintaining control and visibility by setting clear procedures
for source access and regular updates. Continuous delivery is the automated
publication of that code to the production environment.
To be successful, CI/CD should automate workflows across your entire
development stack. Ideally all third-party vendors should offer capabilities
that create a seamless extension of your development environment. This
is especially true of your CDN provider. Given where it sits between your
platform and your end users, it’s critical to choose a CDN that can complement
rather than impair your CI/CD efforts.
The elements of At its heart, continuous integration consists of three elements: source code
management, commit cycle discipline, and build automation. With these
continuous integration
simple practices, multi-origin changes can easily be incorporated into stable
builds, with fewer bugs and minimized developer time. CI eliminates the risk
of an end-cycle integration tangle, protecting your deployment timetable.
The commit Even the best SCM system is worthless if it isn’t being used. Continuous integra-
tion needs the active participation of the development team. If developers are
cycle – quality from
working in isolation, or not frequently committing their (build-tested) code to the
consistency repository, the result is a messy integration process and unnecessary errors.
A disciplined commit process surfaces errors and conflicts immediately, and
minimizes redundant or non-viable work. Frequent commits also encourage
productive coding behavior, helping developers divide up their work into
meaningful elements. By pursuing concrete objectives, teams gain a sense of
accomplishment, and deliver more cohesive code. Modern CDNs makes it
easy for developers to commit their code multiple times a day, with real-time
visibility and instant invalidation.
A step beyond – Leading, innovative companies take the CI model a step further, following a
practice known as continuous delivery (CD). CD emphasizes not just integrated
continuous delivery for
code, but release-ready code, at every iteration. Use of this process attempts to
push-button release erase the line between development and production by focusing on the ability
to constantly deploy.
The benefits of CD center around the constant availability of a finished product.
The production-like environment promotes calculated risk management, as any
errors can be quickly identified and isolated thanks to structured releases.
Most importantly, CD incorporates the end user directly into the development
cycle. While rigorous testing in development will likely catch most errors, active
and passive user feedback is crucial for identifying production-level issues.
Any bugs can be resolved immediately so end-user experience doesn’t suffer.
Real-time analysis and configuration options are essential for achieving the
benefits of a CD platform. Successful use relies on absolute version control,
which is impossible without instant configuration changes and effective rollback
capacity. And the value of user information stems from the ability to monitor
and analyze data in real time. Deep control and configuration agility give your
company a platform for quick response.
While this set of practices has yet to gain widespread adoption, CD highlights
the potential of automation and immediate feedback for continuous, incremental
improvement.
The benefits of To this point we’ve addressed CI/CD, but equally important is why it matters.
By adopting this methodology, a company can gain a wide array of benefits,
continuous integration
some immediately obvious, some revealed over time. Here are a few of the
and delivery principal reasons why CI/CD is worth the effort.
Single platform management – As touched on above, by centralizing project
resources within a single source, companies can more efficiently manage their IP.
The challenges of Given that continuous integration and delivery represents a shift in development
methodology, there are some challenges inherent to its execution. However,
continuous integration
these issues are largely tied to workplace culture and less related to technology.
and delivery The four biggest hurdles to CI/CD implementation are:
Initial developer hesitance – After performing a task a hundred times, there
is always some resistance to change, no matter how beneficial. Developers
accustomed to older integration strategies may be reluctant to abandon
previous approaches. CI/CD practices are easy to adopt once the source
backbone is in play, and the time-saving benefits quickly become apparent
and very persuasive.
Commit discipline – Once CI/CD practices have been implemented, their
effectiveness relies on consistent application. If developers abandon the
frequent commit procedure, or skip testing, projects can revert to confusion.
By heavily incorporating automation, the process can be made much easier
for participants, and CI/CD quickly becomes a valuable habit.
Black box vendors – While many of the most popular options for continuous
integration systems are open source, some traditional vendors are less
transparent. Be sure to select vendors and software that is transparent and
accessible, or you might find your newly vital system is outside your control.
One obsolete There is an outdated belief that a tradeoff must exist between user performance
and real-time control, but this is no longer true. With traditional, black-box
challenge – the
CDNs, CI/CD suffers from configuration delays, unpublished release queues,
CDN tradeoff and non-purgeable content. This issue has been resolved in next-generation
CDNs, which offer customers granular control, instant invalidation, and real-time
visibility of their content at the edge.
Choosing a CDN for When considering CDNs for CI/CD, it’s vital to consider details beyond dollars
per gb/s. The CI/CD development cycle depends on a CDN with control and
continuous integration
configurability in order to properly mesh with your workflow. A CDN shouldn’t
and delivery be a barrier to DevOps teams, but rather so responsive, configurable, and
automated that it naturally becomes part of the development environment.
Here are four factors to look for in a CI/CD-ready CDN:
●• ‘API first’ approach – The biggest gains from CI/CD implementation can come
from the ability to execute changes without human intervention. Your CDN
should offer a robust and flexible platform for autonomous customization,
without sacrificing performance.
•● Granular control and real-time visibility – Next-generation CDNs are a natural
extension of your development environment. These systems rely on responsive
monitoring and in-depth control.
•● Seamless version control – To support CI/CD at the edge, you need to make
adjustments instantly. Make sure your CDN supports configuration changes
and rollbacks in mere seconds, or you could be caught waiting indefinitely.
●• Proven platform with CI/CD customer use cases – Look for examples of
other innovative companies that are extending CI/CD to the edge with their
CDN. Examples may include scripts written by CDN vendors or their customers
that help to streamline and automate workflow.
Conclusion Continuous integration and delivery gives your company the flexibility to meet
the increasing pressure to innovate. It eliminates the old integration roadblock
and helps you accelerate your development cycle. Instead of wasting time and
money on conflicting code, you can focus on a direct path for your products.
CI/CD provides a reliable and responsive methodology that cuts risk and results
in better code.
More information For more information on how Fastly can facilitate your continuous integration
and delivery efforts, please contact sales@fastly.com.