SlideShare a Scribd company logo
Building applications with
Serverless Framework
and AWS Lambda
Fredrik Vraalsen
JavaZone 2019
© Thomas Ekströmhttp://github.com/fredriv/serverless-lambda-workshop
http://github.com/fredriv/serverless-lambda-workshop
Clone Git repo and follow setup instructions in README:
Install npm, pip, Serverless Framework, Docker, awscli-local
Pre-fetch Docker images:
docker pull localstack/localstack:0.10.2
docker pull lambci/lambda:python3.7
2
Workshop agenda
Why serverless?
AWS Lambda
Serverless Framework
Configuration and
deployment
Backend API
3
Event processing
Orchestration
Performance
Packaging
Testing
http://github.com/fredriv/serverless-lambda-workshop
Who is Fredrik?
Oslo, Norway
Developer for 22+ years
Data Platform Architect at
Origo (City of Oslo)
Dad, cyclist, gamer,

sci-fi fan, photo geek
4
The Story of Tim
5
https://www.youtube.com/watch?v=xPciIWM3ztQ
6
Analytics and insights
External data sources,
e.g. land registry,
weather, census data,
etc.
Sensors
Database extracts
Open

data
Share with
businesses
New services, 

cross sector
Data catalog
Transform, clean
Simplify,
prepare,
publish
Professional
systems
Patient data,
school systems,
archives, etc
Government
registers
DATA
PLATFORM
Serverless / Lambda in our Data Platform
Microservices - REST APIs
Processing pipeline components
• Transformations
• Validation
Scheduled jobs
• Data integrations, backups, …
7http://github.com/fredriv/serverless-lambda-workshop
Why serverless?
No servers to manage
Quick deployment
Auto scaling
Pay-per-use
8http://github.com/fredriv/serverless-lambda-workshop
AWS Lambda
https://aws.amazon.com/lambda/
9http://github.com/fredriv/serverless-lambda-workshop
AWS Lambda
Function-as-a-Service (FaaS)
Serverless
Pay for compute time (+ memory)
10http://github.com/fredriv/serverless-lambda-workshop
11
Simple Notification Service (SNS)
Simple Queue Service (SQS)
Simple Storage Service (S3)
Kinesis
API Gateway Step Functions
DynamoDB
Hello World
def hello(event, context):
name = event["queryStringParameters"]["name"]
return {
"statusCode": 200,
"body": f"Hello, {name}!",
"headers": {
"Content-Type": "text/plain"
}
}
12
Lambda demo
13
Manual configuration and deployment
14© Fredrik Vraalsen
Infrastructure as Code
15http://github.com/fredriv/serverless-lambda-workshop
Infrastructure as Code Configuration
16http://github.com/fredriv/serverless-lambda-workshop
17
https://serverless.com/framework/
Serverless Framework
Configure and deploy serverless applications
Multi-cloud
18http://github.com/fredriv/serverless-lambda-workshop
Configuration and deployment
In git repo: 1_hello
19http://github.com/fredriv/serverless-lambda-workshop
Templates
sls create "--template aws-python3 "--name hello
20
https://serverless.com/framework/docs/providers/aws/cli-reference/create/
serverless.yml
service: hello
provider:
name: aws
region: eu-west-1
runtime: python3.7
functions:
hello:
handler: handler.hello
21
handler.py
def hello(event, context):
return "Hello, world!"
22
Deployment
23
Deployment
24
Deployment
25
Deployment
26
Invoking function
27
Undeploy
28
LocalStack
Run mock AWS services locally
Error injection
Run in Docker or locally
Integrations with test frameworks
29
https://localstack.cloud/
Exercise 1 - Hello!
Open directory 1_hello
Do exercises in README.md
30http://github.com/fredriv/serverless-lambda-workshop
Lambda use cases
Backend APIs
Web applications
Event processing
File processing
ETL
31http://github.com/fredriv/serverless-lambda-workshop
Lambda use cases
Backend APIs
Web applications
Event processing
File processing
ETL
32http://github.com/fredriv/serverless-lambda-workshop
Backend API
In git repo: 2_hello_http
https://serverless.com/framework/docs/providers/aws/events/apigateway/
33http://github.com/fredriv/serverless-lambda-workshop
Hello HTTP!
functions:
hello:
handler: handler.hello
events:
- http:
path: hello/{name}
method: get
34
Hello HTTP!
def hello(event, context):
name = event["pathParameters"]["name"]
35
Hello HTTP!
def hello(event, context):
name = event["pathParameters"]["name"]
response = { "message": f"Hello, {name}!" }
36
Hello HTTP!
import json
def hello(event, context):
name = event["pathParameters"]["name"]
response = { "message": f"Hello, {name}!" }
return {
"statusCode": 200,
"body": json.dumps(response)
}
37
https://docs.aws.amazon.com/apigateway/latest/developerguide/set-up-lambda-proxy-integrations.html#api-gateway-simple-proxy-for-lambda-input-format
Deploy
38
Invoking function
39
Invoking function
40
Invoking function
41https://httpie.org/
Exercise 2 - Hello HTTP!
Open directory 2_hello_http
Do exercises in README.md
42http://github.com/fredriv/serverless-lambda-workshop
Documentation
43
Documentation
Plugin: serverless-aws-documentation
Request content, parameters, responses, headers
Swagger / OpenAPI
In git repo: 3_hello_documentation
44http://github.com/fredriv/serverless-lambda-workshop
Documentation
functions:
hello:
handler: handler.hello
events:
- http:
path: hello/{name}
method: get
documentation:
description: "Generate a personalized greeting"
pathParams:
-
name: "name"
description: "Name of person to be greeted"
required: true
methodResponses:
-
statusCode: "200"
responseModels:
application/json: "HelloResponse"
45
Documentation
custom:
documentation:
models:
-
name: HelloResponse
description: "Greeting response"
contentType: "application/json"
schema: ${file(models/hello-response.yml)}
plugins:
- serverless-aws-documentation
46
Documentation
47
Triggering Lambda functions
API Gateway
Application load balancer
SNS topic
SQS queue
Kinesis
DynamoDB
S3
48
Step functions
Websocket
IoT
Alexa
CloudWatch
Cognito
Schedule
https://serverless.com/framework/docs/providers/aws/events/
Triggering Lambda functions
API Gateway
Application load balancer
SNS topic
SQS queue
Kinesis
DynamoDB
S3
49
Step functions
Websocket
IoT
Alexa
CloudWatch
Cognito
Schedule
https://serverless.com/framework/docs/providers/aws/events/
Event processing
In git repo: 4_event_processing
https://serverless.com/framework/docs/providers/aws/events/sns/
https://serverless.com/framework/docs/providers/aws/events/sqs/
https://serverless.com/framework/docs/providers/aws/events/streams/
50http://github.com/fredriv/serverless-lambda-workshop
serverless.yml
functions:
handle_event:
handler: handler.handle_event
events:
- sns: my-events
51
handler.py
def handle_event(event, context):
for record in event["Records"]:
msg = record["Sns"]["Message"]
print(f"Got event: {msg}")
52
https://docs.aws.amazon.com/lambda/latest/dg/with-sns.html
Publish event
53
Publish event
54
Exercise 4 - Event processing
Open directory 4_event_processing
Do exercises in README.md
55http://github.com/fredriv/serverless-lambda-workshop
Orchestration
56
© Fredrik Vraalsen
Orchestration
In git repo: 5_orchestration
https://serverless.com/plugins/serverless-step-functions/
57http://github.com/fredriv/serverless-lambda-workshop
serverless.yml
functions:
validateTemperature:
handler: handler.validate_temperature
enrichLocation:
handler: handler.enrich_location
stepFunctions:
stateMachines:
ProcessTemperatures:
name: ProcessTemperatures
events:
- http:
path: temperatures
method: post
58
serverless.yml
definition:
StartAt: ValidateTemperature
States:
ValidateTemperature:
Type: Task
Resource:
Fn"::GetAtt: [ValidateTemperatureLambdaFunction, Arn]
Next: EnrichLocation
EnrichLocation:
Type: Task
Resource:
Fn"::GetAtt: [EnrichLocationLambdaFunction, Arn]
End: True
59
handler.py
def validate_temperature(event, context):
temperature = int(event["temperature"])
if temperature < -20:
raise ValueError("Too cold!")
if temperature > 30:
raise ValueError("Too warm!")
return event
def enrich_location(event, context):
event["location"] = "Berlin"
return event
60
Running
61
62
63
64
Exercise 5 - Orchestration
Open directory 5_orchestration
Do exercises in README.md
65http://github.com/fredriv/serverless-lambda-workshop
Performance
66© Fredrik Vraalsen
Cold start
67© Fredrik Vraalsen
Lambda lifecycle
68
https://blog.travelex.io/from-containers-to-aws-lambda-23f712f9e925
Lambda lifecycle
1 container = 1 execution
Spin up more on demand
Reuse: Freeze & Thaw
VPCs require ENIs ==> Slow cold start
69
Packaging
Deploy zip file
Bundle dependencies
Layers
Linux!
70
https://serverless.com/plugins/serverless-python-requirements/
Testing
separate business logic ==> unit tests, mocking
Python: moto library
sls invoke local -f function-name
kinesalite, dynalite, local dynamodb (docker)
LocalStack
71
https://serverless.com/framework/docs/providers/aws/guide/testing/
Putting it all together
72http://github.com/fredriv/serverless-lambda-workshop
Exercise 6 - All Together Now
Open directory 6_all_together
Do exercises in README.md
73http://github.com/fredriv/serverless-lambda-workshop
Wrap up
AWS Lambda
• FaaS, simple, pay-as-you-go, scalable
Serverless Framework
• Configuration, deployment, testing, plugins
• Easy = simpler, Hard = ?
• Continuously developed
74
More things
Infrastructure
Access control (IAM)
API Gateway integrations
• Lambda Proxy vs Lambda integration
Validation
Versioning
75
Questions? Feedback?
fredrik@vraalsen.no
@fredriv
76
Thanks for listening!
fredrik@vraalsen.no
@fredriv
77
Ad

