Presentation: The Hitchhiker's Guide to Serverless Javascript

Location:

Duration

Duration: 
11:50am - 12:40pm

Day of week:

Level:

Persona:

Key Takeaways

  • Learn about the serverless architecture and the benefits it brings
  • Understand that these patterns are being used by many large companies already
  • Explore how to structure and build systems based on this technology

Abstract

Tools like AWS’s Lambda, Google's Cloud Functions, and many others are allowing us to create “serverless” applications. At Bustle (a top 30 website in the US) we are taking full advantage of this new infrastructure. APIs, databases, searching, indexing, server side rendered javascript, are all being handled without deploying any of our own servers. And the best part? It costs orders of magnitude less than our old VM based deployments. I’ll walk attendees through our entire serverless stack. I'll talk about the good, the bad, and the ugly. I'll share real numbers from production systems.

The goal is that attendees will leave with concrete knowledge of what going serverless really means and be able to decide if it makes sense for their own infrastructure.

Interview

Question: 
Why did you pick the title “Hitch-hiker’s guide to Serverless Javascript”?
Answer: 

I wanted to give a talk that was down-to-earth, and to give a talk about the kind of things you won’t learn from Amazon or Google, and instead cover the things we’ve learned.

Question: 
What does full-stack serverless mean?
Answer: 

It means we’re using JavaScript with React and Ember on the client side, as well as JavaScript on the server. Everything is done through AWS Lambda with server-side rendering, doing scheduled mutations through AWS Lambda - so there are literally no servers standing up to handle this, it’s all event-driven request processing.

The biggest advantage to us is that we can deliver more software faster. We had an older system on EC2 using opsworks and chef. It’s not that it didn’t work -- it did, most of the time -- but when autoscaling fails you then have to handle it. The autoscaling is important - we get a lot of bursty traffic - and if we get high loads then Amazon just handles it for us.

On a daily basis, we handle between 10-20 million requests per day on AWS Lambda.

Question: 
What’s the big gotcha?
Answer: 

Everything is new. Serverless is a hyped buzzword at the moment; it means that you should be cautiously optimistic but skeptical. You lose the ability to debug through SSH or use DTrace to identify issues. However, the trade-off is that you’re outsourcing the management of that to others. Logging can identify the issues but sometimes feels like a needle in a haystack.

There’s a certain amount out of the box with AWS, but some of the tools aren’t as good as the others, like CloudWatch. There are a few startups which are targeting AWS Lambda and providing additional utilities that can help deal with logs, which helps.

Question: 
Are you concerned about vendor lock-in?
Answer: 

Although AWS has a lot of stuff, it’s possible to migrate if you have serverless functions and the will do to it. I cover some of these issues in my talk and look at mitigations to reduce the concerns regarding vendor lock-in. Some of the services, like DynamoDB, are more difficult to extract yourself from -- but Lambda is an idiomatic JavaScript service that can be hosted in a standalone service in about 20 lines of JavaScript.

I’ve yet to find a lot of compelling business cases why lock-in is a bad idea. Developers might not like the idea in principle, but the business cases aren’t there.

Question: 
Who is the talk aimed at?
Answer: 

It’s aimed at technical architects and CTO types, who are looking at the big picture architecture.

Speaker: Steve Faulkner

Director of Engineering @Bustle

Steve Faulkner is the Director of Platform Engineering at Bustle, where he is championing all things "serverless". Previously he co-founded the streaming music startup Murfie. He lives in Philadelphia.

Find Steve Faulkner at

Similar Talks

CTO who understands the science around helping people do their best
Senior Software Engineer @IBM, Committer on Apache Aries
Distributed Systems Engineer Working on Cache @Twitter
Gold Badges Java, JVM, Memory, & Performance @StackOverflow / Lead developer of the OpenHFT project
Research Lead, Software Correctness @Galois

Tracks

Conference for Professional Software Developers