Add speaker notes
continuous-integration/drone/push Build is passing Details

This commit is contained in:
Pavle Portic 2020-06-09 11:00:20 +02:00
parent 3da7585df5
commit d19fd2401c
Signed by: TheEdgeOfRage
GPG Key ID: 6758ACE46AA2A849
4 changed files with 64 additions and 39 deletions

Binary file not shown.

After

Width:  |  Height:  |  Size: 160 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 756 KiB

View File

@ -35,7 +35,6 @@ revealjs_script_conf = '''
history: true, history: true,
center: true, center: true,
transition: "slide", transition: "slide",
showNotes: true,
} }
''' '''
revealjs_script_plugins = [ revealjs_script_plugins = [

102
index.rst
View File

@ -12,30 +12,39 @@ What does serverless mean?
.. image:: _static/empty_racks.jpg .. image:: _static/empty_racks.jpg
.. Advantages of serverless:
- No management
- Faster startup times
- "Infinite scale"
- Business logic only
AWS Compute startup times AWS Compute startup times
------------------------- -------------------------
.. revealjs_fragments:: .. revealjs_fragments::
* EC2 - minutes * EC2 - minutes
* Fargate - seconds * Fargate - seconds
* Lambda - milliseconds (when warm and cozy) * Lambda - milliseconds (when warm and cozy)
* https://firecracker-microvm.github.io/ * https://firecracker-microvm.github.io/
The Lambda lifecycle The Lambda lifecycle
-------------------- --------------------
.. code-block:: python .. code-block:: python
print('initialized') print('initialized')
def handler(event, context): def handler(event, context):
print('executed') print('executed')
return { return {
'message': 'done' 'message': 'done'
} }
.. What is a cold start and the advantages of a warm lambda
Edifice Corb Edifice Corb
============ ============
@ -51,31 +60,38 @@ Rapid iteration
.. image:: _static/say_agile.jpg .. image:: _static/say_agile.jpg
.. Constantly reworking the infrastructure and sometimes even the business logic
Person detection Person detection
================ ================
* Tensorflow model
* Inference on video frames is compute intensive * Inference on video frames is compute intensive
* EC2 GPU instances are neither serverless nor cheap * GPU instances are neither serverless nor cheap
.. image:: _static/god_damn_aws_charges.jpg
:width: 60%
.. Don't use GPU for inference unless absolutely necessary
AWS to the rescue AWS to the rescue
----------------- -----------------
.. image:: _static/behold_elastic_inference.jpg .. image:: _static/behold_elastic_inference.jpg
:width: 40% :width: 40%
Still not serverless Still not serverless
-------------------- --------------------
.. image:: _static/elastic_inference.png .. image:: _static/elastic_inference.png
:width: 40% :width: 40%
The AWS SageMaker of six paths The AWS SageMaker of six paths
------------------------------ ------------------------------
* Managed end-to-end ML service Managed end-to-end ML service
* Model training, deployment, and monitoring
* SageMaker studio, an "IDE for ML" .. image:: _static/sagemaker_studio.jpg
:width: 80%
Processing pipeline Processing pipeline
=================== ===================
@ -91,24 +107,26 @@ Serverless framework
-------------------- --------------------
.. image:: _static/serverless.jpg .. image:: _static/serverless.jpg
:width: 30% :width: 30%
True yaml engineering True yaml engineering
.. No manual zip files, less architecture management, but less flexible
Triggering events Triggering events
----------------- -----------------
.. code-block:: yaml .. code-block:: yaml
functions: functions:
VideoIngress: VideoIngress:
handler: aws_lambda.run_detector.handler handler: aws_lambda.run_detector.handler
events: events:
- s3: - s3:
bucket: video-bucket bucket: video-bucket
event: s3:ObjectCreated:* event: s3:ObjectCreated:*
rules: rules:
- suffix: .mkv - suffix: .mkv
Other serverless goodies Other serverless goodies
------------------------ ------------------------
@ -117,6 +135,8 @@ Other serverless goodies
* Easy additional permissions * Easy additional permissions
* Lots of functionality for little code * Lots of functionality for little code
.. show serverless.yaml
Other serverless badies Other serverless badies
----------------------- -----------------------
@ -124,17 +144,23 @@ Other serverless badies
* Multiple environments are harder to implement * Multiple environments are harder to implement
* Hardcoding and code duplication * Hardcoding and code duplication
.. show serverless.yaml
Messaging pipeline Messaging pipeline
================== ==================
.. image:: _static/messaging_pipeline.png .. image:: _static/messaging_pipeline.png
:width: 40% :width: 40%
.. Current architecture. Will be more complex when we add alarms. Talk about sync/async lambda calls
Y tho? Y tho?
------ ------
.. image:: _static/why_few_lambda.jpg .. image:: _static/why_few_lambda.jpg
.. Why microservices. Easier parallel development. Easier testing
More triggers and destinations More triggers and destinations
------------------------------ ------------------------------
@ -142,16 +168,16 @@ More triggers and destinations
.. code-block:: yaml .. code-block:: yaml
CleaningReportGenerator: CleaningReportGenerator:
handler: aws_lambda.request_cleaning.handler handler: aws_lambda.request_cleaning.handler
events: events:
- eventBridge: - eventBridge:
pattern: pattern:
detail: detail:
responsePayload: responsePayload:
command_type: command_type:
- request_cleaning - request_cleaning
destinations: destinations:
onSuccess: arn:aws:events:::event-bus/default onSuccess: arn:aws:events:::event-bus/default
EventBridge - Central point of success EventBridge - Central point of success
-------------------------------------- --------------------------------------