SlideShare une entreprise Scribd logo
1  sur  27
Serverless	
  Meets	
  SaaS:	
  	
  
The	
  Ul/mate	
  Match	
  
Tod	
  Golding	
  
Amazon	
  Web	
  Services	
  
todg@amazon.com	
  
	
  
InfoQ.com: News & Community Site
• 750,000 unique visitors/month
• Published in 4 languages (English, Chinese, Japanese and Brazilian
Portuguese)
• Post content from our QCon conferences
• News 15-20 / week
• Articles 3-4 / week
• Presentations (videos) 12-15 / week
• Interviews 2-3 / week
• Books 1 / month
Watch the video with slide
synchronization on InfoQ.com!
https://www.infoq.com/presentations/
servereless-saas
Purpose of QCon
- to empower software development by facilitating the spread of
knowledge and innovation
Strategy
- practitioner-driven conference designed for YOU: influencers of
change and innovation in your teams
- speakers and topics driving the evolution and innovation
- connecting and catalyzing the influencers and innovators
Highlights
- attended by more than 12,000 delegates since 2007
- held in 9 cities worldwide
Presented at QCon San Francisco
www.qconsf.com
Chasing	
  The	
  SaaS	
  Dream	
  
Tenant	
  Consump/on	
  	
  Cost,	
  Scale,	
  Performance	
  
Consump/on	
  
Time	
  
We	
  Started	
  Here	
  
Unit	
  of	
  Scale	
  =	
  Web/App	
  Server	
  
Web Servers
App Servers
Checkout	
  
Taxa/on	
  
Shipping	
  
App	
  Server	
  
Checkout	
  
Taxa/on	
  
Shipping	
  
App	
  Server	
  
Single	
  Tenant	
  Load	
   Mul/-­‐Tenant	
  Load	
  
Microservices	
  Helped	
  (Kind	
  Of)	
  
EC2	
  Container	
  
Service	
  Catalog	
  
Ra/ngs	
  
Checkout	
  
Taxa/on	
  
CrossSell	
  
Cart	
  
Search	
  
Nirvana:	
  Just	
  Let	
  Me	
  Write	
  Code!	
  
•  Servers	
  shouldn’t	
  be	
  part	
  of	
  the	
  equa/on	
  
•  Pay	
  for	
  the	
  code	
  that	
  runs—not	
  the	
  servers	
  
•  I	
  provide	
  the	
  code,	
  someone	
  else	
  provides	
  the	
  scale	
  
•  If	
  there’s	
  nothing	
  running,	
  then	
  I	
  don’t	
  pay	
  
The	
  Serverless	
  Compute	
  Manifesto	
  
•  Func/ons	
  are	
  the	
  unit	
  of	
  deployment	
  and	
  scaling.	
  
•  No	
  machines,	
  VMs,	
  or	
  containers	
  visible	
  in	
  the	
  programming	
  model.	
  
•  Permanent	
  storage	
  lives	
  elsewhere.	
  
•  Scales	
  per	
  request.	
  Users	
  cannot	
  over-­‐	
  or	
  under-­‐provision	
  capacity.	
  
•  Never	
  pay	
  for	
  idle	
  (no	
  cold	
  servers/containers	
  or	
  their	
  costs).	
  
•  Implicitly	
  fault-­‐tolerant	
  because	
  func/ons	
  can	
  run	
  anywhere.	
  
•  BYOC	
  –	
  Bring	
  your	
  own	
  code.	
  
•  Metrics	
  and	
  logging	
  are	
  a	
  universal	
  right.	
  
Mapping	
  Serverless	
  to	
  SaaS	
  
Serverless	
  Values/Tenets	
  
Consump/on	
  	
  
Op/miza/on	
  
Commit	
  
Unit	
  Test	
  
System	
  Test	
  QA	
  
Staging	
  
Agility	
  
Tenant1	
  
Tenant	
  Isola/on	
  
SaaS	
  Developer	
  
Tenant2	
  
Serverless	
  SaaS	
  with	
  AWS	
  Lambda	
  
