More Related Content Similar to Building a fully serverless application on AWS | AWS Summit Tel Aviv 2019 (20) More from Amazon Web Services (20) Building a fully serverless application on AWS | AWS Summit Tel Aviv 20191. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T
Building a fully serverless
applications on AWS
D E V 3 0 7
Liron Dor
Solutions Architect Manager,
AWS
Adir Sharabi
Solutions Architect,
AWS
Benny Keinan
VP R&D,
Venn
2. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T
Agenda
Modern Application Development
The PlayZon Application
Building Blocks
Customer Story: venn
Demo
3. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T
Assess and
prioritize,
app by app
Pick path to
modernization
Lift & shift:
data center → EC2
Re-platform:
VMs → containers
Refactor:
monolith → microservices
Re-invent:
host fleets → serverless
Modern application development: a journey with
many paths
4. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T
Simplify infrastructure management
with serverless technologies
5. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T
What is serverless?
No infrastructure provisioning,
no management
Automatic scaling
Pay for value Highly available and secure
6. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T
7. S U M M I T © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.
PlayZon
8. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T
Goal
Build and demonstrate an interactive AR
Serverless learning Platform
9. S U M M I T © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.
PlayZon
10. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T
PlayZon Architecture
AWS Lambda
Amazon DynamoDB Amazon ElastiCache
Amazon API Gateway
Amazon Cognito
Amazon CloudFront
AWS Cloud
Mobile
client
Amazon Sumerian
11. S U M M I T © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.
12. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T
App Development Process … Simplified
Developer
has idea
Download &
install 3D
engine
Install device
SDK
Register on
platform
Install
platform SDK
Develop
application
Submit for
approval
Publish
application
Customer
finds app on
store
Customer
hits purchase
button
Customer
waits for
download
Customer
uses
application
13. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T
App Dev’l Process … multiple platforms
14. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T
With Amazon Sumerian you can focus on…
Developer
has idea
Develop
application
Publish
application
Customer
uses
application
15. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T
Amazon Sumerian Overview
• Amazon Sumerian comprises an IDE, editor, APIs, Hosts, templates
& asset library to make it easy to build & publish apps
• Prebuilt templates for common scenarios
• Hosts - lifelike characters to guide/narrate your applications
• State Machine/JavaScript support for customizations & behaviors
• Tight integration with AWS services
16. S U M M I T © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.
17. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T
Serverless applications
Services (anything)
Changes in
data state
Requests to
endpoints
Changes in
resource state
Event source Function
Node.js
Python
Java
C#
Go
Ruby
Runtime API
18. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T
Anatomy of a Lambda function
Handler() function
Function to be executed
upon invocation
Event object
Data sent during Lambda
function Invocation
Context object
Methods available to
interact with runtime
information (request ID,
log group, more)
19. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T
Serverless architectures with AWS Lambda
Lambda invoked
File put into
bucket
Amazon S3
Object
AWS Lambda
Message inserted
into to a queue
2. Function
removes
message from
queue
1. Lambda polls
queue and
invokes function
Amazon Simple Queue
Service
Message
Amazon SQS
AWS Lambda
Lambda invoked
Request sent to
API Gateway
API Call
AWS Lambda
Amazon API Gateway
20. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T
Serverless architectures
1. Lambda polls
stream
Data published to a
stream
2. Amazon
Kinesis returns
stream data
Data
Amazon Kinesis
Data Streams
AWS Lambda
Request sent to ALB
Application Load
Balancer
Request
AWS Lambda
Scheduled time
occurs
Event (time-base)
AWS Lambda
21. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T
AWS Lambda release history
LambdaPreview
Announcement
re:Invent2014
?
*As of October 2018, does not include region launches
2015 2016 2017 2018
22. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T
Lambda Layers
Lets functions easily share code: Upload layer
once, reference within any function
Promote separation of responsibilities, lets
developers iterate faster on writing business logic
Built in support for secure sharing by ecosystem
23. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T
Using Lambda Layers
• Put common components in a ZIP file and
upload it as a Lambda Layer
• Layers are immutable and can be
versioned to manage updates
• You can reference up to five layers, one of
which can optionally be a custom runtime
Lambda
Layers
arn:aws:lambda:region:accountId:layer:shared-lib
Lambda
Layers
arn:aws:lambda:region:accountId:layer:shared-lib:2
Lambda
Layers
arn:aws:lambda:region:accountId:layer:shared-lib:3
24. S U M M I T © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.
25. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T
Amazon API Gateway Overview
Fully managed service that makes it easy for developers to
publish, maintain, monitor, and secure APIs at any scale
• API keys to manage Quotas and throttle to protect your backend
• Request/Response data transformation and API mocking
• Cache with customizable keys and time-to-live
• API Monitoring using Amazon CloudWatch
• Native AWS Services integrations
26. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T
Amazon API Gateway Integration
AWS
Lambda
AWS
Lambda
AWS
Lambda
Amazon API Gateway
Lambda
Function
invoked
etc…
AWS Step
Functions
Amazon API Gateway
Step Function
workflow is
executed
Amazon
S3
Amazon
DynamoDB
Amazon
Kinesis
API call made directly
against backing AWS
Service
Amazon API Gateway
27. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T
API Gateway Stages and Variables
Stages are named links to a deployed version of you API
• Recommended for managing API lifecycle (Dev/Test/Prod)
• Stage variables act like environment variables
• Stage variables values accessible from most fields in API Gateway
• Lambda Function ARN
• HTTP Endpoint
• Custom authorizer function name
• Parameter mapping
28. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T
Stage Variables and Lambda Aliases
AWS Lambda
Alias Version
1
2
prod 3
4
5
beta 6
7
dev 8
Amazon API Gateway
Stage variable
Production lambdaAlias=prod
Beta lambdaAlias=beta
Dev lambdaAlias=dev
29. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T
Amazon API Gateway Canary Deployment Support
Use canary release deployments to gradually roll out new version of APIs
V1 = 100%Mobile
client
Amazon
S3
Amazon
DynamoDB
Amazon
Kinesis
AWS Lambda
All Traffic routed to currently
deployed version
30. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T
Amazon API Gateway Canary Deployment Support
Use canary release deployments to gradually roll out new version of APIs
Mobile
client
Amazon
S3
Amazon
DynamoDB
Amazon
Kinesis
AWS Lambda
10% of traffic to new deployment of stage,
rest to previous version
V1 = 90%
V2 = 10%
No
Changes
to client
V1
V2
31. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T
3 Endpoint Types to Choose From
• Edge optimized: Designed to help you reduce client latency
from anywhere on the internet
• Regional: Designed to reduce latency when calls are made from
the same region as the API
• Private: Designed to expose APIs only inside your VPC
32. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T
Benny Keinan, VP R&D
(We are hiring…)
33. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T
Venn in 60 Sec...
World migration report 2015
34. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T
3 Million people
are moving to cities every week
World migration report 2015
35. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T
88% of Millennials
In the US live in metropolitan areas
National US Survey of Millenials, ULI, 2015
36. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T
But not for long
After a while, they are being priced out
37. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T
So…?
38. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T
Back to Parents
39. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T
Back to Parents
Suburban areas
40. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T
Back to Parents
Developing neighborhood
Suburban areas
41. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T
Back to Parents
Developing neighborhood
Suburban areas
35%
42. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T
They
are lackingBut
Quality housing
Services & amenities
Sense of safety
Social life
43. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T
44. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T
Venn provides quality living,
creates shared spaces,
supports hyperlocal business initiatives and
facilitates community engagement,
all on a neighborhood-wide level
45. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T
venn
a new way of neighboring
46. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T
Brooklyn
47. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T
Brooklyn Berlin
48. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T
Brooklyn Berlin Tel Aviv
49. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T
Barcelona Munich MilanLA BudapestSao PauloHamburg
MadridChicago TorontoDublin
AmsterdamJerusalem Cologne Philadelphia ManchesterParisLondon
Brooklyn Berlin Tel Aviv
100 neighborhood around the world
50. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T
Barcelona Munich MilanLA BudapestSao PauloHamburg
MadridChicago TorontoDublin
AmsterdamJerusalem Cologne Philadelphia ManchesterParisLondon
Brooklyn Berlin Tel Aviv
1 Million venn members globally
51. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T
Now, let’s talk
about tech
52. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T
Base assumptions & requirements
Business Side
Build for global adjust for local
Dynamic business requirements
Many product lines
Many integrations
Engineering Side
Small team (all developers)
Light on DevOps
Quick release cycle
Work on small problems
Use 3rd party services
Single stack
and create attractive dev environment for developers...
53. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T
High level architecture
54. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T
Simple flow - open door
55. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T
(Not) Simple flow - payment
56. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T
What we learned?
57. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T
Server & Serverless
It took some experiments to connect them
58. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T
How we did it
59. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T
Invest in Learning
It’s a different kind of development
60. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T
Logs, alerts, etc.
Serverless is no different, same tools and concepts
61. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T
Once you build it...
It is actually very cool and fun and we are happy
✓ Business
Requirements
✓ Easy to
Integrate
✓ Lean and
Quick
62. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T
Thank you
venn.city/career
63. S U M M I T © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.
64. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T
AWS Cloud9 Overview
Cloud-based integrated development environment (IDE) that
lets you write, run, and debug your code with just a browser
• Code with just a browser
• Start new projects quickly
• Code together in real time
• Build serverless applications with ease
• Direct terminal access to AWS services
65. S U M M I T © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.
66. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T
Summary
Serverless promote rapid development!
• Learn more about Serverless at AWS - https://aws.amazon.com/serverless/
• DEV308 - Twelve-Factor App Methodology and Modern Applications
• Delivered by: Oren Reuveni and Uri Segev
• Where: This room
• When: 4:40PM
67. Thank you!
© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.
http://bit.ly/2SAXAas
Liron Dor
Solutions Architect Manager,
AWS
Adir Sharabi
Solutions Architect,
AWS
Benny Keinan
VP R&D,
Venn