Some of the most common questions we’re getting from Akamai Developers center around how they integrate Akamai into their companies’ DevOps workflows.
Akamai for DevOps empowers developers with the ability to configure and automate workflows, tools for real-time management, and operations, and then extend that logic to the Edge. This aligns with our mission to make the internet awesome for developers, and that starts with providing amazing tools to leverage Akamai’s cloud delivery platform.
This post introduces five DevOps use cases that you can leverage right now to get the most out of Akamai. We’ll do a deeper dive into some of these in future posts.
Top 5 Usecases
The majority of these use cases take advantage of the new Akamai CLI, but just scratching the surface of what the tool will enable in the coming months.
1. Automatically Test and Deploy an Akamai Configuration
Using Akamai CLI for Property Manager, our forthcoming Jenkins integration, or the Property Manager API (PAPI) directly, you can set up and orchestrate test properties on the Edge in order to test performance changes, or measure performance for new content.
Making Akamai Configuration changes inside your CI/CD workflow allows you to integrate Akamai Property Configuration changes into the rest of your deployment lifecycle.
2. Automated Deployment of Applications with the Help of Akamai
After deploying a new version of your origin, automate the process of updating your property configs origin behavior to point to it. Again, this can be achieved using Akamai CLI for Property Manager, or PAPI.
After the update is complete and verified as valid, cache invalidation with FastPurge using Akamai CLI for Purge or Content Control Utility Version 3 (CCUv3) ensures the latest content is automatically delivered to your users.
3. Phased Deployment
Manage your feature or site rollouts with the Phased Release Cloudlet by defining audience segments and gradually migrating them to new versions while ensuring stability. And if there are any issues, you can roll changes back quickly.
Phased releases are useful for two different scenarios.
- Gathering user feedback on a change from a specific segment of your audience, e.g. typical market demographics.
- Rolling out code changes with underlying services for which you have no production baseline resource usage. By phasing the release, you can monitor resources and add more, should you need them. If things do break, only a segment of your audience is affected. This can be an invaluable technique for ensuring a smooth rollout.
4. Origin Failover
Using our Visitor Prioritization Cloudlet or our Application Load Balancer Cloudlet, origin failure need not be a catastrophic event. Akamai lets you failover to a holding page (a so-called “waiting room”), secondary origin, static resources, or a maintenance page, so you retain your traffic as you enact recovery procedures.
5. Origin Offload of Semi-Static Content with Real-Time Updates
When it comes to real-time content, caching is the enemy. However, very often, real-time simply means instant updates to reflect data changes. Before now, to achieve this real-time aspect, you had to forgo the cache and requests would go directly to origin.
With Fast Purge and Hold-Till-Told, you can instruct Akamai to cache content forever, and purge it in under 5 seconds when it updates. Then, by disabling (or minimizing) the downstream cache hold, your end-users will continuously fetch updates from the Edge, rather than origin, knowing that the latest version will be available when updates are made.
You can automate cache purges in response to content updates at origin using your own CMS, so that cache is intelligently purged every time specific content is changed. You can do this using Akamai CLI for Purge, or our Akamai for WordPress plugin.
This first round of use cases, focused on site reliability and offload, are where we will direct our efforts around Akamai for DevOps in the coming months. If you have use cases you’d like to see our team work on, please let us know in the comments, or on Twitter: @akamaidev.