Why You Need to Understand Caching for Voice-Powered Apps

How CloudFront Helps our Apps

Let’s start by understanding the benefits of using a web cache in general. Web caches increase the overall performance of our applications by 1) reducing redundant data transfers; 2) reducing network bottlenecks; 3) reducing demand on origin servers; and 4) reducing distance delays (Gourley and Totty 161).

The Cache Life-cycle

Next, we will break down the typical cache life-cycle and see how much of it is implemented behind-the-scenes when we use CloudFront. A typical cache goes through 7 processing steps:

  1. Receiving the request from the network;
  2. Parsing the message, extracting the URL and headers;
  3. Checking for a local copy of the requested object, or fetching a new copy;
  4. Checking if the local copy of the object is fresh, and requesting a new object if it is not fresh;
  5. Sending the response to the requesting client, including new headers and cached body;
  6. Optionally logging the transaction
Automatically Refreshing Content in a Voice App (Alexa Skill)

Conclusion

In this work we touched on the life-cycle of a typical cache server, and aligned the process with a modern CloudFront cache. We also examined how we can use default settings to quickly and easily add dynamic functionality to a voice-powered application. Performance is important in serverless web applications, and equally as important in voice-powered applications. Going forward, CloudFront will be an indispensable part of our toolkits as serverless, voice application developers.

--

--

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store
Matt Pitts

Matt Pitts

Ex Amazon Engineer and Founder of @AdonousTech. A technology company focused on #VoiceFirst #Serverless and #Cloud applications for small businesses