SlideShare ist ein Scribd-Unternehmen logo
1 von 88
Downloaden Sie, um offline zu lesen
Is Serverless The New Swiss Cheese?
Chase Douglas, CTO, stackery.io
chase@stackery.io
@txase
MANAGING THE HOLES IN THE SERVERLESS DEVELOPMENT LIFECYCLE
My Background
• Brought Multi-Touch Input Support To
The Linux Desktop

• Technical Architect of New Relic
Browser

• CTO and Co-founder of Stackery
What I’ve Seen
• Business Impeded Because Infrastructure/
Processes Couldn’t Scale

• Engineering Orgs That Don’t Know What
Has Been Deployed Where

• Spent Years Figuring Out Serverless Best
Practices
Most Of You Have Built A Serverless App
Some Of You Have Deployed An App In
Production
If Your Team Made It To Production,
You’ve Probably Learned A Few Things
AWS | LAMBDA FEATURES PAGE
AWS Lambda invokes your code only when
needed and automatically scales to support the
rate of incoming requests without requiring you
to configure anything. There is no limit to the
number of requests your code can handle.
The Promise:
SELF-HEALING SERVERLESS APPLICATIONS | PG2
AWS | LAMBDA FEATURES PAGE
The Reality:
AWS Lambda invokes your code only when
needed and automatically scales to support the
rate of incoming requests without requiring you
to configure anything. There is no limit to the
number of requests your code can handle.
s
architecture
sometimes
certain
s
es
every
can
but
areproperly
^
(suggested edits)
SELF-HEALING SERVERLESS APPLICATIONS | PG3
DOCKER | WHY DOCKER? PAGE
By combining its industry-leading container engine technology,
an enterprise-grade container platform and world-class
services, Docker enables you to bring traditional and cloud
native applications built on Windows Server, Linux and
mainframe into an automated and secure supply chain,
advancing dev to ops collaboration and reducing time to value.
The Promise (Docker):
SELF-HEALING SERVERLESS APPLICATIONS | PG2
SMASH COMPANY | DOCKER IS THE
DANGEROUS GAMBLE WHICH WE
WILL REGRET
At the moment, you need more systems
expertise to use Docker, not less. Nearly every
article you’ll read on Docker will show you the
extremely simple use-cases and will ignore the
complexities of using Docker on multi-host
production systems. This gives a false
impression of what it takes to actually use
Docker in production.
The Reality (Docker):
SELF-HEALING SERVERLESS APPLICATIONS | PG2
If you look for any combination of “docker +
version + filesystem + OS” on Google, you’ll find
a trail of issues with various impact going back
all the way to docker birth.
I didn’t manage to find anyone on the planet
using Docker seriously AND successfully AND
without major hassle.
THE HFT GUY | DOCKER IN
PRODUCTION: AN UPDATE
Serverless Powers Success
What Do Serverless Apps Look Like?
• Web / Mobile Backend
• Image / Video / Text Processing
• Responding To Notifications
• Real-Time Processing
• Cron Jobs
• Queue Processing
Web / Mobile Backends
Web / Mobile Backends
Real-Time Processing
Cron Jobs
Queue Processing
Serverless Development Lifecycle Gaps
• Managing Infrastructure As Code

• Testing

• Monitoring And Instrumentation
Managing
Infrastructure As Code
I can point and
click!
No more
clicky-click for
you
Today, we’re going
to solve the hardest
real-world IaC
challenges!
Infrastructure As Code Techniques
• PSA: Permission Scoping

• Namespacing Resources

• Parameterization

• Custom Resources

• Using Existing Resources
Aside: We’ll be using AWS
SAM/CloudFormation
The same principles
work elsewhere
Definitions
Stack: An instance of an app deployed
from an IaC template

Resource: A component of an app (e.g.
function, NoSQL table, PubSub topic)
specified in an IaC template
PSA: Use Scoped
Permissions!
(I’m also using this to level-set on referencing
resources in SAM/CloudFormation templates)
Access And Permission Management
HTTPS: //GITHUB.COM/SERVERLESS/EXAMPLES/BLOB/MASTER/AWS-NODE-UPLOAD-TO-S3-AND-POSTPROCESS/SERVERLESS.YML
Access To Do Anything In
Every S3 Bucket In AWS
Account!
Access And Permission Management
Need To Scope Access To Specific Actions

