serverless platforms
play

Serverless Platforms Diptanu Choudhury QCon New York @diptanu 1 2 - PowerPoint PPT Presentation

Serverless Platforms Diptanu Choudhury QCon New York @diptanu 1 2 The GOES Mission A lineage of geostationary satellites Current mission is called GOES-R ABI views earth with 16 different spectral bands GOES-R Products Atmospheric


  1. Serverless Platforms Diptanu Choudhury QCon New York @diptanu 1

  2. 2

  3. The GOES Mission A lineage of geostationary satellites Current mission is called GOES-R ABI views earth with 16 different spectral bands

  4. GOES-R Products • Atmospheric events • Fire control • Vegetation Monitoring • NASA makes most of the data available to research community

  5. Product Development Workflow 5

  6. Data serving 
 Deployment of Models 
 Iterative Experimentation 
 and 
 in Production and 
 based Model Development Collaboration APIs Image Processing Product Development Workflow 6

  7. Science Engineering • Operates infrastructure to run models • Plans mission objectives • Design systems to scale to petabytes of data and 10s 
 • Develop models and products of 1000s of cores. 
 • Conducts research and drives collaboration • Design real time services for services to consume data • Dev-Infra to improve productivity of researchers The organization 7

  8. Infrastructure • Cluster Schedulers that can scale to 10s of 1000s of cores • Storage services that can scale to petabytes of data • Interactive batch processing systems • Services to stream real time information • APIs to access data from various transformation jobs

  9. Jobs Authorization/ Job Management Authentication Telemetry System System Service Compute Compute Identity Node Node Management Object Store 9

  10. 10

  11. Infrastructure Stack of Circa 2017 Applications Batch Identity Microservices Processing Management Object Store LBaaS Tracing Services The Platform Service Telemetry Block Storage Discovery Services Cluster Schedulers Locking and Co-ordination Management

  12. Platforms as a Service Applications Batch Identity Microservices Processing Management Release Management Object Store LBaaS Tracing Services Build Infrastructure Service Telemetry Block Storage Discovery Services Configuration Management Cluster Schedulers Locking and Co-ordination Management

  13. Serverless Architecture 13

  14. Serverless Architecture Application Container Payload Function Application Requests Controller Logic

  15. Serverless Architecture • Incremental evolution over PAAS • Serverless from the perspective of users • Clear separation of concerns between infrastructure engineering and application developers

  16. Serverless Platform • Optimistically concurrent Cluster Scheduler • Application Container • Function Controller • RPC Middleware • Function Invocation shims in data sources • Packaging and distribution service

  17. Cluster Scheduler • Low latency and high throughput scheduling • No head of line blocking • Optimistically concurrent • Scale up to a large number of containers

  18. 18

  19. THE PATH TO PRODUCTION FOR A SCHEDULER IS FILLED WITH PAIN CHOOSE AN EXISTING SCHEDULER IF YOU CAN 19

  20. Event Driven Scheduler Evaluations ~= State Change Event

  21. Data Model

  22. External Event Evaluation Creation Evaluation Queuing Evaluation Processing Optimistic Coordination State Updates 22

  23. Templated Jobs • Can be used for low throughput use cases • Expensive to start new processes • Bounded by network operations of scheduler

  24. Variability • Sharing resources • Daemons • Global resources • Maintainance activities • Queuing • Power Limits

  25. Source: Tale at Scale 25

  26. Reduce Variability • Differentiate service classes • Break down long running functions into small ones. • Minimize background activity

  27. Application Containers • Application containers range from language sandboxes to full blown containers • Reduced surface area helps in making the UX better • Application containers have function invocation middleware which are packaged during build

  28. Function Controller • Maintains the network topology of functions • Optimizes for low latency and not cost • Works with the scheduler to scale containers • Works with telemetry system to scale underlying clusters

  29. Software Load Balancer • Service discovery aware LB • Reactive Socket protocol for delivery of request payloads to function containers • Doesn't effect container life cycles • Drops requests which doesn't have any containers associated

  30. Reactive Sockets • RSocket is a means for asynchronous communication between functions and data sources • Messages are multiplexed over a single connection • Flexible interaction models • Provides mechanisms for back pressure and request cancellation

  31. RPC Middleware • RPC implementation moved into the platform • Hedged requests to reduce tail latency • Tied requests to reduce mean and tail latency • Heavy use of back pressure

  32. Cluster Topology • Scheduler chooses the cluster topology for containers • Function Controller can change the topology based on real time latency • Functions which are chained needs to be placed as close as possible

  33. Caching • Various forms of caching • Depends on life cycle management of functions • External caches like Redis, Memcached works best • Hard to use in-memory clustered caches like Groupcache

  34. External Data Sources • Functions can read from external data sources just like traditional applications • Avoid polling external data sources • Data Sources like Kafka could co-operate with functions by a shim which calls functions with data mutations

  35. Build and Distribution • Packaging is part of the server less experience • Packaging pipeline should transform a function to an application container. • Unit Testing should be much easier with Functions than they were for traditional applications • Performance of the platform can be improved by caching containers on compute nodes

  36. Operations in the world of Serverless • Reduced amount of operations for developers • Metrics related to various concerns of the platform should be very targetted.

  37. Application metrics • Latency at the API Gateway level • Throughput of events processed • Latency distribution and planning.

  38. Platform Metrics • Latency of function invocation • Throughput of events dispatched to the platform • Number of active functions

Download Presentation
Download Policy: The content available on the website is offered to you 'AS IS' for your personal information and use only. It cannot be commercialized, licensed, or distributed on other websites without prior consent from the author. To download a presentation, simply click this link. If you encounter any difficulties during the download process, it's possible that the publisher has removed the file from their server.

Recommend


More recommend