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

Is Serverless getting Serverful?

kensh
November 21, 2021

Is Serverless getting Serverful?

youtube
https://www.youtube.com/watch?v=N86S8hhLeXw

Serverless is characterized by being able to concentrate on application logic (functions) and run the business cycle at high speed without being aware of the server, but recently there are various things that can not be done without being aware of the scope outside the business logic. Do you feel that it has increased? Considering the recent Serverless scope, I will focus on how to build an application in order to use Serverless like Serverless.

kensh

November 21, 2021
Tweet

More Decks by kensh

Other Decks in Technology

Transcript

  1. © 2021, Amazon Web Services, Inc. or its Affiliates. All

    rights reserved. 2:00 am on Nov 21 Is Serverless getting Serverful? Snr. Serverless Specialist, Kensuke Shimokawa
  2. © 2021, Amazon Web Services, Inc. or its Affiliates. All

    rights reserved. © 2021, Amazon Web Services, Inc. or its affiliates. All rights reserved. Kensuke Shimokawa Amazon Web Services Japan Snr. Serverless Specialist
  3. © 2021, Amazon Web Services, Inc. or its Affiliates. All

    rights reserved. It was someone's birthday a week ago, right?
  4. © 2021, Amazon Web Services, Inc. or its Affiliates. All

    rights reserved. Table • History of AWS Lambda • Shared responsibility model for AWS Lambda • Serverless Principle • With or Without • Without VPC • Without Custom Runtime • Without Provisioned Concurrency • Without EFS • With Agility
  5. © 2021, Amazon Web Services, Inc. or its Affiliates. All

    rights reserved. © 2021, Amazon Web Services, Inc. or its Affiliates. All rights reserved. History of AWS Lambda
  6. © 2021, Amazon Web Services, Inc. or its Affiliates. All

    rights reserved. Now you don't have to think about servers!
  7. © 2021, Amazon Web Services, Inc. or its Affiliates. All

    rights reserved. But is that still true?
  8. © 2021, Amazon Web Services, Inc. or its Affiliates. All

    rights reserved. Let's look back on the history of AWS Lambda.
  9. © 2021, Amazon Web Services, Inc. or its Affiliates. All

    rights reserved. 2014 Introducing AWS Lambda 2015 Available in Asia Pacific (Tokyo) 5 Minute Functions 2016 Access Resources within a VPC 2018 up to 15 minutes custom runtimes 2019 Provisioned Concurrency 2020 supports EFS supports container images 2021 Lambda Extensions supports Graviton2 history of
  10. © 2021, Amazon Web Services, Inc. or its Affiliates. All

    rights reserved. © 2021, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Shared responsibility model for AWS Lambda
  11. © 2021, Amazon Web Services, Inc. or its Affiliates. All

    rights reserved. Shared responsibility model for AWS Lambda AWS Customer Customer Function Code and Libraries Resource Configuration Identity & Access Management Compute Execution Environment Runtime Language Networking Infrastructure Server Software Hardware Regions Availability Zones EC2 Hardware
  12. © 2021, Amazon Web Services, Inc. or its Affiliates. All

    rights reserved. Shared responsibility model for AWS Lambda AWS Customer Resource Configuration Identity & Access Management Compute Execution Environment Runtime Language Networking Infrastructure Server Software Hardware Regions Availability Zones EC2 Hardware Customer Function Code and Libraries AWS Lambda enables customers for agility without compromising on scale or reliability.
  13. © 2021, Amazon Web Services, Inc. or its Affiliates. All

    rights reserved. Runtime Language Customer Function Code and Libraries Shared responsibility model for AWS Lambda AWS Customer Resource Configuration Identity & Access Management Compute Execution Environment Server Software Hardware Regions Availability Zones EC2 Hardware With VPC, customers can choose at least 2 subnets for Lambda to run functions in high availability mode. Networking Infrastructure
  14. © 2021, Amazon Web Services, Inc. or its Affiliates. All

    rights reserved. Customer Function Code and Libraries Shared responsibility model for AWS Lambda AWS Customer Resource Configuration Identity & Access Management Compute Execution Environment Networking Infrastructure Server Software Hardware Regions Availability Zones EC2 Hardware Runtime Language With custom runtimes, customers have to manage runtime security patches.
  15. © 2021, Amazon Web Services, Inc. or its Affiliates. All

    rights reserved. Networking Infrastructure Runtime Language Customer Function Code and Libraries Shared responsibility model for AWS Lambda AWS Customer Resource Configuration Identity & Access Management Compute Server Software Hardware Regions Availability Zones EC2 Hardware With Lambda Extensions, Execution Environment customers have to use Extensions API to integrate into Lambda execution environment.
  16. © 2021, Amazon Web Services, Inc. or its Affiliates. All

    rights reserved. Networking Infrastructure Runtime Language Execution Environment Customer Function Code and Libraries Shared responsibility model for AWS Lambda AWS Customer Resource Configuration Identity & Access Management Server Software Hardware Regions Availability Zones EC2 Hardware With Provisioned Concurrency, customers can scale resources based on a specific CloudWatch metric or at a specific date and time. Compute
  17. © 2021, Amazon Web Services, Inc. or its Affiliates. All

    rights reserved. You may have to think a little about servers.
  18. © 2021, Amazon Web Services, Inc. or its Affiliates. All

    rights reserved. © 2021, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Serverless Principle
  19. © 2021, Amazon Web Services, Inc. or its Affiliates. All

    rights reserved. Serverless enables customers for agility without compromising on scale or reliability.
  20. © 2021, Amazon Web Services, Inc. or its Affiliates. All

    rights reserved. Our Serverless Principles Greater agility Less overhead Better focus Increased scale More flexibility
  21. © 2021, Amazon Web Services, Inc. or its Affiliates. All

    rights reserved. Innovation Loop Experiment Listen Idea
  22. © 2021, Amazon Web Services, Inc. or its Affiliates. All

    rights reserved. We need agility for Innovation.
  23. © 2021, Amazon Web Services, Inc. or its Affiliates. All

    rights reserved. Let's go back to the principle.
  24. © 2021, Amazon Web Services, Inc. or its Affiliates. All

    rights reserved. © 2021, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Without VPC
  25. © 2021, Amazon Web Services, Inc. or its Affiliates. All

    rights reserved. Why do we need to attach Lambda to VPC? We may need RDBMS to query with SQL. We may need Redis for your cache to reduce latency. We may need File System for using package software that requires file ops. We may need fixed IP address for the system firewall. We may need proprietary security software to comply with corporate regulations.
  26. © 2021, Amazon Web Services, Inc. or its Affiliates. All

    rights reserved. Yes, you're right and you need VPC. Keep that radius small.
  27. © 2021, Amazon Web Services, Inc. or its Affiliates. All

    rights reserved. frontend Amazon Kinesis Data Streams AWS Lambda AWS Lambda Amazon Aurora (Normalized table) User Amazon DynamoDB (Denormalized table) Command-Query Responsibility Segregation Pattern 1/2 VPC
  28. © 2021, Amazon Web Services, Inc. or its Affiliates. All

    rights reserved. Command-Query Responsibility Segregation Pattern 2/2 User Amazon DynamoDB Streams (Denormalized table) AWS Lambda Amazon Aurora (Normalized table) frontend VPC
  29. © 2021, Amazon Web Services, Inc. or its Affiliates. All

    rights reserved. Do you really need to fix the IP address?
  30. © 2021, Amazon Web Services, Inc. or its Affiliates. All

    rights reserved. A security group acts as a virtual firewall that controls the traffic for one or more instances. AWS Identity and Access Management (IAM) provides fine-grained access control across all of AWS. With IAM, you can specify who can access which services and resources, and under which conditions. With IAM policies, you manage permissions to your workforce and systems to ensure least-privilege permissions. AWS Identity and Access Management (IAM)
  31. © 2021, Amazon Web Services, Inc. or its Affiliates. All

    rights reserved. https://aws.amazon.com/blogs/security/zero-trust-architectures-an-aws-perspective/ Zero Trust is a conceptual model and an associated set of mechanisms that focus on providing security controls around digital assets that do not solely or fundamentally depend on traditional network controls or network perimeters.
  32. © 2021, Amazon Web Services, Inc. or its Affiliates. All

    rights reserved. © 2021, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Without Custom Runtime
  33. © 2021, Amazon Web Services, Inc. or its Affiliates. All

    rights reserved. Why do you want to bring unmanaged runtime? We may need faster runtime to perform better. We may need familiar runtime for developers. We may need the language to comply with corporate regulations.
  34. © 2021, Amazon Web Services, Inc. or its Affiliates. All

    rights reserved. Yes, you're right and you need Custom Runtime. Keep that radius small.
  35. © 2021, Amazon Web Services, Inc. or its Affiliates. All

    rights reserved. https://martinfowler.com/bliki/PolyglotPersistence.html If you think in the context of Microservices, Your Lambda can be polyglot.
  36. © 2021, Amazon Web Services, Inc. or its Affiliates. All

    rights reserved. © 2021, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Without Provisioned Concurrency
  37. © 2021, Amazon Web Services, Inc. or its Affiliates. All

    rights reserved. Why do you provision concurrency? We may need faster scale to perform better. We may need to avoid coldstart for UX. We may need to provide synchronous system.
  38. © 2021, Amazon Web Services, Inc. or its Affiliates. All

    rights reserved. Yes, you're right and you need to provision concurrency. Keep that radius small.
  39. © 2021, Amazon Web Services, Inc. or its Affiliates. All

    rights reserved. Microservices Microservices Microservices DB DB DB Queue REST REST Stream Browser Mobile REST REST Amazon API Gateway Cache css, js, html, image Static Contents CDN Cache WAF WAF Object Storage WebSocket Server push Use CDN, Server push, cache, rate limit, etc.
  40. © 2021, Amazon Web Services, Inc. or its Affiliates. All

    rights reserved. Can be asynchronous? Can be asynchronous? Can be asynchronous? Decision tree asynchronous asynchronous asynchronous synchronous (Ask yourself at least three times in your heart.)
  41. © 2021, Amazon Web Services, Inc. or its Affiliates. All

    rights reserved. © 2021, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Without EFS
  42. © 2021, Amazon Web Services, Inc. or its Affiliates. All

    rights reserved. Why do you need file system? We may need familiar access method to files. We may need to use proprietary software that requires file system. We may need to control cooperation between systems via files.
  43. © 2021, Amazon Web Services, Inc. or its Affiliates. All

    rights reserved. Yes, you're right and you need to control familiar file system. Keep that radius small.
  44. © 2021, Amazon Web Services, Inc. or its Affiliates. All

    rights reserved. Event Driven 1. Upload files to Amazon S3 bucket 2. Asynchronous execution of Lambda functions 1. Event payload • Bucket name • Object key 3. Image analysis using Amazon Rekognition 4. Save the result of image analysis 1 2 Amazon Rekognition Amazon DynamoDB 3 4 file Upload Event Amazon S3 Lambda Function Image analysis, Data persistence
  45. © 2021, Amazon Web Services, Inc. or its Affiliates. All

    rights reserved. Can be event driven? Can be event driven? Can be event driven? Decision tree Object Storage Queue Stream File system (Ask yourself at least three times in your heart.)
  46. © 2021, Amazon Web Services, Inc. or its Affiliates. All

    rights reserved. © 2021, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Key Takeaways
  47. © 2021, Amazon Web Services, Inc. or its Affiliates. All

    rights reserved. Is Serverless getting Serverful? No, it is not. Just It can be used for Serverful way. Go for Serverless as possible as you can.
  48. © 2021, Amazon Web Services, Inc. or its Affiliates. All

    rights reserved. Key Takeaways Serverless enables customers for agility without compromising on scale or reliability. If you feel your system less agility, make your Serverless loosely coupled from others.
  49. © 2021, Amazon Web Services, Inc. or its Affiliates. All

    rights reserved. Get Started Today Features, Use Cases, Pricing https://aws.amazon.com/ Blogs, Videos, Training https://serverlessland.com/ Hands-on Workshops for Serverless https://aws.amazon.com/serverless-workshops/
  50. © 2021, Amazon Web Services, Inc. or its Affiliates. All

    rights reserved. © 2021, Amazon Web Services, Inc. or its Affiliates. All rights reserved. THANK YOU!