Need To Scope Access To Specific
Resources
Access And Permission Management
Namespacing
Resources
But What Is Our
Topic Name?
mystack-mytopic-jshdfkjhf8sd8f8
Random
Goal: Understand Three Things From
The Resource Name
Application
Environment
Resource
Stack Name: Application-Environment
+
=
backend-prod-notifications
Application
Environment
Resource
backend-prod-notifications
Parameterization
(Or, How To Not Put Your DB
Password In Your Template)
But Where Do I Store
All These Passwords?
Custom Resources
1. Provision an API

2. Update a DNS record
Custom Resource Example: DNS Record
Custom Resource Example: DNS Record
Custom Resource Example: DB Migrations
On every deploy,
migrate the database
Custom Resource Example: DB Migrations
Using Existing
Resources
World’s Simplest Serverless App
I can easily deploy different
environments for dev/test
But What If I Need To Use
An Existing Table In Prod?
But Now I Can’t Easily
Provision Tables For Dev/
Test…
What If I Need Multiple
Attributes Of The Resource?
This Could Get
Tedious…
What About Our Custom
Resource Friends?
Testing
Testing
Serverless Does Not Change Testing!

Serverless Changes How You Run Tests
Testing
Unit Tests: Same As Always

Integration Tests: ???

System Tests: ???
Testing
System And Integration Tests: Two
Schools Of Thought

A: Always Test In The Cloud

B: Fake Services For Local Testing
Testing
Integration Tests In The Cloud

Pros: Faithful representation, possible
today

Cons: Slower, requires cloud access
Testing
Integration Tests Locally With Service Fakes

Pros: Faster, does not require cloud access

Cons: Skew in behavior vs cloud, not very well
supported today

Upstream projects are trying to make this possible/
easier (e.g. AWS SAM Local)
Testing
Integration Tests: Advice

(For Today Only!)

If application is only API endpoints +
Functions, do local tests

Otherwise, deploy into cloud and test
Testing
With The Right Approach, Serverless Is
Just As Testable As Other Architectures
Monitoring And
Instrumentation
Monitoring And Instrumentation
How We Do It Today

1. Organization picks a set of monitoring tools

2. Ask everyone to always instrument the same way

3. Pray

4. Draconian measures
Monitoring And Instrumentation
How We Should Do It

1. Pick a set of monitoring tools

2. Define instrumentation rules centrally

3. Framework auto-instruments every function

4. Cake
Monitoring And Instrumentation
How Can A Framework Auto-instrument?
Monitoring And Instrumentation
Monitoring And Instrumentation
Monitoring And Instrumentation
Now Just Update The Handler:

index.handler => instrumented.handler
Serverless Development Lifecycle Gaps
• Managing Infrastructure As Code

• Collaboration Mechanisms

• Testing

• Monitoring And Instrumentation
How Will You Manage The Gaps?
Build All The Things Yourself
Build All The Things Yourself
High Performance Serverless Teams
CONFIGURATION MANAGEMENT COLLABORATION CONSISTENCY
Use Software That Does It For You
Thank you!
Chase Douglas, CTO @ Stackery.io
chase@stackery.io
@txase

Weitere ähnliche Inhalte

Was ist angesagt?

Was ist angesagt? (20)

Revolutionize DevOps with ML capabilities. Introduction to Amazon CodeGuru an...
Revolutionize DevOps with ML capabilities. Introduction to Amazon CodeGuru an...Revolutionize DevOps with ML capabilities. Introduction to Amazon CodeGuru an...
Revolutionize DevOps with ML capabilities. Introduction to Amazon CodeGuru an...
 
Revolutionize DevOps with ML capabilities. Introduction to Amazon CodeGuru an...
Revolutionize DevOps with ML capabilities. Introduction to Amazon CodeGuru an...Revolutionize DevOps with ML capabilities. Introduction to Amazon CodeGuru an...
Revolutionize DevOps with ML capabilities. Introduction to Amazon CodeGuru an...
 