Recommended

Building applications with Serverless Framework and AWS Lambda
Building applications with Serverless Framework and AWS Lambda
Fredrik Vraalsen
 
Taking Docker to Dance: Continuous Delivery on AWS
Taking Docker to Dance: Continuous Delivery on AWS
Jessie Yi Wei
 
KubeCon EU 2016: Templatized Application Configuration on OpenShift and Kuber...
KubeCon EU 2016: Templatized Application Configuration on OpenShift and Kuber...
KubeAcademy
 
Sheep it
Sheep it
lxfontes
 
Building Docker Containers @ Scale
Building Docker Containers @ Scale
lxfontes
 
Writing New Relic Plugins: NSQ
Writing New Relic Plugins: NSQ
lxfontes
 
TIAD 2016 : Migrating 100% of your production services to containers
TIAD 2016 : Migrating 100% of your production services to containers
The Incredible Automation Day
 
Container Days Boston - Kubernetes in production
Container Days Boston - Kubernetes in production
Mike Splain
 
KubeCon EU 2016: Kubernetes and the Potential for Higher Level Interfaces
KubeCon EU 2016: Kubernetes and the Potential for Higher Level Interfaces
KubeAcademy
 
RESTful OSGi middleware for NoSQL databases with Docker
RESTful OSGi middleware for NoSQL databases with Docker
Bertrand Delacretaz
 
