The dictionary defines feedback as "The modification or control of a process or system by its results or effects, for example in a biochemical pathway or behavioral response."
Let's explore how feedback loops work within Akamai. Feedback involves getting output and inserting it back into the input. In this case, information from our operations and monitoring capabilities -- how our platform/service is running -- to the developers who initially created the input.
How Akamai Fits in the Feedback Loop
A delay in load times causes operational impact to end users. As part of the DevOps feedback loop, the goal is to monitor site delivery to identify and mitigate operational deficiency or degradation, passing this information back to developers before it impacts end users.
From an Akamai perspective, there are two types of feedback to consider:
- Operational feedback determines if we built the right feature and deployed it successfully
- Business feedback assesses if you met the expectations of your business and customer
Let's explore these two types of feedback loops and how they help drive software delivery at Akamai.
Akamai can assist with operational feedback in a number of ways. The following graphic illustrates Akamai's capability in the tool chain:
Operational feedback can be incorporated in multiple stages of the tool chain. Let's break down the lifecycle to see where Akamai assists with providing feedback to developers and operators.
- Code/development: Code examples, integrated developer environment, and JSON/XML parsing all assist in ensuring code is developed and thoroughly checked before committing to build
- Build: Early validation of assets deployed, ensuring errors and anomalies are identified early and the feedback is sent back to the developers
- Test: Akamai Sandbox, CloudTest, and Test Center all provide unique capabilities to unit and regression test, as well as incorporate feedback early in the lifecycle
- Release/deploy: Fast activation/fallback of Akamai configurations rapidly releases changes, while also providing the ability to roll back on errors
- Operate/monitor: mPulse real user monitoring (RUM), CloudTest load testing, and DataStream low-latency log data all provide the necessary capabilities to not only monitor, but also provide feedback on the operational capability of the platform
What does this pipeline look like?
Following is an example of a pipeline within Akamai:
As shown, the feedback loop provides consistent feedback during the development, packaging, testing, and deployment of artifacts, ensuring bugs are identified early and developers are notified as soon as possible to minimize the operational impact to end users.
When Akamai releases a new application, a business feedback loop is established as our customers start utilizing the software. This is where we capture the remaining part of our feedback loop to ensure we have a robust capability to inform and direct our developers on how the stack is running and perceived by our customers.
Utilizing products such as mPulse, CloudTest, DataStream, and Test Center, we can ensure feedback is provided promptly.
CloudTest Load Testing
As far as load testing goes, CloudTest is a tool that can be integrated to offer testing capabilities as part of the build and incorporated to provide feedback. Imagine load testing every release, ensuring any recent changes have not degraded the load capabilities of your platform. If there is degradation to load capabilities, feedback can be provided to developers and the build set as failed/rolled back.
DataStream Low-Latency Log Data
Utilizing DataStream, we can start incorporating aggregated metrics into our feedback loop. For instance, we can look at the number of 404 responses before and after the release. If we see an increase in 404 messages, we can automatically fail the build, roll back, and deliver the feedback to developers.
Akamai Test Center
Akamai Test Center provides a regression testing capability, allowing organizations to incorporate test data into the feedback loop. Again, the main benefit here is to identify the regression of your assets as early as possible, notify developers, and either fail or roll back the build.
We just had a look at some of the key feedback requirements from a business perspective, but why do businesses actually want to monitor and integrate the feedback at such a late stage? This comes down to two key points:
- The ability to release frequently and at pace (in some cases, this is as fast as every developer commit), where feedback becomes crucial in limiting impact on end users
- The ability to provide the best experience to end users -- even the slightest change to page or front-end performance can cause a significant downstream impact on your funnel
Akamai can assist organizations in delivering feedback loops for both the DevOps and business operations lifecycles.
"An automated process is only as good as its monitoring capability, poor monitoring results in poor feedback, which as a direct result impacts your customers." -- Dale Lenard, Akamai Technologies
In Part 2, we will help you set up a feedback loop with Akamai and look at how it can deliver operational efficiency by identifying and mitigating production issues early for quick remediation.