Immutable Infrastructure: Rise of the Machine Images
Immutable Infrastructure: Rise of the Machine ImagesImmutable Infrastructure: Rise of the Machine Images
Immutable Infrastructure: Rise of the Machine Images
 
Infrastructure as Code
Infrastructure as CodeInfrastructure as Code
Infrastructure as Code
 
Automate your serverless stack
Automate your serverless stack Automate your serverless stack
Automate your serverless stack
 
(DVO202) DevOps at Amazon: A Look At Our Tools & Processes
(DVO202) DevOps at Amazon: A Look At Our Tools & Processes(DVO202) DevOps at Amazon: A Look At Our Tools & Processes
(DVO202) DevOps at Amazon: A Look At Our Tools & Processes
 
Whizlabs webinar - Deploying Portfolio Site with AWS Serverless
Whizlabs webinar - Deploying Portfolio Site with AWS ServerlessWhizlabs webinar - Deploying Portfolio Site with AWS Serverless
Whizlabs webinar - Deploying Portfolio Site with AWS Serverless
 
Introduction to Infrastructure as Code & Automation / Introduction to Chef
Introduction to Infrastructure as Code & Automation / Introduction to ChefIntroduction to Infrastructure as Code & Automation / Introduction to Chef
Introduction to Infrastructure as Code & Automation / Introduction to Chef
 
Managing the Continuous Delivery of Code to AWS Lambda
Managing the Continuous Delivery of Code to AWS LambdaManaging the Continuous Delivery of Code to AWS Lambda
Managing the Continuous Delivery of Code to AWS Lambda
 
DevOps, Common use cases, Architectures, Best Practices
DevOps, Common use cases, Architectures, Best PracticesDevOps, Common use cases, Architectures, Best Practices
DevOps, Common use cases, Architectures, Best Practices
 
AWS DevOps Event - AWS Services enabling DevOps - Continuous Integration & Au...
AWS DevOps Event - AWS Services enabling DevOps - Continuous Integration & Au...AWS DevOps Event - AWS Services enabling DevOps - Continuous Integration & Au...
AWS DevOps Event - AWS Services enabling DevOps - Continuous Integration & Au...
 
Infrastructure as Code (BBWorld/DevCon13)
Infrastructure as Code (BBWorld/DevCon13)Infrastructure as Code (BBWorld/DevCon13)
Infrastructure as Code (BBWorld/DevCon13)
 
Infrastructure as Code
Infrastructure as CodeInfrastructure as Code
Infrastructure as Code
 
Atlassian Connect on Serverless Platforms: Low Cost Add-Ons
Atlassian Connect on Serverless Platforms: Low Cost Add-OnsAtlassian Connect on Serverless Platforms: Low Cost Add-Ons
Atlassian Connect on Serverless Platforms: Low Cost Add-Ons
 
The Power of Azure DevOps
The Power of Azure DevOpsThe Power of Azure DevOps
The Power of Azure DevOps
 
Devops with Amazon Web Services (January 2017)
Devops with Amazon Web Services (January 2017)Devops with Amazon Web Services (January 2017)
Devops with Amazon Web Services (January 2017)
 
Deploying Azure DevOps using Terraform
Deploying Azure DevOps using TerraformDeploying Azure DevOps using Terraform
Deploying Azure DevOps using Terraform
 
Ed Elliott - Practical DSC in Azure
Ed Elliott - Practical DSC in AzureEd Elliott - Practical DSC in Azure
Ed Elliott - Practical DSC in Azure
 
DevOps on AWS - Building Systems to Deliver Faster
DevOps on AWS - Building Systems to Deliver FasterDevOps on AWS - Building Systems to Deliver Faster
DevOps on AWS - Building Systems to Deliver Faster
 
How Atlassian's Build Engineering Team Has Scaled to 150k Builds Per Month an...
How Atlassian's Build Engineering Team Has Scaled to 150k Builds Per Month an...How Atlassian's Build Engineering Team Has Scaled to 150k Builds Per Month an...
How Atlassian's Build Engineering Team Has Scaled to 150k Builds Per Month an...
 

Ähnlich wie Is Serverless The New Swiss Cheese? - AWS Seattle User Group

Ähnlich wie Is Serverless The New Swiss Cheese? - AWS Seattle User Group (20)

