Serverless - callistaenterprise.se · Amazon AWS Lambda FaaS Providers. 3 SERVERS INNEBÄR...
Transcript of Serverless - callistaenterprise.se · Amazon AWS Lambda FaaS Providers. 3 SERVERS INNEBÄR...
![Page 1: Serverless - callistaenterprise.se · Amazon AWS Lambda FaaS Providers. 3 SERVERS INNEBÄR Administration nätinfrastruktur, orkestrering, autoskalning Kostnader varje miljö kräver](https://reader030.fdocuments.us/reader030/viewer/2022041300/5e0fd2df4c63e641ad70a5ec/html5/thumbnails/1.jpg)
1
SERVERLESS
ARCHITECTURE är det nya svarta
CADEC 2017 Peter Larsson
![Page 2: Serverless - callistaenterprise.se · Amazon AWS Lambda FaaS Providers. 3 SERVERS INNEBÄR Administration nätinfrastruktur, orkestrering, autoskalning Kostnader varje miljö kräver](https://reader030.fdocuments.us/reader030/viewer/2022041300/5e0fd2df4c63e641ad70a5ec/html5/thumbnails/2.jpg)
2
SERVERLESS ARCHITECTURE
“...lets you run code without provisioning or managingservers.”
“...you pay only for the compute time you consume thereis no charge when your code is not running.”
“...you can run code for virtually any type of application orbackend service all with zero administration.”
Amazon AWS Lambda
FaaS Providers
![Page 3: Serverless - callistaenterprise.se · Amazon AWS Lambda FaaS Providers. 3 SERVERS INNEBÄR Administration nätinfrastruktur, orkestrering, autoskalning Kostnader varje miljö kräver](https://reader030.fdocuments.us/reader030/viewer/2022041300/5e0fd2df4c63e641ad70a5ec/html5/thumbnails/3.jpg)
3
SERVERS INNEBÄR
Administration nätinfrastruktur, orkestrering,autoskalning
Kostnader varje miljö kräver ett minimum av aktivaservers
Underhåll servers måste hållas uptodate
Sämre utnyttjandegrad för grovkornigt för microservices
![Page 4: Serverless - callistaenterprise.se · Amazon AWS Lambda FaaS Providers. 3 SERVERS INNEBÄR Administration nätinfrastruktur, orkestrering, autoskalning Kostnader varje miljö kräver](https://reader030.fdocuments.us/reader030/viewer/2022041300/5e0fd2df4c63e641ad70a5ec/html5/thumbnails/4.jpg)
4
KOSTNADSJÄMFÖRELSE
1 000 000 transaktioner per dag @ 100 ms/trans.
2x EC2 (m4.large) $ 5.8
Lambda (128 MB) $ 0.4
Servers kostar 10100 ggr mer!!!
![Page 5: Serverless - callistaenterprise.se · Amazon AWS Lambda FaaS Providers. 3 SERVERS INNEBÄR Administration nätinfrastruktur, orkestrering, autoskalning Kostnader varje miljö kräver](https://reader030.fdocuments.us/reader030/viewer/2022041300/5e0fd2df4c63e641ad70a5ec/html5/thumbnails/5.jpg)
5
ARKITEKTUR - EXEMPEL
Skapa tumnagel av bild
Serverless är typiskt eventdrivet för Mobil, Webb och IoTbackendtjänster.
Bearbeta en dataström
AWS tillhandahåller 78 fördefinierade blueprints
![Page 6: Serverless - callistaenterprise.se · Amazon AWS Lambda FaaS Providers. 3 SERVERS INNEBÄR Administration nätinfrastruktur, orkestrering, autoskalning Kostnader varje miljö kräver](https://reader030.fdocuments.us/reader030/viewer/2022041300/5e0fd2df4c63e641ad70a5ec/html5/thumbnails/6.jpg)
6 . 1
DEMO - IOT BUTTON
![Page 7: Serverless - callistaenterprise.se · Amazon AWS Lambda FaaS Providers. 3 SERVERS INNEBÄR Administration nätinfrastruktur, orkestrering, autoskalning Kostnader varje miljö kräver](https://reader030.fdocuments.us/reader030/viewer/2022041300/5e0fd2df4c63e641ad70a5ec/html5/thumbnails/7.jpg)
6 . 2
PYTHON LAMBDA CODE (MQTT)import boto3, json, socket, datetime
client = boto3.client('iot-data', region_name='eu-west-1')
def ip(): return [l for l in ([ip for ip in socket.gethostbyname_ex(socket.gethostname())[
def lambda_handler(event, context): print event xevent = { 'title': 'Demo event assembled by lambda python function', 'timestamp': datetime.datetime.utcnow().isoformat() + 'Z', 'ipAddress': ip(), 'serialNumber': event['serialNumber'], 'batteryVoltage': event['batteryVoltage'], 'clickType': event['clickType'] } response = client.publish( topic='iotprocessed', qos=1, payload=json.dumps(xevent) ) return xevent
![Page 8: Serverless - callistaenterprise.se · Amazon AWS Lambda FaaS Providers. 3 SERVERS INNEBÄR Administration nätinfrastruktur, orkestrering, autoskalning Kostnader varje miljö kräver](https://reader030.fdocuments.us/reader030/viewer/2022041300/5e0fd2df4c63e641ad70a5ec/html5/thumbnails/8.jpg)
6 . 3
CLIENT - PAHO MQTT/WEBSOCKET// html page callback, fragments...
IoTEventListener.initialize(function(event) {
console.log("clicked: " + event.clickType);
switch (event.clickType) {
...
}
});
// client code, fragments...
IoTEventListener.initialize = function(cb) {
var client = new Paho.MQTT.Client(requestUrl, clientId);
client.onMessageArrived = function(message) {
console.log("msg arrived: " + message.payloadString);
var event = JSON.parse(message.payloadString);
cb(event)
};
...
client.subscribe("iotprocessed");
![Page 9: Serverless - callistaenterprise.se · Amazon AWS Lambda FaaS Providers. 3 SERVERS INNEBÄR Administration nätinfrastruktur, orkestrering, autoskalning Kostnader varje miljö kräver](https://reader030.fdocuments.us/reader030/viewer/2022041300/5e0fd2df4c63e641ad70a5ec/html5/thumbnails/9.jpg)
7
FÖRDELAR, APP. ARKITEKTUR
Stort utbud av färdiga designmönster och integrationerFaaS är en microservice plattform...och som arkitekt/utvecklare slipper man hantera:CPU, cores, trådarPolicies och rollerElastisk autoskalning och lastbalanseringUppgraderingar, discovery och konfigurationDistribuerad loggning, spårning och instrumenteringSäkerhetsaspekter som DDoS etcUpprätthålla produktionslika test och stagemiljöer
Fokus på applikation istället för plattform!
![Page 10: Serverless - callistaenterprise.se · Amazon AWS Lambda FaaS Providers. 3 SERVERS INNEBÄR Administration nätinfrastruktur, orkestrering, autoskalning Kostnader varje miljö kräver](https://reader030.fdocuments.us/reader030/viewer/2022041300/5e0fd2df4c63e641ad70a5ec/html5/thumbnails/10.jpg)
8
MEN...AVVAKTA MED "ALL-IN"Komplex kompetensutmanande arkitekturRisk för så kallade "nanotjänster"
A nanoservice is a service whose overhead (communications, maintenance, and soon) outweighs its utility
Saknas fortfarande beprövade metoder och verktyg för atthantera en grupp av funktioner (applikation/tjänst)Inlåsningseffekter på grund av beroenden till såvälplattformsspecifika SDK som stödtjänsterFler säkerhetsfrågor som måste besvaras/hanterasDetaljer (the devil is in the detail)
Max samtidiga exekveringar är per konto och inte miljöMax exekveringstid (5 min)Latens (startup, dataåtkomst)Testbarhet, troligtvis molnet som gäller (utmaningar vad gäller mocktjänster)Konfiguration för olika miljöerDatabashantering etc...
![Page 11: Serverless - callistaenterprise.se · Amazon AWS Lambda FaaS Providers. 3 SERVERS INNEBÄR Administration nätinfrastruktur, orkestrering, autoskalning Kostnader varje miljö kräver](https://reader030.fdocuments.us/reader030/viewer/2022041300/5e0fd2df4c63e641ad70a5ec/html5/thumbnails/11.jpg)
9 . 1
PRAKTISKA ERFARENHETER - AWS LAMBDA/IOTAnvänd Serverless Framework
Förenklar applikationsprovisioneringStöd för Amazon, OpenWhisk, Google och Azure
Hitta rätt granularitet på funktioner och moduler(applikationsstackar)
Generellt vore det önskvärt med mindre enheter
Var beredd på att experimentera vad gäller datamanagement
RDBMS innebär prestandautmaningar och kräver extra nätadministration (VPC)AWS Kinesis medför 100600ms latens per meddelande men är billigare än MQTTtopics
Serverless Framework, AWS Lambda, API Gateway,Javascript och Node.js fungerar alldeles utmärkt
![Page 12: Serverless - callistaenterprise.se · Amazon AWS Lambda FaaS Providers. 3 SERVERS INNEBÄR Administration nätinfrastruktur, orkestrering, autoskalning Kostnader varje miljö kräver](https://reader030.fdocuments.us/reader030/viewer/2022041300/5e0fd2df4c63e641ad70a5ec/html5/thumbnails/12.jpg)
9 . 2
DEMO - SERVERLESS DEPLOY (HTTP API)# serverless.ymlservice: aws-python-simple-http-endpoint
frameworkVersion: ">=1.2.0 <2.0.0"
provider: name: aws runtime: python2.7 region: eu-west-1
functions: currentTime: handler: handler.endpoint events: - http: path: ping method: get
Serverless Framework
![Page 13: Serverless - callistaenterprise.se · Amazon AWS Lambda FaaS Providers. 3 SERVERS INNEBÄR Administration nätinfrastruktur, orkestrering, autoskalning Kostnader varje miljö kräver](https://reader030.fdocuments.us/reader030/viewer/2022041300/5e0fd2df4c63e641ad70a5ec/html5/thumbnails/13.jpg)
10
THE END!
![Page 14: Serverless - callistaenterprise.se · Amazon AWS Lambda FaaS Providers. 3 SERVERS INNEBÄR Administration nätinfrastruktur, orkestrering, autoskalning Kostnader varje miljö kräver](https://reader030.fdocuments.us/reader030/viewer/2022041300/5e0fd2df4c63e641ad70a5ec/html5/thumbnails/14.jpg)
11
LÄNKAR
AWS Lambda, IoT, SNS, APIGW, S3( )https://aws.amazon.com
Azure ( )https://azure.microsoft.com/services/functions
Google ( )https://cloud.google.com/functions
IBM ( )https://developer.ibm.com/openwhisk
Iron ( )https://www.iron.io
Webtask ( )https://webtask.io
MQTT ( )http://mqtt.org
Serverless Framework ( )https://serverless.com