Slides from Serverless Architecture with AWS workshop that has been delivered in Tel Aviv at December 2016 and XP Days in Kyiv at November. We go in details about AWS Lambda and give few implementation blueprints targeted to web applications
23. LAMBDA
@acankr
- AWS Computing Service
- Designed to reflect async Actor Model
- Resilient and Scaleable
- 512 RAM
- Supports Runtimes
- Java
- Python
- NodeJS
- Go (implicitly)
- Max Timeout 5 mins
- Pricing:
- 0.20$ per million requests.
- Billable 100 milliseconds
35. @acankr
API Gateway
Lambda
+
- API Management Tool
- Authorization + Custom Authorizer
- Defines: Environment Variables for Lambda
- Can be defined with Swagger and imported
- Code Supports Versioning
- Integrated with CloudWatch
- Lambda Containers are Cached for 5 minutes
- Can be deployed with “apex.run” tool
- User can write files in /tmp
46. @acankr
STAGES OF THE GAME
#1 NIGHT: MURDER
MAFIA AWAKENS
MAFIA KILLS INNOCENT
#2 DAY: ACCUSATION
EVERYBODY AWAKENS
PLAYERS ACCUSE EACH OTHER
MAFIA NEVER ACCUSES
THEMSELVES
INNOCENT ACCUSES
EVERYBODY
#3 DAY: JUDGEMENT
DETECTIVE READS ALL
ACCUSATIONS AND BRINGS ONE
PLAYER TO THE JUDGEMENT
PLAYER UNVEILS HER IDENTITY
AND LEAVES THE GAME
#4 GAME CONTINUES
70. @acankr
GET
Static HTML
CSS/Media
Rich JavaScript Apps
S3 StorageCloudFront
GET
POST
PUT
DELETE
Dynamic Data
Data from Database
Data from External Service
dataAPI Gateway Lambda
ajax
http
event
USER
73. "...USE GIT AS THE BASIS FOR A LIGHTWEIGHT CMS, WITH TEXT-BASED EDITING
FORMATS. GIT HAS POWERFUL FEATURES FOR TRACKING CHANGES AND
EXPLORING ALTERNATIVES, WITH A DISTRIBUTED STORAGE MODEL THAT IS FAST
IN USE AND TOLERANT OF NETWORKING ISSUES."
ThoughtWorks Technology Radar
https://www.thoughtworks.com/radar/techniques/git-based-cms-git-for-non-code
assess since May 2015
BEST CMS
@acankr
75. CODECOMMIT
@acankr
Lambda
+
- Lambda doesn’t have GIT client.
- You can “statically link” git libraries with
git2go library (libgit2)
- To read SSH key file with Lambda it must be stored
in “/tmp” directory
- SSH private key must have 600 credentials
- SSH private key must be owned by user “sandbox”
76. @acankr
USER
GET
Static HTML
CSS/Media
Rich JavaScript Apps
S3 StorageCloudFront
GET
POST
PUT
DELETE
Dynamic Data
Data from Database
Data from External Service
dataAPI Gateway Lambda
ajax
http
event
Lambda
push
EDITOR
event
document commit
PUT
Checkout document
Render or post-process
Publish
CodeCommit