Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

What's Better than Microservices? Serverless Microservices.

9,370 views

Published on

Learn how Autodesk is transforming its services architecture to lightweight microservices using a combination of Amazon Web Services and Apigee. Topic include:

- real world microservices examples
- how to use AWS Lambda and Apigee to build serverless APIs
- how to manage microservices in the cloud

Published in: Technology

What's Better than Microservices? Serverless Microservices.

  1. 1. © 2016 Autodesk Alan Williams @alanwill alanwill What's better than Microservices? Serverless Microservices
  2. 2.  Definitions  Sample Architecture  Demo  Decision Making Considerations Agenda
  3. 3. "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?
  4. 4.  Event based  API  Discreet tasks/services/processes  Independently scalable Microservice Attributes
  5. 5. "…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?
  6. 6.  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
  7. 7. Serveless Microservice Architecture Email sent to user User talr-cla talr-configtalr-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
  8. 8. 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
  9. 9. Swagger Code Snippet
  10. 10. Swagger Controller
  11. 11.  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
  12. 12. Demo https://github.com/alanwill/serverless-demo
  13. 13. 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
  14. 14.  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 based  Never need the AWS Management Console or CLI Serverless Framework
  15. 15. Serverless Containers Code Deployments ✔️ ✔️ No Servers ️✔️ Persistent Workloads ✔️ Event Based Workloads ✔️ 3rd Party Applications ✔️ Considerations…
  16. 16. Application Development Evolution
  17. 17. 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…
  18. 18.  Learn a programming language (Node.js/Python/Java)  Check out Serverless Framework  Start small, start simple  Focus on value add Keys to success
  19. 19. 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.
  20. 20. ©2016 Apigee Corp. All Rights Reserved. Slideshare slideshare.com/apigee Apigee Community https://community.apigee.com YouTube youtube.com/apigee
  21. 21. ©2016 Apigee Corp. All Rights Reserved. Questions? 23

×