Docker for PHP Developers - ZendCon 2016
Docker for PHP Developers - ZendCon 2016
Chris Tankersley
 
Kubernetes best practices
Kubernetes best practices
Bill Liu
 
Extend and build on Kubernetes
Extend and build on Kubernetes
Stefan Schimanski
 
K8s best practices from the field!
K8s best practices from the field!
DoiT International
 
Real-Time Data Processing Pipeline & Visualization with Docker, Spark, Kafka ...
Real-Time Data Processing Pipeline & Visualization with Docker, Spark, Kafka ...
Roberto Hashioka
 
KubeCon Europe 2017: Running Workloads in Kubernetes
KubeCon Europe 2017: Running Workloads in Kubernetes
Janet Kuo
 
Docker Basics & Alfresco Content Services
Docker Basics & Alfresco Content Services
Sujay Pillai
 
CI Implementation with Kubernetes at LivePerson by Saar Demri
CI Implementation with Kubernetes at LivePerson by Saar Demri
DoiT International
 
Running Production-Grade Kubernetes on AWS
Running Production-Grade Kubernetes on AWS
DoiT International
 
Red hat ansible automation technical deck
Red hat ansible automation technical deck
Juraj Hantak
 
Terraform 101: What's infrastructure as code?
Terraform 101: What's infrastructure as code?
GDX Wu
 
