Sogeti
Guru
Night
Erwin de Gier
Sogeti Java CoE
Amsterdam, Oktober Februari 2015
Changes in
Software
Development
3
Demands
• Mobile devices
• Multicore
• Cloud computing
• Interactive & real-time
• Responsive
• Collaborative
• Frequent changes
• Data increase
4
Trends
Microservices Event Driven Scalable
5
The Java application server
Application Server
App1 App2
App3 App4
6
The Java application server
Application Server
App1 App2
App3 App4
Application Server
App1 App2
App3 App4
7
The Java application server
Application Server
App1
Application Server
App1
8
The Cloud
9
Containers
10
Container deployment
Deploy
1.0 1.1
11
Microservices
• Independent lightweight processes
• Platform agnostic
• (Immutable) containers
• Standardized DevOps tooling
• Technology diversity
12
Event Driven Architecture
Shopping Cart
Created
Product1
Added
Product2
Added
Address
Added
13
Event Driven Architecture
• Producers
• Consumers
• Functions react to events
• Events are state changes
• Asynchronous
• Loose coupling
• Responsiveness
14
Connection scaling
15
Connection scaling
• “Classic” model of scaling threads per
connection is limited
• CPU and memory bound
• c10k problem
• non blocking event loop
16
Blocking vs non-blocking
Client Server
One thread per
connection (1 client)
Client Server
One thread per event-
loop (multiple clients)
Request
Response
Request
Request
Request
Callback
Callback
Callback
17
Reactive manifesto
• react to events (message driven)
• react to load (scalable)
• react to failure (resilient)
• react to users (responsive)
18
Need for a new solution
• Deployment of light-weight processes
• Asynchronous stack
• Reactive programming
• Polyglot
• Distributed
• Event driven
19
Sogeti Guru Night 2015: Changes in-software-development

Sogeti Guru Night 2015: Changes in-software-development