diff --git a/_static/behold_elastic_inference.jpg b/_static/behold_elastic_inference.jpg new file mode 100644 index 0000000..8b84d52 Binary files /dev/null and b/_static/behold_elastic_inference.jpg differ diff --git a/_static/elastic_inference.png b/_static/elastic_inference.png new file mode 100644 index 0000000..d7099a5 Binary files /dev/null and b/_static/elastic_inference.png differ diff --git a/_static/lambdas_everywhere.jpg b/_static/lambdas_everywhere.jpg new file mode 100644 index 0000000..be0f343 Binary files /dev/null and b/_static/lambdas_everywhere.jpg differ diff --git a/_static/messaging_pipeline.png b/_static/messaging_pipeline.png new file mode 100644 index 0000000..d66eeeb Binary files /dev/null and b/_static/messaging_pipeline.png differ diff --git a/_static/processing_pipeline.png b/_static/processing_pipeline.png new file mode 100644 index 0000000..74d9dbf Binary files /dev/null and b/_static/processing_pipeline.png differ diff --git a/_static/say_agile.jpg b/_static/say_agile.jpg new file mode 100644 index 0000000..8cde21d Binary files /dev/null and b/_static/say_agile.jpg differ diff --git a/_static/serverless.jpg b/_static/serverless.jpg new file mode 100644 index 0000000..d81da06 Binary files /dev/null and b/_static/serverless.jpg differ diff --git a/_static/triggers_and_destinations.png b/_static/triggers_and_destinations.png new file mode 100644 index 0000000..32d3f55 Binary files /dev/null and b/_static/triggers_and_destinations.png differ diff --git a/_static/why_few_lambda.jpg b/_static/why_few_lambda.jpg new file mode 100644 index 0000000..9d13dc1 Binary files /dev/null and b/_static/why_few_lambda.jpg differ diff --git a/index.rst b/index.rst index d8c8027..c0f8934 100644 --- a/index.rst +++ b/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