You are viewing content from a past/completed QCon

Presentation: Serverless and Chatbots: A Match Made in the Cloud

Track: Microservices / Serverless Patterns & Practices

Location: Ballroom BC

Duration: 2:55pm - 3:45pm

Day of week: Monday

Slides: Download Slides

Level: Intermediate

Persona: Architect, Backend Developer, Developer, Front-end Developer, General Software, Technical Engineering Manager

Share this on:

This presentation is now available to view on InfoQ.com

Watch video with transcript

What You’ll Learn

 

  • Hear  about the architecture of the serverless chatbot that Liberty Mutual built.

  • Learn how to leverage cloud services (such as AWS Lex) to build a conversational bot.

  • Understand some of the mindset changes we need to build a conversational system.

Abstract

The Internet tutorials promised that building a chatbot was simple, and that the magic of Serverless would make it even simpler. And it was true. But it turns out that the simple runs out very quick. By the time I discovered this I was already hooked on both Conversational AI and Serverless technologies. Conversational Interfaces let users interact with technology in a new way - and Serverless lets developers build software in a new way. Combined they bring something brand new that requires both learning new skills and applying existing skills in new ways.

Our team has built an Employee Digital Assistant for the employees of our Fortune 100 company. Using practical examples from our chatbot, let me share with you some of the lessons we learned that can get you started with your own chatbot. Building a simple chatbot is simple - building a great chatbot is what I’m going to show you how to do. 

Question: 

 

QCon What's the focus of the work that you do?

Answer: 

Gillian: I work for a large enterprise organization, Liberty Mutual. About a year and a half ago, I started working on an employee digital assistant (a chatbot for internal productivity). That was the first time I'd worked in the cloud. Suddenly with this project, I was working with cloud, serverless, and artificial intelligence.

While I was working on these things, I started to feel like there was a much, much bigger picture at play here. We are a huge company, and we've got all these different initiatives going on. They have so many commonalities. Not only that, but because it’s a new interface, it's just different than anything we've ever built, and we have all these new things to think about (and learn). It’s not just in IT but outside of it as well.

So, at the moment, I've stepped out of the project (just briefly) to put together an organizational strategy for how we can equip the company to use these technologies and be really effective.

Question: 

QCon: Can you tell me more about this talk?

Answer: 

Gillian: I'll be speaking about chatbots generally, and how we built our employee digital assistant. I will be focused on building on AWS. That's not an endorsement of AWS. That is just what we built our platform on. A lot of the learnings however are applicable regardless of what cloud or chatbot technology you use.

As far as technology, our app is surfaced through a toolbar on our intranet as the primary way of interacting with it, and on our mobile apps, it has a custom front end. The backend is designed to be able to surface up through anywhere. My talk won't be focused on the front-end integration, it will be more focused on the backend.

Question: 

QCon: Are you leveraging the conversational pipeline that AWS has available to developers or is this something that is using tools that you built specifically around serverless?

Answer: 

Gillian: We're using AWS Lex, which is their service for conversation bots. We're using a lot of the services from AWS as well. That's the power of serverless. There are no servers but you just put together a whole pile of services to put your building blocks together. We are, however, using our own CI/CD tools outside of AWS and build everything through code not the console.

Question: 

QCon: How much are you going to spend on the architecture of building a system like this?

Answer: 

Gillian: I will show a very high-level diagram of our architecture, where we say things, at what point we say things, and how we do our conversational analytics (things like that). It won't be huge, but I will show the various bits of the architecture, and what happens in those different bits. I’ll also talk about our build/deploy pipeline and how we test.

Question: 

QCon: Who is the audience for this talk?

Answer: 

Gillian: I'm talking to an experienced developer, but probably someone who is just getting started with chatbots (potentially hasn't even done anything with chatbots yet). If you're getting started (or you're wanting to scale up something you've got) and you're trying to work out what you need to think about if you're going to go to scale, this talk is for you.

I will be assuming that you know about software development. so I’ll be jumping right into the pieces involved in building a chatbot, and why we used serverless.

