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
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. Event based
API
Discreet tasks/services/processes
Independently scalable
Microservice Attributes
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. 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. 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. 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
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
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
19. 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…
20. Learn a programming language (Node.js/Python/Java)
Check out Serverless Framework
Start small, start simple
Focus on value add
Keys to success