Kubernetes Architecture - beyond a black box - Part 2
Kubernetes Architecture - beyond a black box - Part 2
Hao H. Zhang
 
DockerCon EU 2015: The Glue is the Hard Part: Making a Production-Ready PaaS
DockerCon EU 2015: The Glue is the Hard Part: Making a Production-Ready PaaS
Docker, Inc.
 
"Wix Serverless from inside", Mykola Borozdin
"Wix Serverless from inside", Mykola Borozdin
Fwdays
 
DCEU 18: Tips and Tricks of the Docker Captains
DCEU 18: Tips and Tricks of the Docker Captains
Docker, Inc.
 
OpenShift, Docker, Kubernetes: The next generation of PaaS
OpenShift, Docker, Kubernetes: The next generation of PaaS
Graham Dumpleton
 
Kubernetes for the PHP developer
Kubernetes for the PHP developer
Paul Czarkowski
 
Deep dive in container service discovery
Deep dive in container service discovery
Docker, Inc.
 
Serverless Frameworks on AWS
Serverless Frameworks on AWS
Julien SIMON
 
Building serverless apps with Node.js
Building serverless apps with Node.js
Julien SIMON
 

More Related Content

What's hot (20)

KubeCon EU 2016: Kubernetes and the Potential for Higher Level Interfaces
KubeCon EU 2016: Kubernetes and the Potential for Higher Level Interfaces
KubeAcademy
 
RESTful OSGi middleware for NoSQL databases with Docker
RESTful OSGi middleware for NoSQL databases with Docker
Bertrand Delacretaz
 
Docker for PHP Developers - ZendCon 2016
Docker for PHP Developers - ZendCon 2016
Chris Tankersley
 
Kubernetes best practices
Kubernetes best practices
Bill Liu
 
Extend and build on Kubernetes
Extend and build on Kubernetes
Stefan Schimanski
 
K8s best practices from the field!
K8s best practices from the field!
DoiT International
 
Real-Time Data Processing Pipeline & Visualization with Docker, Spark, Kafka ...
Real-Time Data Processing Pipeline & Visualization with Docker, Spark, Kafka ...
Roberto Hashioka
 
KubeCon Europe 2017: Running Workloads in Kubernetes
KubeCon Europe 2017: Running Workloads in Kubernetes
Janet Kuo
 
Docker Basics & Alfresco Content Services
Docker Basics & Alfresco Content Services
Sujay Pillai
 
CI Implementation with Kubernetes at LivePerson by Saar Demri
CI Implementation with Kubernetes at LivePerson by Saar Demri
DoiT International
 
Running Production-Grade Kubernetes on AWS
Running Production-Grade Kubernetes on AWS
DoiT International
 
Red hat ansible automation technical deck
Red hat ansible automation technical deck
Juraj Hantak
 
Terraform 101: What's infrastructure as code?
Terraform 101: What's infrastructure as code?
GDX Wu
 
Kubernetes Architecture - beyond a black box - Part 2
Kubernetes Architecture - beyond a black box - Part 2
Hao H. Zhang
 
DockerCon EU 2015: The Glue is the Hard Part: Making a Production-Ready PaaS
DockerCon EU 2015: The Glue is the Hard Part: Making a Production-Ready PaaS
Docker, Inc.
 
"Wix Serverless from inside", Mykola Borozdin
"Wix Serverless from inside", Mykola Borozdin
Fwdays
 
DCEU 18: Tips and Tricks of the Docker Captains
DCEU 18: Tips and Tricks of the Docker Captains
Docker, Inc.
 
OpenShift, Docker, Kubernetes: The next generation of PaaS
OpenShift, Docker, Kubernetes: The next generation of PaaS
Graham Dumpleton
 
Kubernetes for the PHP developer
Kubernetes for the PHP developer
Paul Czarkowski
 
Deep dive in container service discovery
Deep dive in container service discovery
Docker, Inc.
 