AWS	
  API	
  Gateway	
  
AWS	
  Lambda	
  Func/ons	
  
Amazon	
  
CloudFront	
  
Storage	
  Services	
  
Sta/c	
  Web	
  Content	
  
Democra1zed	
  Scale	
  
•  A	
  serverless,	
  event-­‐driven	
  compute	
  
service	
  
•  Managed,	
  scalable	
  func/ons	
  
•  All	
  func/ons	
  executed	
  in	
  parallel	
  
•  Pay	
  based	
  on	
  consump/on	
  
•  Includes	
  support	
  for	
  logging	
  &	
  
monitoring	
  
•  Supports	
  JavaScript,	
  NodeJS,	
  Python,	
  
or	
  any	
  JVM-­‐based	
  language	
  
Order	
  
Management	
  
Service	
  
Order	
  
Management	
  
Service	
  
Order	
  
Management	
  
Service	
  
A	
  More	
  Granular	
  View	
  of	
  Consump/on	
  
Order	
  
Management	
  
Service	
  
POST	
  /orders/712	
  
PUT	
  /orders/42	
  
DELETE	
  /orders/651	
  
GET	
  /orders	
  
GetOrder()	
  
UpdateOrder()	
  
DeleteOrder()	
  
GetOrder()	
   GetOrder()	
  
UpdateOrder()	
  
Scale	
  
Scale	
  
Policy	
  
Policy	
  
Striking	
  A	
  Beher	
  Balance	
  
S1	
   S2	
  
S4	
   S5	
  
S3	
  
S6	
  
S7	
   S8	
   S9	
  
Coarse-­‐Grained	
  Services	
   Fined	
  Grained	
  Func/ons	
  
A	
  more	
  ac/onable,	
  more	
  insighlul	
  management	
  and	
  monitoring	
  view	
  
Aligning	
  With	
  Tenant	
  Consump/on	
  
Func/on1	
  
Func/on2	
  
Func/on3	
  
Func/on4	
  
Func/on5	
  
Func/on6	
  
Tenant1	
  
Tenant1	
  
Tenant1	
  
Where’s	
  My	
  REST	
  API?	
  
	
  	
  	
  	
  	
  	
  	
  AWS	
  API	
  
	
  	
  	
  	
  	
  	
  Gateway	
  
POST	
  /orders/712	
  
PUT	
  /orders/42	
  
DELETE	
  /orders/851	
  
GET	
  /orders	
  
PATCH	
  /orders/219	
  
•  Define	
  REST	
  entry	
  points	
  separate	
  from	
  
Lambda	
  func/ons	
  
•  Managed	
  scaling	
  
•  Supports	
  custom	
  domains	
  
•  Integra/on	
  with	
  Amazon	
  CloudFront	
  for	
  
DDoS	
  protec/on	
  
•  Handles	
  authen/ca/on,	
  throhling,	
  
metering,	
  monitoring	
  
•  Developer	
  integra/on	
  with	
  mock	
  
responses	
  
Tenant	
  Consump/on	
  Considera/ons	
  
•  Severless	
  lets	
  us	
  mirror	
  actual	
  tenant	
  consump/on	
  
•  Scaling	
  op/miza/on	
  and	
  turning	
  becomes	
  someone	
  
else’s	
  job	
  
•  Focus	
  is	
  on	
  code,	
  not	
  policies	
  and	
  scaling	
  analy/cs	
  
•  Embrace	
  the	
  micro	
  in	
  microservices	
  
•  Larger	
  func/ons	
  take	
  more	
  /me	
  to	
  load	
  	
  
•  Func/on-­‐level	
  decomposi/on	
  may	
  influence	
  your	
  storage	
  
encapsula/on	
  model	
  
•  The	
  boundaries	
  of	
  services	
  and	
  contracts	
  gets	
  blurry	
  
Serverless	
  and	
  SaaS	
  Agility	
  
Scheduled Maintenance
Friday,	
  April	
  1,	
  11:00-­‐12:00PM	
  
The	
  system	
  will	
  be	
  down	
  for	
  
