Top Banner
Building Modular Java Applications in the Cloud Age vJUG, March 2015
17

VJUG - Building Modular Java Applications in the Cloud Age

Jul 20, 2015

Download

Software

Bert Ertman
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: VJUG - Building Modular Java Applications in the Cloud Age

Building Modular Java Applications in the Cloud Age

vJUG, March 2015

Page 3: VJUG - Building Modular Java Applications in the Cloud Age

Observations

Extremely agile (first mover advantage)

Architecture (and code base)

should be able to cope with change

Page 4: VJUG - Building Modular Java Applications in the Cloud Age

The case for modularity

Modularity is the ultimate agile tool!

Small, disposable, components

Prevents code rot on the architectural level

Isolate problems, focus work

Page 5: VJUG - Building Modular Java Applications in the Cloud Age

Prevent (tight)

coupling

What we learned about OO design in university :

Promote cohesion

coupling

cohesion

Page 6: VJUG - Building Modular Java Applications in the Cloud Age

Modules Service Lookups

Page 7: VJUG - Building Modular Java Applications in the Cloud Age

Wha

t do

we

need

design

consequences

High-level enterprise APIs

Architectural focus on

modularity

Runtime dynamic module

framework

Right now, OSGi is the only option

let’s not reinvent the

wheel

for

mod

ular

ity?

Page 8: VJUG - Building Modular Java Applications in the Cloud Age

Auth Blob stores MongoDB JPA Multi-tenancy OpenSocial Search Remote Services REST Template Web ...

Components

Page 9: VJUG - Building Modular Java Applications in the Cloud Age

Stop talking… and show me code!

Page 10: VJUG - Building Modular Java Applications in the Cloud Age

Products Rest

Products API

Products Service

MongoDB

Orders Rest

Orders API

Orders Service

MongoDB

Customers API

Customers Service

MongoDB

... Rest

... API

... Service

modularity

in action...

Page 11: VJUG - Building Modular Java Applications in the Cloud Age

What about deployment?

Page 12: VJUG - Building Modular Java Applications in the Cloud Age

Provisioning Server

Page 13: VJUG - Building Modular Java Applications in the Cloud Age

Provisioning servers

Node

AWS Auto Scaling

1. Start Load Balancer

Apache ACE

2. register

3. register

4. provision deployment

package

Page 14: VJUG - Building Modular Java Applications in the Cloud Age

Provisioning servers

Nodes are completely disposable

Automated cluster recovery

Nodes do not require maintenance

No “big” container

Page 15: VJUG - Building Modular Java Applications in the Cloud Age

Wrap up

Page 16: VJUG - Building Modular Java Applications in the Cloud Age
Page 17: VJUG - Building Modular Java Applications in the Cloud Age

TakkGrazie

Thank you

Obrigado

MahaloDanke

Dank UMerci

Gracias