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?
|
What does serverless mean?
|
||||||
--------------------------
|
--------------------------
|
||||||
|
|
||||||
.. figure:: _static/empty_racks.jpg
|
.. image:: _static/empty_racks.jpg
|
||||||
|
|
||||||
AWS Compute startup times
|
AWS Compute startup times
|
||||||
-------------------------
|
-------------------------
|
||||||
|
@ -24,8 +24,8 @@ AWS Compute startup times
|
||||||
* Lambda - milliseconds (when warm and cozy)
|
* Lambda - milliseconds (when warm and cozy)
|
||||||
* https://firecracker-microvm.github.io/
|
* https://firecracker-microvm.github.io/
|
||||||
|
|
||||||
Lambda lifecycle
|
The Lambda lifecycle
|
||||||
----------------
|
--------------------
|
||||||
|
|
||||||
.. code-block:: python
|
.. code-block:: python
|
||||||
|
|
||||||
|
@ -42,14 +42,108 @@ Lambda lifecycle
|
||||||
Edifice Corb
|
Edifice Corb
|
||||||
============
|
============
|
||||||
|
|
||||||
.. figure:: _static/corbusier.jpg
|
.. image:: _static/corbusier.jpg
|
||||||
|
|
||||||
* Named after some weird French dude
|
* Named after some weird French dude
|
||||||
* Real time person detection
|
* Real time person detection
|
||||||
* User interface through SMS
|
* User interface through SMS
|
||||||
|
|
||||||
Architecture
|
Rapid iteration
|
||||||
------------
|
---------------
|
||||||
|
|
||||||
.. image:: _static/architecture.png
|
.. image:: _static/say_agile.jpg
|
||||||
:width: 80%
|
|
||||||
|
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
|
||||||
|
|