Is serverless the new swiss cheese? ServerlessDays NYC 2018
Is serverless the new swiss cheese? ServerlessDays NYC 2018Is serverless the new swiss cheese? ServerlessDays NYC 2018
Is serverless the new swiss cheese? ServerlessDays NYC 2018
 
Is Serverless The New Swiss Cheese?
Is Serverless The New Swiss Cheese?Is Serverless The New Swiss Cheese?
Is Serverless The New Swiss Cheese?
 
CloudFormation Dark Arts
CloudFormation Dark ArtsCloudFormation Dark Arts
CloudFormation Dark Arts
 
Deploying Web Apps with PaaS and Docker Tools
Deploying Web Apps with PaaS and Docker ToolsDeploying Web Apps with PaaS and Docker Tools
Deploying Web Apps with PaaS and Docker Tools
 
Containers, microservices and serverless for realists
Containers, microservices and serverless for realistsContainers, microservices and serverless for realists
Containers, microservices and serverless for realists
 
DevOps on AWS: Deep Dive on Continuous Delivery and the AWS Developer Tools
DevOps on AWS: Deep Dive on Continuous Delivery and the AWS Developer ToolsDevOps on AWS: Deep Dive on Continuous Delivery and the AWS Developer Tools
DevOps on AWS: Deep Dive on Continuous Delivery and the AWS Developer Tools
 
Confoo-Montreal-2016: Controlling Your Environments using Infrastructure as Code
Confoo-Montreal-2016: Controlling Your Environments using Infrastructure as CodeConfoo-Montreal-2016: Controlling Your Environments using Infrastructure as Code
Confoo-Montreal-2016: Controlling Your Environments using Infrastructure as Code
 
Dev ops on aws deep dive on continuous delivery - Toronto
Dev ops on aws deep dive on continuous delivery - TorontoDev ops on aws deep dive on continuous delivery - Toronto
Dev ops on aws deep dive on continuous delivery - Toronto
 
DevOps On AWS - Deep Dive on Continuous Delivery
DevOps On AWS - Deep Dive on Continuous DeliveryDevOps On AWS - Deep Dive on Continuous Delivery
DevOps On AWS - Deep Dive on Continuous Delivery
 
DevOps on AWS: Deep Dive on Continuous Delivery and the AWS Developer Tools
DevOps on AWS: Deep Dive on Continuous Delivery and the AWS Developer ToolsDevOps on AWS: Deep Dive on Continuous Delivery and the AWS Developer Tools
DevOps on AWS: Deep Dive on Continuous Delivery and the AWS Developer Tools
 
DevOps, Continuous Integration and Deployment on AWS: Putting Money Back into...
DevOps, Continuous Integration and Deployment on AWS: Putting Money Back into...DevOps, Continuous Integration and Deployment on AWS: Putting Money Back into...
DevOps, Continuous Integration and Deployment on AWS: Putting Money Back into...
 
Devops continuousintegration and deployment onaws puttingmoneybackintoyourmis...
Devops continuousintegration and deployment onaws puttingmoneybackintoyourmis...Devops continuousintegration and deployment onaws puttingmoneybackintoyourmis...
Devops continuousintegration and deployment onaws puttingmoneybackintoyourmis...
 
AWS Webcast - Build Agile Applications in AWS Cloud for Government
AWS Webcast - Build Agile Applications in AWS Cloud for GovernmentAWS Webcast - Build Agile Applications in AWS Cloud for Government
AWS Webcast - Build Agile Applications in AWS Cloud for Government
 
DevOps on AWS: Deep Dive on Continuous Delivery and the AWS Developer Tools
DevOps on AWS: Deep Dive on Continuous Delivery and the AWS Developer ToolsDevOps on AWS: Deep Dive on Continuous Delivery and the AWS Developer Tools
DevOps on AWS: Deep Dive on Continuous Delivery and the AWS Developer Tools
 
How (and why) to roll your own Docker SaaS
How (and why) to roll your own Docker SaaSHow (and why) to roll your own Docker SaaS
How (and why) to roll your own Docker SaaS
 
Cloud and agile software projects: Overview and Benefits
Cloud and agile software projects: Overview and BenefitsCloud and agile software projects: Overview and Benefits
Cloud and agile software projects: Overview and Benefits
 