maintenance	
  this	
  evening.	
  We	
  
apologize	
  for	
  any	
  inconvenience	
  this	
  
may	
  cause.	
  	
  
Close	
  
Achieving	
  zero-­‐down/me	
  on	
  SaaS	
  requires:	
  
•  Ability	
  to	
  deploy	
  small,	
  decoupled	
  units	
  of	
  func/onality	
  
•  A	
  strategy	
  that	
  expects	
  and	
  embraces	
  fault	
  tolerance	
  
•  A	
  well-­‐defined	
  mechanism	
  for	
  staging	
  and	
  releasing	
  new	
  features	
  
•  An	
  approach	
  that	
  enables	
  con/nual	
  and	
  frequent	
  releases	
  
Can’t	
  Get	
  Much	
  Smaller	
  Than	
  This	
  
Commit
Unit
Test
System
Test
QA Staging Prod
Commit
Unit
Test
System
Test
QA Staging Prod
Commit
Unit
Test
System
Test
QA Staging Prod
GetOrder()	
  
CreateOrder()	
  
UpdateOrder()	
  
•  The	
  granular	
  nature	
  of	
  the	
  serverless	
  model	
  
promotes	
  less	
  invasive	
  deployments	
  
•  Func/ons	
  tend	
  to	
  have	
  less	
  dependencies	
  
Beher	
  Fault	
  Tolerance	
  =	
  Beher	
  Agility	
  
•  Finer	
  grained	
  func/ons	
  promote	
  more	
  refined	
  fault	
  tolerance	
  	
  
•  More	
  opportuni/es	
  for	
  implement	
  fallback	
  strategies	
  
•  Less	
  exposure	
  and	
  visibility	
  when	
  a	
  service	
  fails	
  
•  Greater	
  resilience	
  translates	
  into	
  greater	
  agility	
  
Catalog	
  
Ra/ngs	
  
Checkout	
  
Taxa/on	
  
CrossSell	
  
Cart	
  
Search	
  
Versioning	
  Your	
  Lambda	
  Func/ons	
  
•  Immutable	
  versions	
  of	
  func/ons	
  
•  CloudWatch	
  Logs	
  contain	
  version	
  	
  
•  Aliases	
  decouple	
  clients	
  from	
  versioning	
  
•  $LATEST	
  contains	
  latest	
  code	
  
•  Aliases	
  can	
  be	
  reassigned	
  
•  Aliases	
  can	
  be	
  used	
  to	
  support	
  rollback	
  
Con/nuous	
  Delivery	
  of	
  API	
  Changes	
  
Define	
  deployment	
  stages	
  
Qualify	
  with	
  stage	
  variables	
  
Invoke	
  URL:	
  hhps://65d00yhath.execute-­‐api.ap-­‐northeast-­‐1.amanzonaws.com/prod	
  
Serverless	
  Agility	
  Considera/ons	
  
•  Serverless	
  can	
  reduce	
  your	
  deployment	
  automa/on	
  
footprint	
  
•  Serverless	
  osen	
  alters	
  your	
  automated	
  tes/ng	
  model	
  
•  Use	
  serverless	
  to	
  revisit	
  fault	
  tolerance	
  strategies	
  
•  API	
  mocks	
  can	
  add	
  development	
  agility	
  
•  API	
  Gateway	
  stages	
  and	
  Lambda	
  versioning	
  a	
  powerful	
  
duo	
  
•  Serverless	
  granularity	
  promotes	
  agility	
  
Serverless	
  &	
  Tenant	
  Isola/on	
  
	
  	
  	
  	
  	
  	
  	
  	
  	
  AWS	
  API	
  Gateway	
  
Tenant	
  1	
   Tenant	
  2	
  
Where	
  does	
  silo	
  fit	
  here?	
  
Web	
  Tier	
  
App	
  Tier	
  
Tenant	
  1	
  
Web	
  Tier	
  
App	
  Tier	
  
Tenant	
  2	
  
Web	
  Tier	
  
Tenants	
  3	
  …	
  N	
  
App	
  Tier	
  