KubeCon EU 2016: Kubernetes and the Potential for Higher Level Interfaces
KubeCon EU 2016: Kubernetes and the Potential for Higher Level Interfaces
KubeAcademy
 
RESTful OSGi middleware for NoSQL databases with Docker
RESTful OSGi middleware for NoSQL databases with Docker
Bertrand Delacretaz
 
Docker for PHP Developers - ZendCon 2016
Docker for PHP Developers - ZendCon 2016
Chris Tankersley
 
Kubernetes best practices
Kubernetes best practices
Bill Liu
 
Extend and build on Kubernetes
Extend and build on Kubernetes
Stefan Schimanski
 
K8s best practices from the field!
K8s best practices from the field!
DoiT International
 
Real-Time Data Processing Pipeline & Visualization with Docker, Spark, Kafka ...
Real-Time Data Processing Pipeline & Visualization with Docker, Spark, Kafka ...
Roberto Hashioka
 
KubeCon Europe 2017: Running Workloads in Kubernetes
KubeCon Europe 2017: Running Workloads in Kubernetes
Janet Kuo
 
Docker Basics & Alfresco Content Services
Docker Basics & Alfresco Content Services
Sujay Pillai
 
CI Implementation with Kubernetes at LivePerson by Saar Demri
CI Implementation with Kubernetes at LivePerson by Saar Demri
DoiT International
 
Running Production-Grade Kubernetes on AWS
Running Production-Grade Kubernetes on AWS
DoiT International
 
Red hat ansible automation technical deck
Red hat ansible automation technical deck
Juraj Hantak
 
Terraform 101: What's infrastructure as code?
Terraform 101: What's infrastructure as code?
GDX Wu
 
Kubernetes Architecture - beyond a black box - Part 2
Kubernetes Architecture - beyond a black box - Part 2
Hao H. Zhang
 
DockerCon EU 2015: The Glue is the Hard Part: Making a Production-Ready PaaS
DockerCon EU 2015: The Glue is the Hard Part: Making a Production-Ready PaaS
Docker, Inc.
 
"Wix Serverless from inside", Mykola Borozdin
"Wix Serverless from inside", Mykola Borozdin
Fwdays
 
DCEU 18: Tips and Tricks of the Docker Captains
DCEU 18: Tips and Tricks of the Docker Captains
Docker, Inc.
 
OpenShift, Docker, Kubernetes: The next generation of PaaS
OpenShift, Docker, Kubernetes: The next generation of PaaS
Graham Dumpleton
 
Kubernetes for the PHP developer
Kubernetes for the PHP developer
Paul Czarkowski
 
Deep dive in container service discovery
Deep dive in container service discovery
Docker, Inc.
 

Similar to Building applications with Serverless Framework and AWS Lambda - JavaZone 2019 (20)

Serverless Frameworks on AWS
Serverless Frameworks on AWS
Julien SIMON
 
Building serverless apps with Node.js
Building serverless apps with Node.js
Julien SIMON
 
Developing and deploying serverless applications (February 2017)
Developing and deploying serverless applications (February 2017)
Julien SIMON
 
Building Serverless APIs (January 2017)
Building Serverless APIs (January 2017)
Julien SIMON
 
An introduction to serverless architectures (February 2017)
An introduction to serverless architectures (February 2017)
Julien SIMON
 
Čtvrtkon #64 - AWS Serverless - Michal Haták
Čtvrtkon #64 - AWS Serverless - Michal Haták
Ctvrtkoncz
 
Serverless Architecture - A Gentle Overview
Serverless Architecture - A Gentle Overview
CodeOps Technologies LLP
 
Building Serverless APIs on AWS
Building Serverless APIs on AWS
Julien SIMON
 
Building a Serverless company with Node.js, React and the Serverless Framewor...
Building a Serverless company with Node.js, React and the Serverless Framewor...
Luciano Mammino
 
Serverless Framework Workshop - Tyler Hendrickson, Chicago/burbs
Serverless Framework Workshop - Tyler Hendrickson, Chicago/burbs
AWS Chicago
 
Building a serverless company on AWS lambda and Serverless framework
Building a serverless company on AWS lambda and Serverless framework
Luciano Mammino
 
