Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Serverless

59 views

Published on

Presentation given to NashJS (http://meetup.com/nashjs) on 6/14/2018 about serverless architecture in AWS using the Serverless framework (http://serverless.com).

Published in: Engineering
  • Be the first to comment

  • Be the first to like this

Serverless

  1. 1. Serverless daniel.cottone@asurion.com Github: daniel-cottone Daniel Cottone @ Asurion
  2. 2. What we’ll talk about... ● Evolution of the cloud ● What is serverless? ● Let’s make a service! ● Lessons learned
  3. 3. Evolution of the cloud
  4. 4. Evolution of the cloud ● Physical servers ● Long/expensive provisioning ● Lots of operational challenges/expenses ● Mostly idle Pre-Virtualization
  5. 5. Evolution of the cloud ● Fewer physical servers ● Greatly reduced provisioning time and cost ● Still mostly idle ● Capacity planning still painful ● Fewer operational challenges/expenses Virtualization / Private Cloud
  6. 6. Evolution of the cloud ● No physical servers ● Minimal provisioning time ● Still mostly idle ● Capacity planning no longer painful ● Some operational costs Cloud Initial Adoption (IaaS)
  7. 7. Evolution of the cloud ● Minimal provisioning time ● Scale to meet demand ● No capacity planning ● Limited operational costs Auto-scaling and High Availability
  8. 8. Evolution of the cloud ● No provisioning, just configuration ● Scaling is abstracted ● Highly available by default ● Minimal operational costs Embracing PaaS
  9. 9. What is serverless?
  10. 10. “Serverless is when you pretend that using someone else’s servers means they don’t exist.” - Someone on the internet
  11. 11. Serverless is an abstraction from everything except code and configuration.
  12. 12. What is serverless? ● Abstraction from infrastructure; just code and configuration ● Scaling handled automatically ● Event-driven design
  13. 13. Serverless Frameworks and Providers
  14. 14. Serverless Frameworks and Providers
  15. 15. Serverless Framework ● Designed for rapid development ● Event-driven ● Provider agnostic ● Extensible via plugins ● Integrates well with CI/CD
  16. 16. Serverless Framework ● Configuration specified in YAML ● Deployment of services via command line
  17. 17. API Gateway ● Service to publish and define REST APIs ● Acts as the HTTP “front door” ● Integrates with compute resources ○ Lambda ○ AWS Services ○ HTTP endpoint
  18. 18. Lambda ● Function (code) that runs when triggered by an event ● Key components ○ Event ○ Context ○ Callback
  19. 19. Cloud Formation ● Tool for provisioning infrastructure in AWS ● Codify infrastructure in templates, “infrastructure as code”
  20. 20. Let’s make a service!
  21. 21. Getting set up Install serverless Create a service yarn global add serverless npm install -g serverless sls create --template aws-nodejs --path test-service --name test-service
  22. 22. Check out the demo Checkout the repo git clone https://github.com/daniel-cottone/serverless-demo.git
  23. 23. Lessons learned...
  24. 24. Lessons learned Reduced Visibility: ● Tooling exists, but not cohesive ● Complex, decentralized infrastructure ● Can be difficult to debug
  25. 25. Lessons learned Latency: ● Overall latency is great ● Peak latency can be bad ● Cold-starts and occasional latency have to be accepted
  26. 26. Lessons learned Not yet mature: ● Serverless is still somewhat bleeding edge ● Missing lots of really nice features ● Stability of frameworks/tooling not 100% yet (but pretty good)
  27. 27. Thanks! We’re hiring! Check out our team at SolutoNashville.com daniel.cottone@asurion.com https://github.com/daniel-cottone/serverless-demo
  28. 28. Questions?

×