Hybrid	
  Tenant	
  Isola/on	
  
Serverless	
  Isola/on	
  
Tenant	
  1	
  
Access	
  Policy	
  
(IAM)	
  
Tenant	
  2	
  
Access	
  Policy	
  
(IAM)	
  
•  No	
  tenant	
  specific	
  provisioning	
  of	
  compute	
  services	
  
•  Cost	
  is	
  that	
  same	
  as	
  a	
  fully	
  pooled	
  mul/-­‐tenant	
  environment	
  
•  Policies	
  control	
  scoped	
  access	
  to	
  AWS	
  resources	
  
•  Simpler	
  provisioning	
  and	
  management	
  
Lambda	
  
Serverless	
  Frameworks	
  
Chalice
Serverless	
  SaaS	
  Takeaways	
  
•  Focus	
  on	
  your	
  code,	
  not	
  your	
  servers	
  or	
  your	
  scale	
  
•  Embracing	
  the	
  programming	
  model	
  takes	
  /me	
  
•  If	
  you	
  weren’t	
  agile	
  before,	
  you	
  will	
  be	
  now	
  
•  Management	
  &	
  monitoring	
  looks	
  different	
  
•  Avoid	
  centralized	
  storage	
  models	
  
•  There’s	
  more	
  than	
  one	
  way	
  to	
  fire	
  a	
  Lambda	
  func/on	
  
•  Serverless	
  is	
  s/ll	
  evolving	
  
Thank	
  You!!!	
  
Tod	
  Golding	
  
todg@amazon.com	
  
Watch the video with slide
synchronization on InfoQ.com!
https://www.infoq.com/presentations/
servereless-saas

Contenu connexe

Plus de C4Media

Streaming a Million Likes/Second: Real-Time Interactions on Live Video
Streaming a Million Likes/Second: Real-Time Interactions on Live VideoStreaming a Million Likes/Second: Real-Time Interactions on Live Video
Streaming a Million Likes/Second: Real-Time Interactions on Live VideoC4Media
 
Next Generation Client APIs in Envoy Mobile
Next Generation Client APIs in Envoy MobileNext Generation Client APIs in Envoy Mobile
Next Generation Client APIs in Envoy MobileC4Media
 
Software Teams and Teamwork Trends Report Q1 2020
Software Teams and Teamwork Trends Report Q1 2020Software Teams and Teamwork Trends Report Q1 2020
Software Teams and Teamwork Trends Report Q1 2020C4Media
 
Understand the Trade-offs Using Compilers for Java Applications
Understand the Trade-offs Using Compilers for Java ApplicationsUnderstand the Trade-offs Using Compilers for Java Applications
Understand the Trade-offs Using Compilers for Java ApplicationsC4Media
 
Kafka Needs No Keeper
Kafka Needs No KeeperKafka Needs No Keeper
Kafka Needs No KeeperC4Media
 
High Performing Teams Act Like Owners
High Performing Teams Act Like OwnersHigh Performing Teams Act Like Owners
High Performing Teams Act Like OwnersC4Media
 
Does Java Need Inline Types? What Project Valhalla Can Bring to Java
Does Java Need Inline Types? What Project Valhalla Can Bring to JavaDoes Java Need Inline Types? What Project Valhalla Can Bring to Java
Does Java Need Inline Types? What Project Valhalla Can Bring to JavaC4Media
 
Service Meshes- The Ultimate Guide
Service Meshes- The Ultimate GuideService Meshes- The Ultimate Guide
Service Meshes- The Ultimate GuideC4Media
 
Shifting Left with Cloud Native CI/CD
Shifting Left with Cloud Native CI/CDShifting Left with Cloud Native CI/CD
Shifting Left with Cloud Native CI/CDC4Media
 
CI/CD for Machine Learning
CI/CD for Machine LearningCI/CD for Machine Learning
CI/CD for Machine LearningC4Media
 
Fault Tolerance at Speed
Fault Tolerance at SpeedFault Tolerance at Speed
Fault Tolerance at SpeedC4Media
 