DevOps for Databricks
DevOps for DatabricksDevOps for Databricks
DevOps for Databricks
 
AWS Summit Stockholm 2014 – T5 – Deploy, manage and scale applications on AWS
AWS Summit Stockholm 2014 – T5 – Deploy, manage and scale applications on AWSAWS Summit Stockholm 2014 – T5 – Deploy, manage and scale applications on AWS
AWS Summit Stockholm 2014 – T5 – Deploy, manage and scale applications on AWS
 
Measure and Increase Developer Productivity with Help of Serverless at AWS Co...
Measure and Increase Developer Productivity with Help of Serverless at AWS Co...Measure and Increase Developer Productivity with Help of Serverless at AWS Co...
Measure and Increase Developer Productivity with Help of Serverless at AWS Co...
 
Application Lifecycle Management
Application Lifecycle ManagementApplication Lifecycle Management
Application Lifecycle Management
 

Kürzlich hochgeladen

TECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providerTECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service provider
mohitmore19
 

Kürzlich hochgeladen (20)

Right Money Management App For Your Financial Goals
Right Money Management App For Your Financial GoalsRight Money Management App For Your Financial Goals
Right Money Management App For Your Financial Goals
 
Unlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language ModelsUnlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language Models
 
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdfLearn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
 
8257 interfacing 2 in microprocessor for btech students
8257 interfacing 2 in microprocessor for btech students8257 interfacing 2 in microprocessor for btech students
8257 interfacing 2 in microprocessor for btech students
 
Microsoft AI Transformation Partner Playbook.pdf
Microsoft AI Transformation Partner Playbook.pdfMicrosoft AI Transformation Partner Playbook.pdf
Microsoft AI Transformation Partner Playbook.pdf
 
How to Choose the Right Laravel Development Partner in New York City_compress...
How to Choose the Right Laravel Development Partner in New York City_compress...How to Choose the Right Laravel Development Partner in New York City_compress...
How to Choose the Right Laravel Development Partner in New York City_compress...
 
The Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdfThe Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdf
 
How To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected WorkerHow To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected Worker
 
Azure_Native_Qumulo_High_Performance_Compute_Benchmarks.pdf
Azure_Native_Qumulo_High_Performance_Compute_Benchmarks.pdfAzure_Native_Qumulo_High_Performance_Compute_Benchmarks.pdf
Azure_Native_Qumulo_High_Performance_Compute_Benchmarks.pdf
 
10 Trends Likely to Shape Enterprise Technology in 2024
10 Trends Likely to Shape Enterprise Technology in 202410 Trends Likely to Shape Enterprise Technology in 2024
10 Trends Likely to Shape Enterprise Technology in 2024
 
AI & Machine Learning Presentation Template
AI & Machine Learning Presentation TemplateAI & Machine Learning Presentation Template
AI & Machine Learning Presentation Template
 
Introducing Microsoft’s new Enterprise Work Management (EWM) Solution
Introducing Microsoft’s new Enterprise Work Management (EWM) SolutionIntroducing Microsoft’s new Enterprise Work Management (EWM) Solution
Introducing Microsoft’s new Enterprise Work Management (EWM) Solution
 
Exploring the Best Video Editing App.pdf
Exploring the Best Video Editing App.pdfExploring the Best Video Editing App.pdf
Exploring the Best Video Editing App.pdf
 
TECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providerTECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service provider
 
VTU technical seminar 8Th Sem on Scikit-learn
VTU technical seminar 8Th Sem on Scikit-learnVTU technical seminar 8Th Sem on Scikit-learn
VTU technical seminar 8Th Sem on Scikit-learn
 
Unveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time ApplicationsUnveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
 
Define the academic and professional writing..pdf
Define the academic and professional writing..pdfDefine the academic and professional writing..pdf
Define the academic and professional writing..pdf
 
HR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.comHR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.com
 
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
 
Diamond Application Development Crafting Solutions with Precision
Diamond Application Development Crafting Solutions with PrecisionDiamond Application Development Crafting Solutions with Precision
Diamond Application Development Crafting Solutions with Precision
 

Is Serverless The New Swiss Cheese? - AWS Seattle User Group