Run Code, Not Servers: AWS Lambda
Run Code, Not Servers: AWS Lambda
Özgür Çiçek
 
用Serverless技術快速開發line聊天機器人
用Serverless技術快速開發line聊天機器人
Kevin Luo
 
Serverless architectures-with-aws-lambda
Serverless architectures-with-aws-lambda
saifam
 
AWS Lambda and Serverless framework: lessons learned while building a serverl...
AWS Lambda and Serverless framework: lessons learned while building a serverl...
Luciano Mammino
 
AWSomeDay Zurich 2018 - How to go serverless
AWSomeDay Zurich 2018 - How to go serverless
Roman Plessl
 
AWS Serverless Workshop
AWS Serverless Workshop
Mikael Puittinen
 
Building serverless app_using_aws_lambda_b4usolution
Building serverless app_using_aws_lambda_b4usolution
Hoa Le
 
Microservices with AWS Lambda and the Serverless Framework
Microservices with AWS Lambda and the Serverless Framework
Rowell Belen
 
Building serverless applications (April 2018)
Building serverless applications (April 2018)
Julien SIMON
 
Serverless Frameworks on AWS
Serverless Frameworks on AWS
Julien SIMON
 
Building serverless apps with Node.js
Building serverless apps with Node.js
Julien SIMON
 
Developing and deploying serverless applications (February 2017)
Developing and deploying serverless applications (February 2017)
Julien SIMON
 
Building Serverless APIs (January 2017)
Building Serverless APIs (January 2017)
Julien SIMON
 
An introduction to serverless architectures (February 2017)
An introduction to serverless architectures (February 2017)
Julien SIMON
 
Čtvrtkon #64 - AWS Serverless - Michal Haták
Čtvrtkon #64 - AWS Serverless - Michal Haták
Ctvrtkoncz
 
Serverless Architecture - A Gentle Overview
Serverless Architecture - A Gentle Overview
CodeOps Technologies LLP
 
Building Serverless APIs on AWS
Building Serverless APIs on AWS
Julien SIMON
 
Building a Serverless company with Node.js, React and the Serverless Framewor...
Building a Serverless company with Node.js, React and the Serverless Framewor...
Luciano Mammino
 
Serverless Framework Workshop - Tyler Hendrickson, Chicago/burbs
Serverless Framework Workshop - Tyler Hendrickson, Chicago/burbs
AWS Chicago
 
Building a serverless company on AWS lambda and Serverless framework
Building a serverless company on AWS lambda and Serverless framework
Luciano Mammino
 
Run Code, Not Servers: AWS Lambda
Run Code, Not Servers: AWS Lambda
Özgür Çiçek
 
用Serverless技術快速開發line聊天機器人
用Serverless技術快速開發line聊天機器人
Kevin Luo
 
Serverless architectures-with-aws-lambda
Serverless architectures-with-aws-lambda
saifam
 
AWS Lambda and Serverless framework: lessons learned while building a serverl...
AWS Lambda and Serverless framework: lessons learned while building a serverl...
Luciano Mammino
 
AWSomeDay Zurich 2018 - How to go serverless
AWSomeDay Zurich 2018 - How to go serverless
Roman Plessl
 
Building serverless app_using_aws_lambda_b4usolution
Building serverless app_using_aws_lambda_b4usolution
Hoa Le
 
Microservices with AWS Lambda and the Serverless Framework
Microservices with AWS Lambda and the Serverless Framework
Rowell Belen
 
Building serverless applications (April 2018)
Building serverless applications (April 2018)
Julien SIMON
 
Ad

More from Fredrik Vraalsen (9)

Kafka and Kafka Streams in the Global Schibsted Data Platform
Kafka and Kafka Streams in the Global Schibsted Data Platform
Fredrik Vraalsen
 
Scala intro workshop
Scala intro workshop
Fredrik Vraalsen
 
Event stream processing using Kafka streams
Event stream processing using Kafka streams
Fredrik Vraalsen
 
Hjelp, vi skal kode funksjonelt i Java!
Hjelp, vi skal kode funksjonelt i Java!
Fredrik Vraalsen
 
Java 8 DOs and DON'Ts - javaBin Oslo May 2015
Java 8 DOs and DON'Ts - javaBin Oslo May 2015
Fredrik Vraalsen
 