Architectures That Scale Deep - Regaining Control in Deep Systems
Architectures That Scale Deep - Regaining Control in Deep SystemsArchitectures That Scale Deep - Regaining Control in Deep Systems
Architectures That Scale Deep - Regaining Control in Deep SystemsC4Media
 
ML in the Browser: Interactive Experiences with Tensorflow.js
ML in the Browser: Interactive Experiences with Tensorflow.jsML in the Browser: Interactive Experiences with Tensorflow.js
ML in the Browser: Interactive Experiences with Tensorflow.jsC4Media
 
Build Your Own WebAssembly Compiler
Build Your Own WebAssembly CompilerBuild Your Own WebAssembly Compiler
Build Your Own WebAssembly CompilerC4Media
 
User & Device Identity for Microservices @ Netflix Scale
User & Device Identity for Microservices @ Netflix ScaleUser & Device Identity for Microservices @ Netflix Scale
User & Device Identity for Microservices @ Netflix ScaleC4Media
 
Scaling Patterns for Netflix's Edge
Scaling Patterns for Netflix's EdgeScaling Patterns for Netflix's Edge
Scaling Patterns for Netflix's EdgeC4Media
 
Make Your Electron App Feel at Home Everywhere
Make Your Electron App Feel at Home EverywhereMake Your Electron App Feel at Home Everywhere
Make Your Electron App Feel at Home EverywhereC4Media
 
The Talk You've Been Await-ing For
The Talk You've Been Await-ing ForThe Talk You've Been Await-ing For
The Talk You've Been Await-ing ForC4Media
 
Future of Data Engineering
Future of Data EngineeringFuture of Data Engineering
Future of Data EngineeringC4Media
 
Automated Testing for Terraform, Docker, Packer, Kubernetes, and More
Automated Testing for Terraform, Docker, Packer, Kubernetes, and MoreAutomated Testing for Terraform, Docker, Packer, Kubernetes, and More
Automated Testing for Terraform, Docker, Packer, Kubernetes, and MoreC4Media
 

Plus de C4Media (20)

Streaming a Million Likes/Second: Real-Time Interactions on Live Video
Streaming a Million Likes/Second: Real-Time Interactions on Live VideoStreaming a Million Likes/Second: Real-Time Interactions on Live Video
Streaming a Million Likes/Second: Real-Time Interactions on Live Video
 
Next Generation Client APIs in Envoy Mobile
Next Generation Client APIs in Envoy MobileNext Generation Client APIs in Envoy Mobile
Next Generation Client APIs in Envoy Mobile
 
Software Teams and Teamwork Trends Report Q1 2020
Software Teams and Teamwork Trends Report Q1 2020Software Teams and Teamwork Trends Report Q1 2020
Software Teams and Teamwork Trends Report Q1 2020
 
Understand the Trade-offs Using Compilers for Java Applications
Understand the Trade-offs Using Compilers for Java ApplicationsUnderstand the Trade-offs Using Compilers for Java Applications
Understand the Trade-offs Using Compilers for Java Applications
 
Kafka Needs No Keeper
Kafka Needs No KeeperKafka Needs No Keeper
Kafka Needs No Keeper
 
High Performing Teams Act Like Owners
High Performing Teams Act Like OwnersHigh Performing Teams Act Like Owners
High Performing Teams Act Like Owners
 
Does Java Need Inline Types? What Project Valhalla Can Bring to Java
Does Java Need Inline Types? What Project Valhalla Can Bring to JavaDoes Java Need Inline Types? What Project Valhalla Can Bring to Java
Does Java Need Inline Types? What Project Valhalla Can Bring to Java
 
Service Meshes- The Ultimate Guide
Service Meshes- The Ultimate GuideService Meshes- The Ultimate Guide
Service Meshes- The Ultimate Guide
 
Shifting Left with Cloud Native CI/CD
Shifting Left with Cloud Native CI/CDShifting Left with Cloud Native CI/CD
Shifting Left with Cloud Native CI/CD
 
CI/CD for Machine Learning
CI/CD for Machine LearningCI/CD for Machine Learning
CI/CD for Machine Learning
 
