Many companies today are looking for easier ways to automate vendor services. This blog will help you understand the Akamai Developer toolbox and how you can utilize it. I’ll give you a better understanding of what the Akamai Developer toolbox offers and how you can best utilize this in your workflows and overall digital ecosystem.
What is the goal of Akamai Developer Foundations?
This Akamai Developer Foundations training blog will help you on your Akamai Developer journey in four key areas:
Get an overview of Akamai Developer: I’ll explain what Akamai Developer is, which tools are available, and how you can best utilize them.
Get Started with Akamai Developer: I’ll walk through the prerequisites for making your first action with any of the main Akamai Developer tools.
Understand how our Developer tools can help you: I’ll show the value of using the Akamai Developer toolbox in conjunction with the Akamai solutions across our portfolio.
Learn where to find the information you need: I’ll show you where you can find more resources to get answers to your questions.
1. What is Akamai Developer?
Let's take a look at the Akamai Developer mission: “Our mission at Akamai Developer is to offer you a better experience to solve technology challenges such as cybersecurity, web performance and media delivery and manage your Akamai solutions. This is achieved by providing tools and resources that help you effectively use the Akamai Edge Platform and the Akamai Developer toolbox as well as integrate Akamai easily into your digital ecosystem.”
What is the value of Akamai Developer?
In the 2010s, the industry saw a rise in the DevOps movement. DevOps is a set of practices that combines software development (Dev) and information-technology operations (Ops) which aims to shorten the systems development life cycle through automation of processes and provide continuous delivery with high software quality.
That said, with thousands of companies relying daily on the Akamai Edge Platform and Akamai solutions, Akamai has also joined the DevOps movement by offering customers and partners the ability to manage their Akamai solutions and data through a set of tools like APIs and other tools that act as wrappers for those APIs such the Akamai CLI (command-line interface) or the Akamai Terraform Provider.
Traditionally, Akamai users manage their solutions through the Akamai Control Center. However, the user interface becomes a bottleneck when you are looking to streamline your development life cycle through automation. This is where the Akamai Developer toolbox can play a great role in helping you achieve more.
Akamai management tasks like purging a cached object or updating a DNS record managed through Akamai Edge DNS can be executed with one simple command using our tools.
How does Akamai Developer help?
Akamai Developer aims to assist you in three key areas of managing your Akamai solutions:
Manage Akamai solutions through tools and code such as the Akamai Development Environment, Akamai APIs, and wrappers for these APIs like the Akamai CLI, the Akamai Terraform Provider, and code examples for a variety of programming languages. The aim is to provide a full CRUD - Create, Read, Update, Delete - workflow using these tools without the need to rely on the Akamai Control Center. This also includes support for automated CI/CD workflow including test phases.
Utilize Akamai data including logs and events to help monitoring and continuous improvement of the services that a company offers. The use of Akamai solutions as a critical part of the digital ecosystem relies not only on the functional use but also on the actionable data that is available. Our DataStream and SIEM integrations play a key role here.
Akamai + ecosystem
Integrate Akamai solutions into other tools and technologies that a company implements in its digital ecosystem. This can either be tied to Akamai-as-code or Akamai-as-data. These integrations often range from connectors or vendor-specific implementations that can help achieve the efficiency of Akamai solutions. Added in this area is also the ability to move logic to the edge with solutions like EdgeWorkers.
These three areas of Akamai’s developer toolchain can help you more easily create an effective and comprehensive DevOps workflow.
The Akamai portfolio offers a wide variety of solutions to help you tackle different challenges including protecting assets like applications, APIs, identities, and content from security threats and delivering and caching these same assets with the highest performance possible. Each of these Akamai solutions comes equipped with the ability to manage the solution through Akamai-as-code, relies on the data provided for this solution through Akamai-as-data, and in certain cases offers you the ability to integrate the solution in your digital/DevOps ecosystem.
The DevOps workflow
A DevOps workflow is a set or combination of tools that aid in the delivery, development, and management of software applications through every stage of the development lifecycle. DevOps can also be extended to DevSecOps, which adds security into the lifecycle.
Both DevOps and DevSecOps rely heavily on automating processes like testing. Automation allows teams to rely on predefined processes and scripts that are executed by machines and require limited to no manual execution (for instance, logging into the Akamai Control Center to deploy a configuration change).
DevOps is intended to be a cross-functional mode of working, so those who practice the methodology use different sets of tools—referred to as "toolchains"—rather than a single one.
These toolchains are expected to fit into one or more of the following categories, reflective of key aspects of the development and delivery process:
Coding – Think about code development and review, source code management tools, code merging. When it comes to Akamai, each delivery configuration, security configuration, or even DNS zones and records can be treated as Akamai-as-code, so the toolbox plays a huge part in the coding workflow. The ability to store your configurations in source code management tools such as Git or GitHub are critical to collaborating with your teams and managing Akamai-as-code.
Building – Think about continuous integration tools and build status. When creating a new version of your application that is delivered and/or protected by Akamai solutions, it is important that the Akamai solutions are taken into consideration during the build process. Integrating tools like Jenkins into your continuous integration pipeline is and easy way to streamline your workflow and improve the quality of your builds.
Packaging – Think about repositories, application pre-deployment, and staging or pre-production environments. The ability to package all your Akamai changes together and roll them out in a staging environment is extremely important in the packaging phase. Our tools allow you to you can improve your workflow with feedback, logs, and headers from Akamai’s staging edge servers.
Testing - Think about continuous testing tools that provide quick and timely feedback on business risks. The ability to test your Akamai configuration changes in an automated way can help you mitigate issues faster in your DevOps workflow. Tools like the Akamai Sandbox can help you test changes locally before they are packaged and released. You are also able to rely on Akamai-as-data tools that provide feedback you get from local testing through the Akamai Sandbox.
Releasing – Think about change management, release approvals, and release automation. With Akamai-as-code tools, the ability to roll out your Akamai changes is easy. With fast deployment times on the Akamai Edge Platform, changes are live in a matter of minutes for the majority of the Akamai solutions as of 2020.
Configuring – Think about infrastructure configuration and management and infrastructure-as-code tools. Tools such as the Akamai Terraform Provider can help integrate Akamai into your overall infrastructure-as-code ecosystem.
Monitoring – Think about application performance monitoring and end-user experience. Akamai offers a wide variety of solutions that can help utilize Akamai data. Our solutions include DataStream, which provides general Akamai-as-data logs, mPulse, which includes Akamai real-user monitoring to help you monitor performance, and the SIEM integration, which helps to monitor security threats. All of these tools can help you with your DevOps and DevSecOps strategies.
Some categories are more essential in a DevOps toolchain than others; especially continuous integration (e.g. Jenkins, GitLab, or Bitbucket pipelines) and infrastructure-as-code (e.g., Terraform, Ansible, or Puppet), but Akamai offers easy integrations in your digital ecosystem and DevOps workflow with the Akamai + ecosystem category of tooling.
Akamai Developer brings the Akamai Developer toolbox to the table, each with specific focus areas such as Akamai-as-code, Akamai-as-data, and Akamai + ecosystem to help each of these seven stages in the DevOps workflow.
There are countless resources that you can consume for more information on DevOps and DevSecOps ranging from mindsets to dozens of tools often used in workflows. DevOps has brought forth a fresh wave of streamlining workflows and working and collaborating more efficiently, and I encourage you to continue your own DevOps journey by learning more. At the end of this post, I’ve provided some helpful links to more information on DevOps and DevSecOps.
With that, let’s leave the theory and terminology space and dive into part two, which will tackle more practical matters.
2. Getting Started with Akamai Developer
Getting started with Akamai Developer is easier than you think! To summarize, you will need to execute three simple steps to start.
You will need to select a tool with which you will perform the Akamai Developer actions. I recommend the Akamai Development Environment which comes pre-installed with HTTPie to execute Akamai API requests, includes the Akamai CLI and its packages and includes Terraform and cURL. You can also select another tool like Postman or integrate Akamai APIs inside of your favorite programming language.
Second, you will need to log into Akamai Control Center and create an Akamai API client under your account. You will have to create the right permissions to your API endpoints and generate a set of API credentials that your tool of choice can use to authenticate Akamai requests.
Third, you can go ahead and set up your use case and automate it. This can range from simple Akamai actions like purging, or going full Akamai-as-code for many of the Akamai solutions in the portfolio. You can always check out developer.akamai.com for a variety of use-cases that our colleagues and customers have documented.
With these three simple steps summarized, you can get started using any of the Akamai Developer tools available to you.
There are several great resources to help you learn more about the Akamai toolkit and how to leverage it to simplify and bolster your workflows and strategies.
First, let’s talk about developer.akamai.com. Our developer site includes tons of information at every level. I recently published a series of guides to help you get started with fundamental developer tools including how to leverage the 100+ Akamai APIs that I have available.
Secondly, you can find more information about the Akamai Developer tools on the official Akamai GitHub. There, you can find repositories with the tools, code examples, and installation instructions.
Thirdly, if you enjoy video tutorials, demos, and webinars, I invite you to take a look at the Akamai Developer YouTube. There, you can find additional content in video format that explains and demonstrates how to get started with certain tools, describes common workflows, and shows you how to integrate with common third-party tools. In addition, you can find an archive of the Akamai Developer webinar series, which acts as a great trove of information.
If you have any follow-up questions based on this Akamai Developer Foundations training blog or any of the mentioned resources, I invite you to get in contact with us! I love to hear from customers. You can reach me or my colleague Javier Garza on Twitter.
With that, I hope you are now equipped with the necessary knowledge to go out and start using the Akamai Developer toolbox.
I invite you to take these learnings and put them to good use by completing the Akamai Developer Foundations lab which aims to help you get set up with all the Akamai Developer tools I discussed as well as help you have a working environment for your future Akamai Developer use cases and projects.
For additional information and use cases, check out developer.akamai.com where you can find additional tutorials on common use cases for each of the three major Akamai Developer areas: Akamai-as-code, Akamai-as-data, and Akamai + ecosystem.
I welcome your feedback after going through this Akamai Developer Foundations training blog.
As always, thank you very much for your time on this blog, and I hope this was a helpful introduction to our developer toolbox!
Get started videos
00:00:00 - Introduction to Akamai Developer Foundations
00:05:20 - What is Akamai Developer?
00:12:45 - The DevOps Workflow
00:20:50 - Getting Started with Akamai Developer
00:25:15 - Akamai Development Environment
00:30:05 - Creating an Akamai API Client
00:35:10 - Akamai APIs with Postman
00:40:00 - Akamai APIs with HTTPie
00:44:15 - Akamai CLI
00:48:40 - Akamai Terraform Provider
00:55:40 - Troubleshooting with CURL
01:01:55 - How To Talk about Akamai Developer
01:08:25 - Resources and Recap on Akamai Developer
01:15:00 - Closing out the Akamai Developer Foundations