Question: 

QCon: What's the technical problem that keeps you up at night?

Answer: 

Gillian: Because I work in cognitive technologies and think a lot about humanizing technology (what we should be doing), I get a lot of questions around what human capabilities I believe we can or can't automate now or in the future. But honestly, that's completely the wrong question. The question people should be asking is what human capability shouldn't we automate? Regardless of whether we can or can't, which one shouldn't we?

That's a question that keeps me up at night. That's the one I think about a lot. Honestly, I think we'll be able to create a facsimile of almost anything, but there are things that even if we can,  we shouldn't.

Speaker: Gillian Armstrong

Cognitive Technologies @Liberty_IT

Gillian works as a Technical Lead in the Cognitive Technologies team in Liberty IT. Her team is focused on thinking about big problems, and working out how to solve them using innovative technology in interesting new ways. At the moment she is working on Artificial Intelligence, with a particular focus on Conversational AI design and development. She has more than a decade’s worth of experience in many technologies across the full stack, and loves being a software engineer as it allows her not just to think up big ideas, but also to make them a reality.

Find Gillian Armstrong at

2020 Tracks

  • Social Responsibility: Implications of Building Modern Software

    Software has an ever increasing impact on individuals and society. Understanding these implications helps build software that works for all users

  • Non-Technical Skills for Technical Folks

    To be an effective engineer, requires more than great coding skills. Learn the subtle arts of the tech lead, including empathy, communication, and organization.

  • Clientside: From WASM to Browser Applications

    Dive into some of the technologies that can be leveraged to ultimately deliver a more impactful interaction between the user and client.

  • Languages of Infra

    More than just Infrastructure as a Service, today we have libraries, languages, and platforms that help us define our infra. Languages of Infra explore languages and libraries being used today to build modern cloud native architectures.

  • Mechanical Sympathy: The Software/Hardware Divide

    Understanding the Hardware Makes You a Better Developer

  • Paths to Production: Deployment Pipelines as a Competitive Advantage

    Deployment pipelines allow us to push to production at ever increasing volume. Paths to production looks at how some of software's most well known shops continuous deliver code.

  • Java, The Platform

    Mobile, Micro, Modular: The platform continues to evolve and change. Discover how the platform continues to drive us forward.

  • Security for Engineers

    How to build secure, yet usable, systems from the engineer's perspective.

  • Modern Data Engineering

    The innovations necessary to build towards a fully automated decentralized data warehouse.

  • Machine Learning for the Software Engineer

    AI and machine learning are more approachable than ever. Discover how ML, deep learning, and other modern approaches are being used in practice by Software Engineers.

  • Inclusion & Diversity in Tech

    The road map to an inclusive and diverse tech organization. *Diversity & Inclusion defined as the inclusion of all individuals in an within tech, regardless of gender, religion, ethnicity, race, age, sexual orientation, and physical or mental fitness.

  • Architectures You've Always Wondered About

    How do they do it? In QCon's marquee Architectures track, we learn what it takes to operate at large scale from well-known names in our industry. You will take away hard-earned architectural lessons on scalability, reliability, throughput, and performance.

  • Architecting for Confidence: Building Resilient Systems

    Your system will fail. Build systems with the confidence to know when they do and you won’t.

  • Remotely Productive: Remote Teams & Software

    More and more companies are moving to remote work. How do you build, work on, and lead teams remotely?

  • Operating Microservices

    Building and operating distributed systems is hard, and microservices are no different. Learn strategies for not just building a service but operating them at scale.

  • Distributed Systems for Developers

    Computer science in practice. An applied track that fuses together the human side of computer science with the technical choices that are made along the way

  • The Future of APIs

    Web-based API continue to evolve. The track provides the what, how, and why of future APIs, including GraphQL, Backend for Frontend, gRPC, & ReST

  • Resurgence of Functional Programming

    What was once a paradigm shift in how we thought of programming languages is now main stream in nearly all modern languages. Hear how software shops are infusing concepts like pure functions and immutablity into their architectures and design choices.