The Brief
When Informa wanted to innovate, as a technology leader, in partnership with Amazon and Amazon Web Services (AWS) they conceived an Alexa service to allow business intelligence customers to surface audio content and make enquiries to Informa analysts, via voice interaction using Alexa skills.
As an AWS technology partner Byte9 were commissioned to work with Informa’s in-house marketing and digital teams to conceive and deliver a ‘co-sourced’ solution that Informa could develop and implement independently, or in collaboration with the Byte9 team.
The Byte9 Solution
The Informa Alexa skills solution allows users to search and playback podcasts from the Informa podcasts library, via Alexa, served from SoundCloud. The Alexa Skill also allows subscribed business users to ‘Ask the Analyst’, to raise enquiries with Informa’s panel of experts.
From a development perspective this was an interesting project as the approach Byte9 took was a 'serverless' one, using Amazon Web Services (AWS) Lambda functions, serverless Node.JS connected to other AWS services; Alexa Skills to service user voice commands, AWS DynamoDB for user data and questions storage, AWS CloudWatch for logging and AWS Simple Email Service as an SMTP server for sending notifications, Lambda functions also provision the podcasts from SoundCloud.
The user's voice commands are captured on any Amazon Echo device, which utilises the Alexa skills application, which in turn calls Lambda functions using voice commands in JSON format. Lambda then returns Alexa Speak Directives, or audio files fetched from SoundCloud for playback. The skill has also been developed to handle multiple languages, and language variations, to meet the global requirements of the Informa audience.
The Informa Alexa skill uses continuous deployment using an AWS deployment pipeline, delivering the Lambda code to the serverless environment using CloudFormation & SAM Templates. AWS CodePipeline then deploys a zipped package of Lambda code to an AWS S3 bucket using AWS CodeCommit, from the GIT repository.
The Alexa Skills code has also been developed following Test Driven Methodology (TDD), so that when new code and features are added to the solution the integrity of the entire system can be guaranteed, ongoing.
Iteration 2 - 'Flash Briefings'
Following the successful launch of the first Informa Pharma Intelligence Alexa Skill, Byte9 was subsequently briefed to produce a Flash Briefing Alexa Skill for their latest Pharma and MedTech news. Extending the infrastructure and deployment set-up of the first Alexa Skill developments Byte9 implemented two new flash briefing news skills, for Informa. The latest news from multiple sources is now pulled into separate custom RSS feeds, to use for each flash briefing skill.
The Result
AWS lambda allows Informa to run the code without provisioning or managing servers, or environments. The primary benefits of this serverless application setup is that Informa are only paying for the execution of the Lambda functions on request, not for an environment that is running the application all of the time. The additional benefit is that AWS Lambda functions offer enormous scale and availability.
The Informa Pharma Intelligence Alexa skill podcast service, as well as the Pharma news and Medtech news flash briefings, are now available for Informa clients worldwide to access premium content and analysis via any Alexa device.