Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Serverless Microservices with AWS Lambda

Niko Köbler
September 15, 2016

Serverless Microservices with AWS Lambda

Talk from BedCon 2016

Niko Köbler

September 15, 2016
Tweet

More Decks by Niko Köbler

Other Decks in Programming

Transcript

  1. HOW SMALL CAN IT BE? MICROSERVICES WITH AWS SERVERLESS LAMBDA

    Niko Köbler So ware-Architect, Developer & Trainer | | [email protected] www.n-k.de @dasniko
  2. AWS LAMBDA Event Driven Python, JavaScript (Node), JVM-based languages (Java

    8) Versions, Aliases via ARNs calculating time based costs, 100ms blocks (e.g. 100ms w/ 128MB memory = USD 0.000000208)
  3. AWS LAMBDA NODE EXAMPLE e x p o r t

    s . h a n d l e r = ( e v e n t , c o n t e x t ) = > { c o n s o l e . l o g ( ' R e c e i v e d e v e n t : ' , J S O N . s t r i n g i f y ( e v e n t ) ) ; }
  4. AWS LAMBDA JAVA EXAMPLE p u b l i c

    c l a s s I m a g e P r o c e s s o r i m p l e m e n t s R e q u e s t H a n d l e r < S 3 E v e n t , V o i d > { @ O v e r r i d e p u b l i c V o i d h a n d l e R e q u e s t ( S 3 E v e n t s 3 E v e n t , C o n t e x t c o n t e x t ) { / / g e t t h e S 3 e v e n t d a t a f r o m t h e e v e n t r e q u e s t S 3 E v e n t N o t i f i c a t i o n . S 3 E v e n t N o t i f i c a t i o n R e c o r d r e c o r d = s 3 E v e n t . g e t R e c o r d s ( ) . g e t ( 0 ) ; / / y o u r c o d e g o e s h e r e . . . / / r e t u r n a n o b j e c t w i t h s p e c i f i e d t y p e ( s e e c l a s s g e n e r i c s ) r e t u r n n u l l ; } }
  5. AWS EVENTS LAMBDA S3 Cloud Watch Config DynamoDB Cloud Formation

    Kinesis Cognito SES Cron AWS IoT SNS API Gateway (no complete list)
  6. GATEWAY API "Reverse Proxy" hides possible multiple service calls (aka

    "service composition", ESB?) distributes requests to proper service instances "Mock" Authentication/Authorization via AWS Cognito / STS Key-Value-Pairs for configuring different stages
  7. DRAWBACKS Overview => Logging / Monitoring ! Testing => Environment

    & Infrastructure Cloud Provider Binding / Dependency
  8. BUT POWERFUL SERVERLESS No need to run/manage Application Servers Fast

    results, minimal effort, minimal TTM Low costs, minimal financial risk Automatic Scalabiltiy and Availability "out-of-the-box"