Fault Tolerance at Speed
Fault Tolerance at SpeedFault Tolerance at Speed
Fault Tolerance at Speed
 
Architectures That Scale Deep - Regaining Control in Deep Systems
Architectures That Scale Deep - Regaining Control in Deep SystemsArchitectures That Scale Deep - Regaining Control in Deep Systems
Architectures That Scale Deep - Regaining Control in Deep Systems
 
ML in the Browser: Interactive Experiences with Tensorflow.js
ML in the Browser: Interactive Experiences with Tensorflow.jsML in the Browser: Interactive Experiences with Tensorflow.js
ML in the Browser: Interactive Experiences with Tensorflow.js
 
Build Your Own WebAssembly Compiler
Build Your Own WebAssembly CompilerBuild Your Own WebAssembly Compiler
Build Your Own WebAssembly Compiler
 
User & Device Identity for Microservices @ Netflix Scale
User & Device Identity for Microservices @ Netflix ScaleUser & Device Identity for Microservices @ Netflix Scale
User & Device Identity for Microservices @ Netflix Scale
 
Scaling Patterns for Netflix's Edge
Scaling Patterns for Netflix's EdgeScaling Patterns for Netflix's Edge
Scaling Patterns for Netflix's Edge
 
Make Your Electron App Feel at Home Everywhere
Make Your Electron App Feel at Home EverywhereMake Your Electron App Feel at Home Everywhere
Make Your Electron App Feel at Home Everywhere
 
The Talk You've Been Await-ing For
The Talk You've Been Await-ing ForThe Talk You've Been Await-ing For
The Talk You've Been Await-ing For
 
Future of Data Engineering
Future of Data EngineeringFuture of Data Engineering
Future of Data Engineering
 
Automated Testing for Terraform, Docker, Packer, Kubernetes, and More
Automated Testing for Terraform, Docker, Packer, Kubernetes, and MoreAutomated Testing for Terraform, Docker, Packer, Kubernetes, and More
Automated Testing for Terraform, Docker, Packer, Kubernetes, and More
 

Dernier

Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024The Digital Insurer
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024Rafal Los
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slidevu2urc
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024Scott Keck-Warren
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)Gabriella Davis
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesSinan KOZAK
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfEnterprise Knowledge
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsEnterprise Knowledge
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking MenDelhi Call girls
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxMalak Abu Hammad
 
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...HostedbyConfluent
 
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024BookNet Canada
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Drew Madelung
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘RTylerCroy
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking MenDelhi Call girls
 
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j
 
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024BookNet Canada
 
Maximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxMaximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxOnBoard
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationMichael W. Hawkins
 
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | DelhiFULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhisoniya singh
 

Dernier (20)

Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen Frames
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptx
 
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
 
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
 
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
 
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
 
Maximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxMaximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptx
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | DelhiFULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
 

