Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Intro to Serverless

Intro to Serverless

Spreading the magic of serverless! How did we get here? Evolution of cloud models and architectures. Tenets of serverless computing. Use cases and challenges. Comparing costs for serverless vs traditional setup.

Rupak Ganguly

January 15, 2019
Tweet

More Decks by Rupak Ganguly

Other Decks in Technology

Transcript

  1. @rupakg rupakganguly.com
    Intro to Serverless
    basic understanding of serverless computing
    and why you should be interested
    Jan 15th, 2019 IT Workshop, Atlanta
    Rupak Ganguly

    View Slide

  2. Rupak Ganguly
    technologist | enterprise architect | entrepreneur
    rupakganguly.com
    @rupakg

    View Slide

  3. @rupakg
    rupakganguly.com
    Intro to Serverless
    basic understanding of serverless computing
    and why you should be interested
    • Evolution
    • Tenets of serverless computing
    • Use cases & challenges
    • Serverless costs compared
    We will look at:

    View Slide

  4. Evolution
    serverless in context

    View Slide

  5. @rupakg
    rupakganguly.com
    data centers
    monolithic architecture
    bare-metal servers
    tightly coupled components, deployed as single-unit

    View Slide

  6. @rupakg
    rupakganguly.com
    cloud
    service-oriented architecture
    bare-metal, VMs, IaaS
    decoupled components, deployed as web services

    View Slide

  7. @rupakg
    rupakganguly.com
    platform-as-a-service
    micro-services architecture
    shift away from infrastructure management
    API centric, single responsibility services

    View Slide

  8. @rupakg
    rupakganguly.com
    functions-as-a-service
    serverless architecture
    zero administration of infrastructure
    functions as unit of deployment

    View Slide

  9. 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

    View Slide

  10. serverless architecture
    it’s all about events

    View Slide

  11. Serverless Computing
    myths, benefits and qualities

    View Slide

  12. @rupakg
    rupakganguly.com
    serverless definition
    serverless: though servers exists, the developer
    does not have to think about them

    View Slide

  13. @rupakg
    rupakganguly.com
    faas providers
    AWS Lambda Azure Functions
    Google Cloud Functions IBM Cloud Functions

    View Slide

  14. @rupakg
    rupakganguly.com
    microservices
    zero administration
    FaaS
    pay-per-execution ecosystem
    auto-scaling
    event-driven
    serverless computing
    FaaS qualities

    View Slide

  15. @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

    View Slide

  16. @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

    View Slide

  17. @rupakg
    rupakganguly.com
    microservices
    • promotes single responsibility
    principle based services

    • no more death stars, monolithic
    apps

    • varied language support

    • small, autonomous, polygot teams

    • agility, quick & frequent
    deployments

    View Slide

  18. @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

    View Slide

  19. @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

    View Slide

  20. @rupakg
    rupakganguly.com
    event-driven
    • trigger & respond to events

    • http events (API Gateway)

    • webhook events

    • scheduled events

    • rich ecosystem of event
    sources

    View Slide

  21. Considerations
    security, use cases & challenges

    View Slide

  22. @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

    View Slide

  23. @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

    View Slide

  24. @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

    • web hook
    listeners

    • CRON jobs

    • CI/CD pipelines

    • log analytics
    what are others building

    View Slide

  25. @rupakg
    rupakganguly.com
    challenges
    • cold start latency, more
    with VPC

    • price at high volumes

    • developer experience

    • limitations

    • fear of vendor lock-in

    • application lifecycle
    management

    • metrics & monitoring

    • service discovery

    • team collaboration

    • standardization
    it’s not all rosy

    View Slide

  26. Serverless TCO
    is it really cost-effective?

    View Slide

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

    View Slide

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

    View Slide

  29. @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

    View Slide

  30. @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

    View Slide

  31. total cost of ownership
    https://theburningmonk.com/2019/01/you-are-thinking-about-serverless-costs-all-wrong/

    View Slide

  32. @rupakg
    rupakganguly.com
    resources
    • Blog: rupakganguly.com

    • Projects: github.com/rupakg

    • Serverless Blog: serverless.com

    • Serverless Framework: https://github.com/serverless/
    serverless
    further reading

    View Slide

  33. @rupakg rupakganguly.com
    it’s a wrap
    thank you for coming

    View Slide