SlideShare a Scribd company logo
4/13/20151 Confidential – Do Not Distribute
Visual Commerce
GONE IN 60 SECONDS
Lambda: The ‘Nicholas Cage’ of AWS
4/13/20152 Confidential – Do Not Distribute
WHO I AM
• Site Reliability
Engineer at Invodo
• In the process of
implementing a CI /
CD workflow with
duck-tape, Jenkins,
Nexus, JIRA,
GitHub, and
Lagavullin.
4/13/20153 Confidential – Do Not Distribute
NICHOLAS CAGE
• Nephew of Francis
Ford Coppola.
• His last name is a
tribute to a comic
book character.
• First film was Fast
Times at Ridgemont
High.
• Won an Academy
Award for Leaving
Los Vegas.
• Greatest actor of the
20th Century.
4/13/20154 Confidential – Do Not Distribute
AWS LAMBDA
• Nephew of Docker /
containers.
• Name refers an
anonymous function.
• First appearance was
AWS Re:Invent 2014.
• Won over many early
adopters like Netflix.
• ‘Coolest shit in the
world’ according to
Werner Vogels.
4/13/20155 Confidential – Do Not Distribute
TIME TO GET SERIOUS
4/13/20156 Confidential – Do Not Distribute
• Server-independent code; somewhere
between IaaS and PaaS.
• You assign:
o Memory available to the function.
o Set a timeout value that the function will be given.
o *CPU scales with memory according to an AWS
engineer.
• Lambda functions are written in JavaScript;
future updates will support more languages
(compiled AND interpreted).
WHAT IS LAMBDA?
4/13/20157 Confidential – Do Not Distribute
• AWS Events trigger function execution.
• Three event types are supported in either a
PUSH or PULL model:
o PUSH: S3 events trigger a Lambda process.
o PULL: Lambda polls Kinesis.
o PULL: Lambda polls DynamoDB event streams.
• Uses some type of Container to create new
instances of the function which can persist
between executions.
WHAT IS LAMBDA? (CONT’D)
4/13/20158 Confidential – Do Not Distribute
• Containers can:
o Shell out to the operating system (Amazon Linux
AMI, a fork of CEntOS).
o Be uploaded as a compressed package of files.
o Reference locally packaged libraries.
o Reference locally packaged binaries.
WHAT IS LAMBDA? (CONT’D)
4/13/20159 Confidential – Do Not Distribute
• Limits:
o Maximum RAM: 1024 MB.
o Maximum Timeout: 60 seconds.
o Disk space allocated: 512 MB.
• Pricing:
o Requests: first 1M are free, $0.20 / 1M thereafter.
o Charges per 100ms based on time usage, e.g.
256MB is $0.000000417 per month.
LAMBDA LIMITS AND PRICING
4/13/201510 Confidential – Do Not Distribute
ROLES
4/13/201511 Confidential – Do Not Distribute
INVOCATION ROLE
• Used to start
Lambda function
execution.
• Has to have
permission to
execute Lambda,
that’s about it.
4/13/201512 Confidential – Do Not Distribute
EXECUTION ROLE
• Permissions given
to the Lambda
function during
execution.
• If it needs to read /
write to other AWS
resources add these
to the policy.
4/13/201513 Confidential – Do Not Distribute
EXAMPLE MODELS
4/13/201514 Confidential – Do Not Distribute
PUSH EXECUTION: S3
• A new object is
placed in an S3
bucket.
• The bucket triggers
a Lambda event
based on the event
type (PUT, POST,
Copy,
CompleteMultiPartU
pload).
4/13/201515 Confidential – Do Not Distribute
• When the event is fired a timer begins.
o If the function exits BEFORE the timer (based on
timeout) expires nothing happens.
o If the function FAILS TO EXIT before the timer, the
event could be fired again, leading to multi-delivery.
• Beware of recursion:
o Place a file in a bucket.
o Do something to the file, modifying it.
o Fire another event because we modified a file.
NOTES ABOUT PUSH EXECTION
4/13/201516 Confidential – Do Not Distribute
PULL EXECUTION: KINESIS
• Lambda polls a Kinesis stream for events.
• The Invocation Role must have access to
the stream.
• The Execution Role then takes over.
4/13/201517 Confidential – Do Not Distribute
PULL EXECUTION: DYNAMODB
• DynamoDB, k/v NoSQL database.
• Puts, updates, deletes are written to an
event stream.
• Lambda then executes based on the event.
4/13/201518 Confidential – Do Not Distribute
LET’S ROLL
4/13/201519 Confidential – Do Not Distribute
CREATING A LAMBDA
Name of function
Upload or use
a single file
Handler is the
Function name
Execution role
4/13/201520 Confidential – Do Not Distribute
• Lambda functions begin with the handler
declaration:
o exports.handler = function(event, context) {
• Lambda functions end with the context.done
function:
o context.done(null,'end');
• You have up to 60 seconds to return the
context.done.
STARTING AND ENDING LAMBDA
4/13/201521 Confidential – Do Not Distribute
• All demo code can be found here:
• https://github.com/invodo/lambda_demo
DEMO TIME
4/13/201522 Confidential – Do Not Distribute
• Lambda is being used at AWS, Netflix, and
other companies as a replacement for
micro-services.
• The future (6 – 12 months) will see rapid
evolution in this space.
• My prediction: 2015 will be the start of the
‘post-server era’ in cloud computing.
CLOSING
4/13/201523 Confidential – Do Not Distribute
• Netflix CPO Talk on Lambda:
http://aws.amazon.com/solutions/case-
studies/netflix-and-aws-lambda/
• HN Comment Thread on Lambda:
https://news.ycombinator.com/item?id=8602936
• Lambda Pricing Page:
http://aws.amazon.com/lambda/pricing/
• DyamoDB Streams:
https://aws.amazon.com/blogs/aws/dynamodb-
streams-preview/
• Building Reactive Apps with Lambda:
https://www.airpair.com/lambda/posts/aws-
lambda-stream-processing
RESOURCES

More Related Content

What's hot

Nodejs OC Docker and Node
Nodejs OC Docker and NodeNodejs OC Docker and Node
Nodejs OC Docker and Node
Jeff Horn
 
Atlanta Docker Meetup - 26June14 - Flynn
Atlanta Docker Meetup - 26June14 - FlynnAtlanta Docker Meetup - 26June14 - Flynn
Atlanta Docker Meetup - 26June14 - Flynnjmanuzak
 
Dockerizing stashboard - Docker meetup at Twilio
Dockerizing stashboard - Docker meetup at TwilioDockerizing stashboard - Docker meetup at Twilio
Dockerizing stashboard - Docker meetup at Twilio
dotCloud
 
Getting Started Contributing to Docker
Getting Started Contributing to DockerGetting Started Contributing to Docker
Getting Started Contributing to Docker
Docker, Inc.
 
Build Your Own SaaS using Docker
Build Your Own SaaS using DockerBuild Your Own SaaS using Docker
Build Your Own SaaS using Docker
Julien Barbier
 
Docker ata glance
Docker ata glanceDocker ata glance
Docker ata glance
Philip Wang
 
Highly Available Persistent Applications in Containers by Kendrick Coleman, E...
Highly Available Persistent Applications in Containers by Kendrick Coleman, E...Highly Available Persistent Applications in Containers by Kendrick Coleman, E...
Highly Available Persistent Applications in Containers by Kendrick Coleman, E...
Docker, Inc.
 
Docker introduction
Docker introductionDocker introduction
Docker introduction
dotCloud
 
Production Ready Containers from IBM and Docker
Production Ready Containers from IBM and DockerProduction Ready Containers from IBM and Docker
Production Ready Containers from IBM and Docker
Docker, Inc.
 
Docker wjax2014
Docker wjax2014Docker wjax2014
Docker wjax2014
Michael Johann
 
Running stateful services in containers - ContainerDays Boston 2016
Running stateful services in containers - ContainerDays Boston 2016Running stateful services in containers - ContainerDays Boston 2016
Running stateful services in containers - ContainerDays Boston 2016
Jonas Rosland
 
Deploying OpenStack Using Docker in Production
Deploying OpenStack Using Docker in ProductionDeploying OpenStack Using Docker in Production
Deploying OpenStack Using Docker in Production
clayton_oneill
 
Dockerizing your applications - Docker workshop @Twitter
Dockerizing your applications - Docker workshop @TwitterDockerizing your applications - Docker workshop @Twitter
Dockerizing your applications - Docker workshop @Twitter
dotCloud
 
Docker: Fire your Sysadmin and use Docker to build, ship and run any app, any...
Docker: Fire your Sysadmin and use Docker to build, ship and run any app, any...Docker: Fire your Sysadmin and use Docker to build, ship and run any app, any...
Docker: Fire your Sysadmin and use Docker to build, ship and run any app, any...
Phil Reither
 
Securing your Containers
Securing your ContainersSecuring your Containers
Securing your Containers
Riyaz Faizullabhoy
 
Handling 1 Billion Requests/hr with Minimal Latency Using Docker
Handling 1 Billion Requests/hr with Minimal Latency Using DockerHandling 1 Billion Requests/hr with Minimal Latency Using Docker
Handling 1 Billion Requests/hr with Minimal Latency Using Docker
Matomy
 
Innovating faster with SBT, Continuous Delivery, and LXC
Innovating faster with SBT, Continuous Delivery, and LXCInnovating faster with SBT, Continuous Delivery, and LXC
Innovating faster with SBT, Continuous Delivery, and LXC
kscaldef
 
Automation in the Small: Code to Cloud
Automation in the Small: Code to CloudAutomation in the Small: Code to Cloud
Automation in the Small: Code to Cloud
Jay Barker
 
Tyrion Cannister Neural Styles by Dora Korpar and Siphan Bou
Tyrion Cannister Neural Styles by Dora Korpar and Siphan BouTyrion Cannister Neural Styles by Dora Korpar and Siphan Bou
Tyrion Cannister Neural Styles by Dora Korpar and Siphan Bou
Docker, Inc.
 
Netflix0SS Services on Docker
Netflix0SS Services on DockerNetflix0SS Services on Docker
Netflix0SS Services on DockerDocker, Inc.
 

What's hot (20)

Nodejs OC Docker and Node
Nodejs OC Docker and NodeNodejs OC Docker and Node
Nodejs OC Docker and Node
 
Atlanta Docker Meetup - 26June14 - Flynn
Atlanta Docker Meetup - 26June14 - FlynnAtlanta Docker Meetup - 26June14 - Flynn
Atlanta Docker Meetup - 26June14 - Flynn
 
Dockerizing stashboard - Docker meetup at Twilio
Dockerizing stashboard - Docker meetup at TwilioDockerizing stashboard - Docker meetup at Twilio
Dockerizing stashboard - Docker meetup at Twilio
 
Getting Started Contributing to Docker
Getting Started Contributing to DockerGetting Started Contributing to Docker
Getting Started Contributing to Docker
 
Build Your Own SaaS using Docker
Build Your Own SaaS using DockerBuild Your Own SaaS using Docker
Build Your Own SaaS using Docker
 
Docker ata glance
Docker ata glanceDocker ata glance
Docker ata glance
 
Highly Available Persistent Applications in Containers by Kendrick Coleman, E...
Highly Available Persistent Applications in Containers by Kendrick Coleman, E...Highly Available Persistent Applications in Containers by Kendrick Coleman, E...
Highly Available Persistent Applications in Containers by Kendrick Coleman, E...
 
Docker introduction
Docker introductionDocker introduction
Docker introduction
 
Production Ready Containers from IBM and Docker
Production Ready Containers from IBM and DockerProduction Ready Containers from IBM and Docker
Production Ready Containers from IBM and Docker
 
Docker wjax2014
Docker wjax2014Docker wjax2014
Docker wjax2014
 
Running stateful services in containers - ContainerDays Boston 2016
Running stateful services in containers - ContainerDays Boston 2016Running stateful services in containers - ContainerDays Boston 2016
Running stateful services in containers - ContainerDays Boston 2016
 
Deploying OpenStack Using Docker in Production
Deploying OpenStack Using Docker in ProductionDeploying OpenStack Using Docker in Production
Deploying OpenStack Using Docker in Production
 
Dockerizing your applications - Docker workshop @Twitter
Dockerizing your applications - Docker workshop @TwitterDockerizing your applications - Docker workshop @Twitter
Dockerizing your applications - Docker workshop @Twitter
 
Docker: Fire your Sysadmin and use Docker to build, ship and run any app, any...
Docker: Fire your Sysadmin and use Docker to build, ship and run any app, any...Docker: Fire your Sysadmin and use Docker to build, ship and run any app, any...
Docker: Fire your Sysadmin and use Docker to build, ship and run any app, any...
 
Securing your Containers
Securing your ContainersSecuring your Containers
Securing your Containers
 
Handling 1 Billion Requests/hr with Minimal Latency Using Docker
Handling 1 Billion Requests/hr with Minimal Latency Using DockerHandling 1 Billion Requests/hr with Minimal Latency Using Docker
Handling 1 Billion Requests/hr with Minimal Latency Using Docker
 
Innovating faster with SBT, Continuous Delivery, and LXC
Innovating faster with SBT, Continuous Delivery, and LXCInnovating faster with SBT, Continuous Delivery, and LXC
Innovating faster with SBT, Continuous Delivery, and LXC
 
Automation in the Small: Code to Cloud
Automation in the Small: Code to CloudAutomation in the Small: Code to Cloud
Automation in the Small: Code to Cloud
 
Tyrion Cannister Neural Styles by Dora Korpar and Siphan Bou
Tyrion Cannister Neural Styles by Dora Korpar and Siphan BouTyrion Cannister Neural Styles by Dora Korpar and Siphan Bou
Tyrion Cannister Neural Styles by Dora Korpar and Siphan Bou
 
Netflix0SS Services on Docker
Netflix0SS Services on DockerNetflix0SS Services on Docker
Netflix0SS Services on Docker
 

Similar to Gone in 60 Seconds

Docker Kubernetes Istio
Docker Kubernetes IstioDocker Kubernetes Istio
Docker Kubernetes Istio
Araf Karsh Hamid
 
Kuby, ActiveDeployment for Rails Apps
Kuby, ActiveDeployment for Rails AppsKuby, ActiveDeployment for Rails Apps
Kuby, ActiveDeployment for Rails Apps
Cameron Dutro
 
Getting Started with Docker
Getting Started with DockerGetting Started with Docker
Getting Started with Docker
Geeta Vinnakota
 
Kafka Workshop
Kafka WorkshopKafka Workshop
Kafka Workshop
Alexandre André
 
Docker Security
Docker SecurityDocker Security
Docker Security
antitree
 
2014, April 15, Atlanta Java Users Group
2014, April 15, Atlanta Java Users Group2014, April 15, Atlanta Java Users Group
2014, April 15, Atlanta Java Users Group
Todd Fritz
 
Docker for Dummies
Docker for DummiesDocker for Dummies
Docker for Dummies
Roel Hartman
 
UDS 2011 - Cloud Foundry and Ubuntu, a marriage made in heaven
UDS 2011 - Cloud Foundry and Ubuntu, a marriage made in heavenUDS 2011 - Cloud Foundry and Ubuntu, a marriage made in heaven
UDS 2011 - Cloud Foundry and Ubuntu, a marriage made in heaven
Patrick Chanezon
 
NetflixOSS and ZeroToDocker Talk
NetflixOSS and ZeroToDocker TalkNetflixOSS and ZeroToDocker Talk
NetflixOSS and ZeroToDocker Talk
aspyker
 
My Journey to Becoming a Docker Captain
My Journey to Becoming a Docker CaptainMy Journey to Becoming a Docker Captain
My Journey to Becoming a Docker Captain
Ajeet Singh Raina
 
Adventures with Podman and Varlink
Adventures with Podman and VarlinkAdventures with Podman and Varlink
Adventures with Podman and Varlink
Jeremy Brown
 
Logging & Docker - Season 2
Logging & Docker - Season 2Logging & Docker - Season 2
Logging & Docker - Season 2
Christian Beedgen
 
Comprehensive Monitoring for Docker
Comprehensive Monitoring for DockerComprehensive Monitoring for Docker
Comprehensive Monitoring for Docker
Christian Beedgen
 
Security Tips to run Docker in Production
Security Tips to run Docker in ProductionSecurity Tips to run Docker in Production
Security Tips to run Docker in Production
Gianluca Arbezzano
 
From Code to the Monkeys: Continuous Delivery at Netflix
From Code to the Monkeys: Continuous Delivery at NetflixFrom Code to the Monkeys: Continuous Delivery at Netflix
From Code to the Monkeys: Continuous Delivery at Netflix
Dianne Marsh
 
Docker Introduction at GDG DevFest 2015 Lagos
Docker Introduction at GDG DevFest 2015 Lagos Docker Introduction at GDG DevFest 2015 Lagos
Docker Introduction at GDG DevFest 2015 Lagos
Abiola Ibrahim
 
How to Train Your Docker Cloud
How to Train Your Docker CloudHow to Train Your Docker Cloud
How to Train Your Docker Cloud
C4Media
 
TADHack Winner: Snappy Kamailio: Carnival of the Creators
TADHack Winner: Snappy Kamailio: Carnival of the CreatorsTADHack Winner: Snappy Kamailio: Carnival of the Creators
TADHack Winner: Snappy Kamailio: Carnival of the Creators
Alan Quayle
 
Spark China Summit 2015 Guancheng Chen
Spark China Summit 2015 Guancheng ChenSpark China Summit 2015 Guancheng Chen
Spark China Summit 2015 Guancheng ChenGuancheng (G.C.) Chen
 
Docker introduction
Docker introductionDocker introduction
Docker introduction
Jo Ee Liew
 

Similar to Gone in 60 Seconds (20)

Docker Kubernetes Istio
Docker Kubernetes IstioDocker Kubernetes Istio
Docker Kubernetes Istio
 
Kuby, ActiveDeployment for Rails Apps
Kuby, ActiveDeployment for Rails AppsKuby, ActiveDeployment for Rails Apps
Kuby, ActiveDeployment for Rails Apps
 
Getting Started with Docker
Getting Started with DockerGetting Started with Docker
Getting Started with Docker
 
Kafka Workshop
Kafka WorkshopKafka Workshop
Kafka Workshop
 
Docker Security
Docker SecurityDocker Security
Docker Security
 
2014, April 15, Atlanta Java Users Group
2014, April 15, Atlanta Java Users Group2014, April 15, Atlanta Java Users Group
2014, April 15, Atlanta Java Users Group
 
Docker for Dummies
Docker for DummiesDocker for Dummies
Docker for Dummies
 
UDS 2011 - Cloud Foundry and Ubuntu, a marriage made in heaven
UDS 2011 - Cloud Foundry and Ubuntu, a marriage made in heavenUDS 2011 - Cloud Foundry and Ubuntu, a marriage made in heaven
UDS 2011 - Cloud Foundry and Ubuntu, a marriage made in heaven
 
NetflixOSS and ZeroToDocker Talk
NetflixOSS and ZeroToDocker TalkNetflixOSS and ZeroToDocker Talk
NetflixOSS and ZeroToDocker Talk
 
My Journey to Becoming a Docker Captain
My Journey to Becoming a Docker CaptainMy Journey to Becoming a Docker Captain
My Journey to Becoming a Docker Captain
 
Adventures with Podman and Varlink
Adventures with Podman and VarlinkAdventures with Podman and Varlink
Adventures with Podman and Varlink
 
Logging & Docker - Season 2
Logging & Docker - Season 2Logging & Docker - Season 2
Logging & Docker - Season 2
 
Comprehensive Monitoring for Docker
Comprehensive Monitoring for DockerComprehensive Monitoring for Docker
Comprehensive Monitoring for Docker
 
Security Tips to run Docker in Production
Security Tips to run Docker in ProductionSecurity Tips to run Docker in Production
Security Tips to run Docker in Production
 
From Code to the Monkeys: Continuous Delivery at Netflix
From Code to the Monkeys: Continuous Delivery at NetflixFrom Code to the Monkeys: Continuous Delivery at Netflix
From Code to the Monkeys: Continuous Delivery at Netflix
 
Docker Introduction at GDG DevFest 2015 Lagos
Docker Introduction at GDG DevFest 2015 Lagos Docker Introduction at GDG DevFest 2015 Lagos
Docker Introduction at GDG DevFest 2015 Lagos
 
How to Train Your Docker Cloud
How to Train Your Docker CloudHow to Train Your Docker Cloud
How to Train Your Docker Cloud
 
TADHack Winner: Snappy Kamailio: Carnival of the Creators
TADHack Winner: Snappy Kamailio: Carnival of the CreatorsTADHack Winner: Snappy Kamailio: Carnival of the Creators
TADHack Winner: Snappy Kamailio: Carnival of the Creators
 
Spark China Summit 2015 Guancheng Chen
Spark China Summit 2015 Guancheng ChenSpark China Summit 2015 Guancheng Chen
Spark China Summit 2015 Guancheng Chen
 
Docker introduction
Docker introductionDocker introduction
Docker introduction
 

Recently uploaded

Neuro-symbolic is not enough, we need neuro-*semantic*
Neuro-symbolic is not enough, we need neuro-*semantic*Neuro-symbolic is not enough, we need neuro-*semantic*
Neuro-symbolic is not enough, we need neuro-*semantic*
Frank van Harmelen
 
Leading Change strategies and insights for effective change management pdf 1.pdf
Leading Change strategies and insights for effective change management pdf 1.pdfLeading Change strategies and insights for effective change management pdf 1.pdf
Leading Change strategies and insights for effective change management pdf 1.pdf
OnBoard
 
DevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA ConnectDevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA Connect
Kari Kakkonen
 
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
Product School
 
Generating a custom Ruby SDK for your web service or Rails API using Smithy
Generating a custom Ruby SDK for your web service or Rails API using SmithyGenerating a custom Ruby SDK for your web service or Rails API using Smithy
Generating a custom Ruby SDK for your web service or Rails API using Smithy
g2nightmarescribd
 
FIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance Osaka Seminar: Overview.pdfFIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance
 
Designing Great Products: The Power of Design and Leadership by Chief Designe...
Designing Great Products: The Power of Design and Leadership by Chief Designe...Designing Great Products: The Power of Design and Leadership by Chief Designe...
Designing Great Products: The Power of Design and Leadership by Chief Designe...
Product School
 
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
UiPathCommunity
 
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered QualitySoftware Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
Inflectra
 
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024
Tobias Schneck
 
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Thierry Lestable
 
Elevating Tactical DDD Patterns Through Object Calisthenics
Elevating Tactical DDD Patterns Through Object CalisthenicsElevating Tactical DDD Patterns Through Object Calisthenics
Elevating Tactical DDD Patterns Through Object Calisthenics
Dorra BARTAGUIZ
 
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdfFIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance
 
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Albert Hoitingh
 
Accelerate your Kubernetes clusters with Varnish Caching
Accelerate your Kubernetes clusters with Varnish CachingAccelerate your Kubernetes clusters with Varnish Caching
Accelerate your Kubernetes clusters with Varnish Caching
Thijs Feryn
 
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
Jeffrey Haguewood
 
PCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase TeamPCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase Team
ControlCase
 
The Art of the Pitch: WordPress Relationships and Sales
The Art of the Pitch: WordPress Relationships and SalesThe Art of the Pitch: WordPress Relationships and Sales
The Art of the Pitch: WordPress Relationships and Sales
Laura Byrne
 
Knowledge engineering: from people to machines and back
Knowledge engineering: from people to machines and backKnowledge engineering: from people to machines and back
Knowledge engineering: from people to machines and back
Elena Simperl
 
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdfFIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance
 

Recently uploaded (20)

Neuro-symbolic is not enough, we need neuro-*semantic*
Neuro-symbolic is not enough, we need neuro-*semantic*Neuro-symbolic is not enough, we need neuro-*semantic*
Neuro-symbolic is not enough, we need neuro-*semantic*
 
Leading Change strategies and insights for effective change management pdf 1.pdf
Leading Change strategies and insights for effective change management pdf 1.pdfLeading Change strategies and insights for effective change management pdf 1.pdf
Leading Change strategies and insights for effective change management pdf 1.pdf
 
DevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA ConnectDevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA Connect
 
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
 
Generating a custom Ruby SDK for your web service or Rails API using Smithy
Generating a custom Ruby SDK for your web service or Rails API using SmithyGenerating a custom Ruby SDK for your web service or Rails API using Smithy
Generating a custom Ruby SDK for your web service or Rails API using Smithy
 
FIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance Osaka Seminar: Overview.pdfFIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance Osaka Seminar: Overview.pdf
 
Designing Great Products: The Power of Design and Leadership by Chief Designe...
Designing Great Products: The Power of Design and Leadership by Chief Designe...Designing Great Products: The Power of Design and Leadership by Chief Designe...
Designing Great Products: The Power of Design and Leadership by Chief Designe...
 
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
 
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered QualitySoftware Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
 
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024
 
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
 
Elevating Tactical DDD Patterns Through Object Calisthenics
Elevating Tactical DDD Patterns Through Object CalisthenicsElevating Tactical DDD Patterns Through Object Calisthenics
Elevating Tactical DDD Patterns Through Object Calisthenics
 
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdfFIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
 
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
 
Accelerate your Kubernetes clusters with Varnish Caching
Accelerate your Kubernetes clusters with Varnish CachingAccelerate your Kubernetes clusters with Varnish Caching
Accelerate your Kubernetes clusters with Varnish Caching
 
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
 
PCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase TeamPCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase Team
 
The Art of the Pitch: WordPress Relationships and Sales
The Art of the Pitch: WordPress Relationships and SalesThe Art of the Pitch: WordPress Relationships and Sales
The Art of the Pitch: WordPress Relationships and Sales
 
Knowledge engineering: from people to machines and back
Knowledge engineering: from people to machines and backKnowledge engineering: from people to machines and back
Knowledge engineering: from people to machines and back
 
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdfFIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
 

Gone in 60 Seconds

  • 1. 4/13/20151 Confidential – Do Not Distribute Visual Commerce GONE IN 60 SECONDS Lambda: The ‘Nicholas Cage’ of AWS
  • 2. 4/13/20152 Confidential – Do Not Distribute WHO I AM • Site Reliability Engineer at Invodo • In the process of implementing a CI / CD workflow with duck-tape, Jenkins, Nexus, JIRA, GitHub, and Lagavullin.
  • 3. 4/13/20153 Confidential – Do Not Distribute NICHOLAS CAGE • Nephew of Francis Ford Coppola. • His last name is a tribute to a comic book character. • First film was Fast Times at Ridgemont High. • Won an Academy Award for Leaving Los Vegas. • Greatest actor of the 20th Century.
  • 4. 4/13/20154 Confidential – Do Not Distribute AWS LAMBDA • Nephew of Docker / containers. • Name refers an anonymous function. • First appearance was AWS Re:Invent 2014. • Won over many early adopters like Netflix. • ‘Coolest shit in the world’ according to Werner Vogels.
  • 5. 4/13/20155 Confidential – Do Not Distribute TIME TO GET SERIOUS
  • 6. 4/13/20156 Confidential – Do Not Distribute • Server-independent code; somewhere between IaaS and PaaS. • You assign: o Memory available to the function. o Set a timeout value that the function will be given. o *CPU scales with memory according to an AWS engineer. • Lambda functions are written in JavaScript; future updates will support more languages (compiled AND interpreted). WHAT IS LAMBDA?
  • 7. 4/13/20157 Confidential – Do Not Distribute • AWS Events trigger function execution. • Three event types are supported in either a PUSH or PULL model: o PUSH: S3 events trigger a Lambda process. o PULL: Lambda polls Kinesis. o PULL: Lambda polls DynamoDB event streams. • Uses some type of Container to create new instances of the function which can persist between executions. WHAT IS LAMBDA? (CONT’D)
  • 8. 4/13/20158 Confidential – Do Not Distribute • Containers can: o Shell out to the operating system (Amazon Linux AMI, a fork of CEntOS). o Be uploaded as a compressed package of files. o Reference locally packaged libraries. o Reference locally packaged binaries. WHAT IS LAMBDA? (CONT’D)
  • 9. 4/13/20159 Confidential – Do Not Distribute • Limits: o Maximum RAM: 1024 MB. o Maximum Timeout: 60 seconds. o Disk space allocated: 512 MB. • Pricing: o Requests: first 1M are free, $0.20 / 1M thereafter. o Charges per 100ms based on time usage, e.g. 256MB is $0.000000417 per month. LAMBDA LIMITS AND PRICING
  • 10. 4/13/201510 Confidential – Do Not Distribute ROLES
  • 11. 4/13/201511 Confidential – Do Not Distribute INVOCATION ROLE • Used to start Lambda function execution. • Has to have permission to execute Lambda, that’s about it.
  • 12. 4/13/201512 Confidential – Do Not Distribute EXECUTION ROLE • Permissions given to the Lambda function during execution. • If it needs to read / write to other AWS resources add these to the policy.
  • 13. 4/13/201513 Confidential – Do Not Distribute EXAMPLE MODELS
  • 14. 4/13/201514 Confidential – Do Not Distribute PUSH EXECUTION: S3 • A new object is placed in an S3 bucket. • The bucket triggers a Lambda event based on the event type (PUT, POST, Copy, CompleteMultiPartU pload).
  • 15. 4/13/201515 Confidential – Do Not Distribute • When the event is fired a timer begins. o If the function exits BEFORE the timer (based on timeout) expires nothing happens. o If the function FAILS TO EXIT before the timer, the event could be fired again, leading to multi-delivery. • Beware of recursion: o Place a file in a bucket. o Do something to the file, modifying it. o Fire another event because we modified a file. NOTES ABOUT PUSH EXECTION
  • 16. 4/13/201516 Confidential – Do Not Distribute PULL EXECUTION: KINESIS • Lambda polls a Kinesis stream for events. • The Invocation Role must have access to the stream. • The Execution Role then takes over.
  • 17. 4/13/201517 Confidential – Do Not Distribute PULL EXECUTION: DYNAMODB • DynamoDB, k/v NoSQL database. • Puts, updates, deletes are written to an event stream. • Lambda then executes based on the event.
  • 18. 4/13/201518 Confidential – Do Not Distribute LET’S ROLL
  • 19. 4/13/201519 Confidential – Do Not Distribute CREATING A LAMBDA Name of function Upload or use a single file Handler is the Function name Execution role
  • 20. 4/13/201520 Confidential – Do Not Distribute • Lambda functions begin with the handler declaration: o exports.handler = function(event, context) { • Lambda functions end with the context.done function: o context.done(null,'end'); • You have up to 60 seconds to return the context.done. STARTING AND ENDING LAMBDA
  • 21. 4/13/201521 Confidential – Do Not Distribute • All demo code can be found here: • https://github.com/invodo/lambda_demo DEMO TIME
  • 22. 4/13/201522 Confidential – Do Not Distribute • Lambda is being used at AWS, Netflix, and other companies as a replacement for micro-services. • The future (6 – 12 months) will see rapid evolution in this space. • My prediction: 2015 will be the start of the ‘post-server era’ in cloud computing. CLOSING
  • 23. 4/13/201523 Confidential – Do Not Distribute • Netflix CPO Talk on Lambda: http://aws.amazon.com/solutions/case- studies/netflix-and-aws-lambda/ • HN Comment Thread on Lambda: https://news.ycombinator.com/item?id=8602936 • Lambda Pricing Page: http://aws.amazon.com/lambda/pricing/ • DyamoDB Streams: https://aws.amazon.com/blogs/aws/dynamodb- streams-preview/ • Building Reactive Apps with Lambda: https://www.airpair.com/lambda/posts/aws- lambda-stream-processing RESOURCES