Serverless Meets SaaS: The Ultimate Match

  • 1. Serverless  Meets  SaaS:     The  Ul/mate  Match   Tod  Golding   Amazon  Web  Services   todg@amazon.com    
  • 2. InfoQ.com: News & Community Site • 750,000 unique visitors/month • Published in 4 languages (English, Chinese, Japanese and Brazilian Portuguese) • Post content from our QCon conferences • News 15-20 / week • Articles 3-4 / week • Presentations (videos) 12-15 / week • Interviews 2-3 / week • Books 1 / month Watch the video with slide synchronization on InfoQ.com! https://www.infoq.com/presentations/ servereless-saas
  • 3. Purpose of QCon - to empower software development by facilitating the spread of knowledge and innovation Strategy - practitioner-driven conference designed for YOU: influencers of change and innovation in your teams - speakers and topics driving the evolution and innovation - connecting and catalyzing the influencers and innovators Highlights - attended by more than 12,000 delegates since 2007 - held in 9 cities worldwide Presented at QCon San Francisco www.qconsf.com
  • 4. Chasing  The  SaaS  Dream   Tenant  Consump/on    Cost,  Scale,  Performance   Consump/on   Time  
  • 5. We  Started  Here   Unit  of  Scale  =  Web/App  Server   Web Servers App Servers Checkout   Taxa/on   Shipping   App  Server   Checkout   Taxa/on   Shipping   App  Server   Single  Tenant  Load   Mul/-­‐Tenant  Load  
  • 6. Microservices  Helped  (Kind  Of)   EC2  Container   Service  Catalog   Ra/ngs   Checkout   Taxa/on   CrossSell   Cart   Search  
  • 7. Nirvana:  Just  Let  Me  Write  Code!   •  Servers  shouldn’t  be  part  of  the  equa/on   •  Pay  for  the  code  that  runs—not  the  servers   •  I  provide  the  code,  someone  else  provides  the  scale   •  If  there’s  nothing  running,  then  I  don’t  pay  
  • 8. The  Serverless  Compute  Manifesto   •  Func/ons  are  the  unit  of  deployment  and  scaling.   •  No  machines,  VMs,  or  containers  visible  in  the  programming  model.   •  Permanent  storage  lives  elsewhere.   •  Scales  per  request.  Users  cannot  over-­‐  or  under-­‐provision  capacity.   •  Never  pay  for  idle  (no  cold  servers/containers  or  their  costs).   •  Implicitly  fault-­‐tolerant  because  func/ons  can  run  anywhere.   •  BYOC  –  Bring  your  own  code.   •  Metrics  and  logging  are  a  universal  right.  
  • 9. Mapping  Serverless  to  SaaS   Serverless  Values/Tenets   Consump/on     Op/miza/on   Commit   Unit  Test   System  Test  QA   Staging   Agility   Tenant1   Tenant  Isola/on   SaaS  Developer   Tenant2  
  • 10. Serverless  SaaS  with  AWS  Lambda   AWS  API  Gateway   AWS  Lambda  Func/ons   Amazon   CloudFront   Storage  Services   Sta/c  Web  Content   Democra1zed  Scale   •  A  serverless,  event-­‐driven  compute   service   •  Managed,  scalable  func/ons   •  All  func/ons  executed  in  parallel   •  Pay  based  on  consump/on   •  Includes  support  for  logging  &   monitoring   •  Supports  JavaScript,  NodeJS,  Python,   or  any  JVM-­‐based  language  
  • 11. Order   Management   Service   Order   Management   Service   Order   Management   Service   A  More  Granular  View  of  Consump/on   Order   Management   Service   POST  /orders/712   PUT  /orders/42   DELETE  /orders/651   GET  /orders   GetOrder()   UpdateOrder()   DeleteOrder()   GetOrder()   GetOrder()   UpdateOrder()   Scale   Scale   Policy   Policy  
  • 12. Striking  A  Beher  Balance   S1   S2   S4   S5   S3   S6   S7   S8   S9   Coarse-­‐Grained  Services   Fined  Grained  Func/ons   A  more  ac/onable,  more  insighlul  management  and  monitoring  view  
  • 13. Aligning  With  Tenant  Consump/on   Func/on1   Func/on2   Func/on3   Func/on4   Func/on5   Func/on6   Tenant1   Tenant1   Tenant1  
  • 14. Where’s  My  REST  API?                AWS  API              Gateway   POST  /orders/712   PUT  /orders/42   DELETE  /orders/851   GET  /orders   PATCH  /orders/219   •  Define  REST  entry  points  separate  from   Lambda  func/ons   •  Managed  scaling   •  Supports  custom  domains   •  Integra/on  with  Amazon  CloudFront  for   DDoS  protec/on   •  Handles  authen/ca/on,  throhling,   metering,  monitoring   •  Developer  integra/on  with  mock   responses  
  • 15. Tenant  Consump/on  Considera/ons   •  Severless  lets  us  mirror  actual  tenant  consump/on   •  Scaling  op/miza/on  and  turning  becomes  someone   else’s  job   •  Focus  is  on  code,  not  policies  and  scaling  analy/cs   •  Embrace  the  micro  in  microservices   •  Larger  func/ons  take  more  /me  to  load     •  Func/on-­‐level  decomposi/on  may  influence  your  storage   encapsula/on  model   •  The  boundaries  of  services  and  contracts  gets  blurry  
  • 16. Serverless  and  SaaS  Agility   Scheduled Maintenance Friday,  April  1,  11:00-­‐12:00PM   The  system  will  be  down  for   maintenance  this  evening.  We   apologize  for  any  inconvenience  this   may  cause.     Close   Achieving  zero-­‐down/me  on  SaaS  requires:   •  Ability  to  deploy  small,  decoupled  units  of  func/onality   •  A  strategy  that  expects  and  embraces  fault  tolerance   •  A  well-­‐defined  mechanism  for  staging  and  releasing  new  features   •  An  approach  that  enables  con/nual  and  frequent  releases  
  • 17. Can’t  Get  Much  Smaller  Than  This   Commit Unit Test System Test QA Staging Prod Commit Unit Test System Test QA Staging Prod Commit Unit Test System Test QA Staging Prod GetOrder()   CreateOrder()   UpdateOrder()   •  The  granular  nature  of  the  serverless  model   promotes  less  invasive  deployments   •  Func/ons  tend  to  have  less  dependencies  
  • 18. Beher  Fault  Tolerance  =  Beher  Agility   •  Finer  grained  func/ons  promote  more  refined  fault  tolerance     •  More  opportuni/es  for  implement  fallback  strategies   •  Less  exposure  and  visibility  when  a  service  fails   •  Greater  resilience  translates  into  greater  agility   Catalog   Ra/ngs   Checkout   Taxa/on   CrossSell   Cart   Search  
  • 19. Versioning  Your  Lambda  Func/ons   •  Immutable  versions  of  func/ons   •  CloudWatch  Logs  contain  version     •  Aliases  decouple  clients  from  versioning   •  $LATEST  contains  latest  code   •  Aliases  can  be  reassigned   •  Aliases  can  be  used  to  support  rollback  
  • 20. Con/nuous  Delivery  of  API  Changes   Define  deployment  stages   Qualify  with  stage  variables   Invoke  URL:  hhps://65d00yhath.execute-­‐api.ap-­‐northeast-­‐1.amanzonaws.com/prod  
  • 21. Serverless  Agility  Considera/ons   •  Serverless  can  reduce  your  deployment  automa/on   footprint   •  Serverless  osen  alters  your  automated  tes/ng  model   •  Use  serverless  to  revisit  fault  tolerance  strategies   •  API  mocks  can  add  development  agility   •  API  Gateway  stages  and  Lambda  versioning  a  powerful   duo   •  Serverless  granularity  promotes  agility  
  • 22. Serverless  &  Tenant  Isola/on                    AWS  API  Gateway   Tenant  1   Tenant  2   Where  does  silo  fit  here?   Web  Tier   App  Tier   Tenant  1   Web  Tier   App  Tier   Tenant  2   Web  Tier   Tenants  3  …  N   App  Tier   Hybrid  Tenant  Isola/on  
  • 23. Serverless  Isola/on   Tenant  1   Access  Policy   (IAM)   Tenant  2   Access  Policy   (IAM)   •  No  tenant  specific  provisioning  of  compute  services   •  Cost  is  that  same  as  a  fully  pooled  mul/-­‐tenant  environment   •  Policies  control  scoped  access  to  AWS  resources   •  Simpler  provisioning  and  management   Lambda  
  • 25. Serverless  SaaS  Takeaways   •  Focus  on  your  code,  not  your  servers  or  your  scale   •  Embracing  the  programming  model  takes  /me   •  If  you  weren’t  agile  before,  you  will  be  now   •  Management  &  monitoring  looks  different   •  Avoid  centralized  storage  models   •  There’s  more  than  one  way  to  fire  a  Lambda  func/on   •  Serverless  is  s/ll  evolving  
  • 26. Thank  You!!!   Tod  Golding   todg@amazon.com  
  • 27. Watch the video with slide synchronization on InfoQ.com! https://www.infoq.com/presentations/ servereless-saas