Add majority of slides and content
After Width: | Height: | Size: 186 KiB |
After Width: | Height: | Size: 54 KiB |
After Width: | Height: | Size: 86 KiB |
After Width: | Height: | Size: 104 KiB |
After Width: | Height: | Size: 211 KiB |
After Width: | Height: | Size: 218 KiB |
After Width: | Height: | Size: 71 KiB |
After Width: | Height: | Size: 52 KiB |
After Width: | Height: | Size: 337 KiB |
110
index.rst
|
@ -10,7 +10,7 @@ The Serverless hype
|
|||
What does serverless mean?
|
||||
--------------------------
|
||||
|
||||
.. figure:: _static/empty_racks.jpg
|
||||
.. image:: _static/empty_racks.jpg
|
||||
|
||||
AWS Compute startup times
|
||||
-------------------------
|
||||
|
@ -24,8 +24,8 @@ AWS Compute startup times
|
|||
* Lambda - milliseconds (when warm and cozy)
|
||||
* https://firecracker-microvm.github.io/
|
||||
|
||||
Lambda lifecycle
|
||||
----------------
|
||||
The Lambda lifecycle
|
||||
--------------------
|
||||
|
||||
.. code-block:: python
|
||||
|
||||
|
@ -42,14 +42,108 @@ Lambda lifecycle
|
|||
Edifice Corb
|
||||
============
|
||||
|
||||
.. figure:: _static/corbusier.jpg
|
||||
.. image:: _static/corbusier.jpg
|
||||
|
||||
* Named after some weird French dude
|
||||
* Real time person detection
|
||||
* User interface through SMS
|
||||
|
||||
Architecture
|
||||
------------
|
||||
Rapid iteration
|
||||
---------------
|
||||
|
||||
.. image:: _static/architecture.png
|
||||
:width: 80%
|
||||
.. image:: _static/say_agile.jpg
|
||||
|
||||
Person detection
|
||||
================
|
||||
|
||||
* Tensorflow model
|
||||
* Inference on video frames is compute intensive
|
||||
* EC2 GPU instances are neither serverless nor cheap
|
||||
|
||||
AWS to the rescue
|
||||
-----------------
|
||||
|
||||
.. image:: _static/behold_elastic_inference.jpg
|
||||
:width: 40%
|
||||
|
||||
Still not serverless
|
||||
--------------------
|
||||
|
||||
.. image:: _static/elastic_inference.png
|
||||
:width: 40%
|
||||
|
||||
The AWS SageMaker of six paths
|
||||
------------------------------
|
||||
|
||||
* Managed end-to-end ML service
|
||||
* Model training, deployment, and monitoring
|
||||
* SageMaker studio, an "IDE for ML"
|
||||
|
||||
Processing pipeline
|
||||
===================
|
||||
|
||||
.. image:: _static/processing_pipeline.png
|
||||
|
||||
Triggers and destinations
|
||||
-------------------------
|
||||
|
||||
.. image:: _static/triggers_and_destinations.png
|
||||
|
||||
Serverless framework
|
||||
--------------------
|
||||
|
||||
.. image:: _static/serverless.jpg
|
||||
:width: 30%
|
||||
|
||||
True yaml engineering
|
||||
|
||||
Triggering events
|
||||
-----------------
|
||||
|
||||
.. code-block:: yaml
|
||||
|
||||
functions:
|
||||
VideoIngress:
|
||||
handler: aws_lambda.run_detector.handler
|
||||
events:
|
||||
- s3:
|
||||
bucket: video-bucket
|
||||
event: s3:ObjectCreated:*
|
||||
rules:
|
||||
- suffix: .mkv
|
||||
|
||||
Infrastructure is hard
|
||||
----------------------
|
||||
|
||||
* CloudFormation bad
|
||||
* Terraform good
|
||||
* Multiple environments are harder
|
||||
|
||||
Messaging pipeline
|
||||
==================
|
||||
|
||||
.. image:: _static/messaging_pipeline.png
|
||||
:width: 40%
|
||||
|
||||
Y tho?
|
||||
------
|
||||
|
||||
.. image:: _static/why_few_lambda.jpg
|
||||
|
||||
|
||||
More triggers and destinations
|
||||
------------------------------
|
||||
|
||||
.. code-block:: yaml
|
||||
|
||||
CleaningReportGenerator:
|
||||
handler: aws_lambda.request_cleaning.handler
|
||||
events:
|
||||
- eventBridge:
|
||||
pattern:
|
||||
detail:
|
||||
responsePayload:
|
||||
command_type:
|
||||
- request_cleaning
|
||||
destinations:
|
||||
onSuccess: arn:aws:events:::event-bus/default
|
||||
|
|