Functional programming in Java 8 - workshop at flatMap Oslo 2014
Functional programming in Java 8 - workshop at flatMap Oslo 2014
Fredrik Vraalsen
 
Java 8 - Return of the Java
Java 8 - Return of the Java
Fredrik Vraalsen
 
Java 8 to the rescue!?
Java 8 to the rescue!?
Fredrik Vraalsen
 
Git i praksis - erfaringer med overgang fra ClearCase til Git
Git i praksis - erfaringer med overgang fra ClearCase til Git
Fredrik Vraalsen
 
Kafka and Kafka Streams in the Global Schibsted Data Platform
Kafka and Kafka Streams in the Global Schibsted Data Platform
Fredrik Vraalsen
 
Event stream processing using Kafka streams
Event stream processing using Kafka streams
Fredrik Vraalsen
 
Hjelp, vi skal kode funksjonelt i Java!
Hjelp, vi skal kode funksjonelt i Java!
Fredrik Vraalsen
 
Java 8 DOs and DON'Ts - javaBin Oslo May 2015
Java 8 DOs and DON'Ts - javaBin Oslo May 2015
Fredrik Vraalsen
 
Functional programming in Java 8 - workshop at flatMap Oslo 2014
Functional programming in Java 8 - workshop at flatMap Oslo 2014
Fredrik Vraalsen
 
Java 8 - Return of the Java
Java 8 - Return of the Java
Fredrik Vraalsen
 
Git i praksis - erfaringer med overgang fra ClearCase til Git
Git i praksis - erfaringer med overgang fra ClearCase til Git
Fredrik Vraalsen
 
Ad

Recently uploaded (20)

Best MLM Compensation Plans for Network Marketing Success in 2025
Best MLM Compensation Plans for Network Marketing Success in 2025
LETSCMS Pvt. Ltd.
 
Digital Transformation: Automating the Placement of Medical Interns
Digital Transformation: Automating the Placement of Medical Interns
Safe Software
 
On-Device AI: Is It Time to Go All-In, or Do We Still Need the Cloud?
On-Device AI: Is It Time to Go All-In, or Do We Still Need the Cloud?
Hassan Abid
 
MOVIE RECOMMENDATION SYSTEM, UDUMULA GOPI REDDY, Y24MC13085.pptx
MOVIE RECOMMENDATION SYSTEM, UDUMULA GOPI REDDY, Y24MC13085.pptx
Maharshi Mallela
 
OpenChain Webinar - AboutCode - Practical Compliance in One Stack – Licensing...
OpenChain Webinar - AboutCode - Practical Compliance in One Stack – Licensing...
Shane Coughlan
 
Modern Platform Engineering with Choreo - The AI-Native Internal Developer Pl...
Modern Platform Engineering with Choreo - The AI-Native Internal Developer Pl...
WSO2
 
Enable Your Cloud Journey With Microsoft Trusted Partner | IFI Tech
Enable Your Cloud Journey With Microsoft Trusted Partner | IFI Tech
IFI Techsolutions
 
Why Every Growing Business Needs a Staff Augmentation Company IN USA.pdf
Why Every Growing Business Needs a Staff Augmentation Company IN USA.pdf
mary rojas
 
Building Geospatial Data Warehouse for GIS by GIS with FME
Building Geospatial Data Warehouse for GIS by GIS with FME
Safe Software
 
Azure AI Foundry: The AI app and agent factory
Azure AI Foundry: The AI app and agent factory
Maxim Salnikov
 
Emvigo Capability Deck 2025: Accelerating Innovation Through Intelligent Soft...
Emvigo Capability Deck 2025: Accelerating Innovation Through Intelligent Soft...
Emvigo Technologies
 
Canva Pro Crack Free Download 2025-FREE LATEST
Canva Pro Crack Free Download 2025-FREE LATEST
grete1122g
 
Key Challenges in Troubleshooting Customer On-Premise Applications
Key Challenges in Troubleshooting Customer On-Premise Applications
Tier1 app
 
Foundations of Marketo Engage - Programs, Campaigns & Beyond - June 2025
Foundations of Marketo Engage - Programs, Campaigns & Beyond - June 2025
BradBedford3
 
