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

What's better than Microservices? Serverless Microservices

What's better than Microservices? Serverless Microservices

Serverless isn't a fad, it's a real and viable architectural principle for developing and deploying microservices with very little operational overhead. Learn why and how to get started and be successful.

Alan Williams

July 28, 2016
Tweet

More Decks by Alan Williams

Other Decks in Programming

Transcript

  1. © 2016 Autodesk Alan Williams @alanwill alanwill What's better than

    Microservices? Serverless Microservices Apigee/AWS Webinar
  2. "Microservices is a software architecture style in which complex applications

    are composed of small, independent processes communicating with each other using language- agnostic APIs." from Wikipedia What is a Microservice?
  3. "…serverless computing is a cloud computing code execution model in

    which the cloud provider fully manages starting and stopping virtual machines as necessary to serve requests, and requests are billed by an abstract measure of the resources required to satisfy the request, rather than per virtual machine, per hour." from Wikipedia What is Serverless?
  4. § Code focused § No servers to manage § No

    EC2 § No manual scaling or server provisioning § No idle resources § No SSH (or RDP) Serverless Attributes EC2 SSH
  5. Serveless Microservice Architecture Email sent to user User talr-cla talr-config

    talr-cloudtrail talr-accountinfo talr-vpc talr-notify talr-cla-response talr-directconnect talr-director talr-validator talr-cfn-response talr-taskstatus POST /account POST /directconnect AWS Lambda function - Application Logic AWS SNS Topic - Asynchronous notifications AWS DynamoDB Table - Datastore Apigee - API Proxy AWS SES - Outbound Email Legend talr-cbinfo talr-receptionist talr-interrogator talr-inquirer talr-cla-request GET /account GET /{service} POST /cloudtrail POST /config POST /vpc talr-dispatch-request talr-notify-request DDB event
  6. Server Architecture Auto scaling Group User talr-cbinfo POST /account talr-receptionist

    talr-accountinfo Auto scaling Group talr-cla Auto scaling Group talr-director AWS Lambda function - Application Logic AWS DynamoDB Table - Datastore Apigee - API Proxy Legend AWS EC2 - Compute AWS ELB - Load Balancing
  7. § Support for Node.js § Also Serverless § Focused on

    connectors & light-weight API orchestrations Apigee Limitations § Limited debugging & profiling § Not polyglot § Not recommended for complex business logic § Not a generic event processor Apigee Edge Proxies
  8. Technology Toolkit Software URL Languages AWS Lambda https://aws.amazon.com/lambda/ Python/Node.js/Java Serverless

    Framework http://serverless.com/ Python/Node.js Apigee a127 https://github.com/apigee-127/a127 Node.js Swagger http://swagger.io/ JSON/YAML
  9. § Supports all AWS Lambda languages § Other public cloud

    providers coming soon § Local function testing § View function logs § Resource dependencies via Cloudformation § Complete service encapsulation § Node.js based § Never need the AWS Management Console or CLI Serverless Framework
  10. Serverless Containers Code Deployments ✔ ✔ No Servers ✔ Persistent

    Workloads ✔ Event Based Workloads ✔ 3rd Party Applications ✔ Considerations…
  11. Application Development Evolution PasS Serverless CaaS Containers IaaS Virtual Machines

    Infrastructure as Code Baremetal Provisioning Physical Servers Application Development Evolution
  12. Amazon API Gateway Apigee Edge API proxy ✔ ✔ Seamless

    integration with AWS services ✔ Short Learning Curve ✔ Oauth Provider ✔ Request Tracing ✔ Caching ✔ ✔ Rate Limiting ✔ ✔ Swagger Support ✔ ✔ Auto-scaling Features ✔ ✔ Serverless Friendly ✔ ✔ Considerations…
  13. § Learn a programming language (Node.js/Python/Java) § Check out Serverless

    Framework § Start small, start simple § Focus on value add Keys to success
  14. Autodesk and the Autodesk logo are registered trademarks or trademarks

    of Autodesk, Inc., and/or its subsidiaries and/or affiliates in the USA and/or other countries. All other brand names, product names, or trademarks belong to their respective holders. Autodesk reserves the right to alter product and services offerings, and specifications and pricing at any time without notice, and is not responsible for typographical or graphical errors that may appear in this document. © 2016 Autodesk. All rights reserved.