Why & What of Serverless Computing

Why & What of Serverless Computing

Unraveling serverless computing and why you should give it a closer look. In this session at AITP Atlanta Meetup, I talk about the serverless movement, the trend, the hype, and what it really means. I talk about the evolution of architecture, the tenets of serverless computing, its use cases & challenges, security implications. I also touched upon the total cost of ownership and adoption of serverless computing in the industry.

E40e0d06ed05f17385dee72a56cfda48?s=128

Rupak Ganguly

May 16, 2019
Tweet

Transcript

  1. @rupakg rupakganguly.com Why & What of Serverless unraveling serverless computing

    and why you should give it a closer look AITP Atlanta Meetup, Atlanta Rupak Ganguly May 16th, 2019 Solutions Architect, Docker Inc.
  2. Rupak Ganguly technologist | enterprise architect | entrepreneur rupakganguly.com @rupakg

    Solutions Architect, Docker Inc.
  3. @rupakg rupakganguly.com Why & What of Serverless unraveling serverless computing

    and why you should give it a closer look • The serverless movement • Evolution of architecture • Tenets of serverless computing • Use cases & challenges • Serverless TCO • Adoption in the enterprises We will look at:
  4. The Serverless Movement trends and the hype

  5. @rupakg rupakganguly.com the serverless movement Google Trends searches for ‘serverless’

  6. @rupakg rupakganguly.com serverless definition serverless: though servers exists, the developer

    does not have to think about them
  7. @rupakg rupakganguly.com “Serverless usually refers to an architectural pattern where

    the server side logic is run in stateless compute containers that are event-triggered, ephemeral and fully managed by third party.” - Martin Fowler of ThoughtWorks
  8. evolution monolithic architecture bare-metal servers tightly coupled components, deployed as

    single-unit data centers service-oriented architecture bare-metal, VMs, IaaS decoupled components, deployed as web services cloud micro-services architecture shift from infrastructure mgmt. API centric, single responsibility services platform-as-a-service zero admin of infrastructure serverless architecture functions as unit of deployment functions-as-a-service how we got here
  9. @rupakg rupakganguly.com serverless architecture shortest time to market greater developer

    productivity lowest total cost of ownership values applications run code in FaaS services and leverage other managed services
  10. @rupakg rupakganguly.com faas providers AWS Lambda Azure Functions Google Cloud

    Functions IBM Cloud Functions
  11. serverless architecture it’s all about events

  12. serverless architecture it’s all about services http://blog.tonyfendall.com/2015/12/serverless-architectures-using-aws-lambda/

  13. serverless architecture real-time stream processing

  14. serverless architecture restaurant waiting list https://coderecipe.ai/architectures/96083665

  15. Serverless Computing myths, benefits and qualities

  16. @rupakg rupakganguly.com microservices zero administration FaaS pay-per-execution ecosystem auto-scaling event-driven

    serverless computing FaaS qualities
  17. @rupakg rupakganguly.com zero administration • no servers to maintain •

    no OS upgrades, no patches • renewed role of devops teams • paradigm shift, no ssh • no control over infrastructure
  18. @rupakg rupakganguly.com pay-per-execution • no paying for idle • upfront

    cost savings • micro-billing, per 100 ms * • 1 million requests free tier * • $0.20 per million requests post free tier * * AWS Lambda pricing
  19. @rupakg rupakganguly.com microservices • promotes single responsibility principle based services

    • no more death stars, monolithic apps • varied language support • small, autonomous, polyglot teams • agility, quick & frequent deployments
  20. @rupakg rupakganguly.com ecosystem • use provider services • use of

    third-party services • S3, Kinesis, SNS, SQS • DynamoDB, Firebase, GraphQL • Cognito, Auth0, Synk, PureSec • CloudWatch, X-Ray, IOPipe
  21. @rupakg rupakganguly.com auto-scaling • auto scaling Lambda • auto scaling

    DynamoDB • based on load, throughput consumption • no need for auto-scaling group policies • enables high-availability
  22. @rupakg rupakganguly.com event-driven • trigger & respond to events •

    http events (API Gateway) • webhook events • scheduled events • rich ecosystem of event sources
  23. Considerations use cases, challenges & security

  24. @rupakg rupakganguly.com use cases • real-time/streaming, batch processing: kinesis ->

    lambda • REST APIs, Graph APIs: lambda -> API Gateway endpoint • event-driven workflows, scheduled tasks, data transforms what are others building
  25. @rupakg rupakganguly.com use cases • web, mobile & IoT backends

    • form processing • authentication • devops automation • chatbots • file manipulation • voice apps (Alexa) • ETL workloads • image resizing • video transcoding • security audits • dynamic websites • ecommerce stores • web hook listeners • CRON jobs • CI/CD pipelines • log analytics what are others building
  26. @rupakg rupakganguly.com challenges • cold start latency, more with VPC

    • price at high volumes • developer experience • provider limits • fear of vendor lock-in • application lifecycle management • metrics & monitoring • service discovery • team collaboration • standardization it’s not all rosy
  27. @rupakg rupakganguly.com security • Least privileges across resources • Reduce

    access to sensitive data, handle exceptions and validate input • Avoid embedding secrets, access keys and credentials in code • Throttle and define quotas • Encrypt data on the wire and data stored at rest • Scrutinize 3rd-party libraries & APIs for vulnerabilities • Be aware of new input/event sources guidelines & recommendations
  28. Serverless TCO is it really cost-effective?

  29. costs compared https://theburningmonk.com/2019/01/you-are-thinking-about-serverless-costs-all-wrong/

  30. cost of solution https://theburningmonk.com/2019/01/you-are-thinking-about-serverless-costs-all-wrong/

  31. @rupakg rupakganguly.com cost breakdown •direct costs: • pay-per-invocation (no paying

    for idle) • Lambda cost, service(s) cost, data transfer cost, API Gateway cost •personnel costs: • building a devops team is not cheap, and involves a huge learning curve. • ~ 100,000+ per year per engineer https://theburningmonk.com/2019/01/you-are-thinking-about-serverless-costs-all-wrong/ measurable costs
  32. @rupakg rupakganguly.com •overhead costs: • delegate ops responsibilities to your

    cloud provider reduced responsibilities for devops team • frees developers to focus on building business functionality •opportunity costs: • ability to iterate faster & business can test ideas faster than competitors https://theburningmonk.com/2019/01/you-are-thinking-about-serverless-costs-all-wrong/ cost breakdown non-measurable costs
  33. total cost of ownership https://theburningmonk.com/2019/01/you-are-thinking-about-serverless-costs-all-wrong/

  34. Adoption who are using serverless?

  35. @rupakg rupakganguly.com adoption serverless in production

  36. adoption the CNCF serverless landscape https://landscape.cncf.io/format=serverless

  37. @rupakg rupakganguly.com serverless and containers are complementary technologies what about

    containers? live side-by-side
  38. @rupakg rupakganguly.com https://rupakganguly.com/posts/dockercon-2019-oss-serverless/

  39. @rupakg rupakganguly.com it’s a wrap thank you. questions?