ElectraSuite_Prsentation(online voting system).pptx
ElectraSuite_Prsentation(online voting system).pptx
mrsinankhan01
 
Complete WordPress Programming Guidance Book
Complete WordPress Programming Guidance Book
Shabista Imam
 
Microsoft-365-Administrator-s-Guide1.pdf
Microsoft-365-Administrator-s-Guide1.pdf
mazharatknl
 
Decipher SEO Solutions for your startup needs.
Decipher SEO Solutions for your startup needs.
mathai2
 
SAP PM Module Level-IV Training Complete.ppt
SAP PM Module Level-IV Training Complete.ppt
MuhammadShaheryar36
 
Simplify Task, Team, and Project Management with Orangescrum Work
Simplify Task, Team, and Project Management with Orangescrum Work
Orangescrum
 
Best MLM Compensation Plans for Network Marketing Success in 2025
Best MLM Compensation Plans for Network Marketing Success in 2025
LETSCMS Pvt. Ltd.
 
Digital Transformation: Automating the Placement of Medical Interns
Digital Transformation: Automating the Placement of Medical Interns
Safe Software
 
On-Device AI: Is It Time to Go All-In, or Do We Still Need the Cloud?
On-Device AI: Is It Time to Go All-In, or Do We Still Need the Cloud?
Hassan Abid
 
MOVIE RECOMMENDATION SYSTEM, UDUMULA GOPI REDDY, Y24MC13085.pptx
MOVIE RECOMMENDATION SYSTEM, UDUMULA GOPI REDDY, Y24MC13085.pptx
Maharshi Mallela
 
OpenChain Webinar - AboutCode - Practical Compliance in One Stack – Licensing...
OpenChain Webinar - AboutCode - Practical Compliance in One Stack – Licensing...
Shane Coughlan
 
Modern Platform Engineering with Choreo - The AI-Native Internal Developer Pl...
Modern Platform Engineering with Choreo - The AI-Native Internal Developer Pl...
WSO2
 
Enable Your Cloud Journey With Microsoft Trusted Partner | IFI Tech
Enable Your Cloud Journey With Microsoft Trusted Partner | IFI Tech
IFI Techsolutions
 
Why Every Growing Business Needs a Staff Augmentation Company IN USA.pdf
Why Every Growing Business Needs a Staff Augmentation Company IN USA.pdf
mary rojas
 
Building Geospatial Data Warehouse for GIS by GIS with FME
Building Geospatial Data Warehouse for GIS by GIS with FME
Safe Software
 
Azure AI Foundry: The AI app and agent factory
Azure AI Foundry: The AI app and agent factory
Maxim Salnikov
 
Emvigo Capability Deck 2025: Accelerating Innovation Through Intelligent Soft...
Emvigo Capability Deck 2025: Accelerating Innovation Through Intelligent Soft...
Emvigo Technologies
 
Canva Pro Crack Free Download 2025-FREE LATEST
Canva Pro Crack Free Download 2025-FREE LATEST
grete1122g
 
Key Challenges in Troubleshooting Customer On-Premise Applications
Key Challenges in Troubleshooting Customer On-Premise Applications
Tier1 app
 
Foundations of Marketo Engage - Programs, Campaigns & Beyond - June 2025
Foundations of Marketo Engage - Programs, Campaigns & Beyond - June 2025
BradBedford3
 
ElectraSuite_Prsentation(online voting system).pptx
ElectraSuite_Prsentation(online voting system).pptx
mrsinankhan01
 
Complete WordPress Programming Guidance Book
Complete WordPress Programming Guidance Book
Shabista Imam
 
Microsoft-365-Administrator-s-Guide1.pdf
Microsoft-365-Administrator-s-Guide1.pdf
mazharatknl
 
Decipher SEO Solutions for your startup needs.
Decipher SEO Solutions for your startup needs.
mathai2
 
SAP PM Module Level-IV Training Complete.ppt
SAP PM Module Level-IV Training Complete.ppt
MuhammadShaheryar36
 
Simplify Task, Team, and Project Management with Orangescrum Work
Simplify Task, Team, and Project Management with Orangescrum Work
Orangescrum
 

Building applications with Serverless Framework and AWS Lambda - JavaZone 2019