Going eXtreme for Healthcare

42
Going Extreme for Health Care Koen Vanderkimpen @koenvdk Dirk Deridder @dirkderidder When Security, Performance, Scalability, and Availability all want to be the star of the show

description

Presentation at Devoxx 2011 by Dirk Deridder and Koen Vanderkimpen, working for Smals (Belgium)

Transcript of Going eXtreme for Healthcare

Page 1: Going eXtreme for Healthcare

Going Extreme for Health Care

Koen Vanderkimpen@koenvdk

Dirk Deridder@dirkderidder

When Security, Performance, Scalability, and Availabilityall want to be the star of the show

Page 2: Going eXtreme for Healthcare

09/04/23

Smals

2

Dirk Deridder

Koen Vanderkimpen

Preferred ICT Partner of Social Security and Health CareInstitutions in Belgium

Smals Research Team

Dedicated to introducing innovative IT in e-GovernmentAnd solving clients' more abstract problems

1.5 years @ Smals, specializing in OO, software develop-ment, version control; implemented first demo of the PCS

1 year @ Smals, specializing in dynamic programming languages, software architecture, Agile and XTP

Page 3: Going eXtreme for Healthcare

09/04/23

3

What Follows

1. The Project: which challenges?2. Security: Novel Approach using threshold

encryption3. Conflicting Challenges in a High-Risk Project4. Extreme Transaction Processing5. Conclusions6. Questions

Page 4: Going eXtreme for Healthcare

09/04/23

4

Mission:

« Build a highly secure platform to exchange Patient Data between Healthcare actors within

Flanders/Be/EU/… »

1. The Project: A Primary Care Safe (PCS)

Page 5: Going eXtreme for Healthcare

09/04/23

5

The "PCS manifesto":• Security, Privacy, Confidentiality• 24/7 always-on• Generic, Multi-Purpose, Shared

Thoroughly Patient-Centric Vision

• Ready for Growing Data & Usage

• Performant (4s response time)

Some NFR's…

Page 6: Going eXtreme for Healthcare

09/04/23

6

Functionality

• PUT(a file, or part of it)

• GET• DELETE

Patient File

Medication

Parameters

Allergies

Journal

Anti-DiabeticalAnti-Aids

Blood Pressure

Heart Condition

Other

Pulse

Entries

Entry1

Entry2…

(Versioning)

(Fine-Grained DataModel)

Page 7: Going eXtreme for Healthcare

09/04/23

7

(for Flanders)• Patients: 6.5 million• Users (medical professionals): 51000• File accesses per day/user: 7.2• Starting file size: 50K (towards 5M)

Some Figures

What if?• All of Belgium joins in?• Patients get access?• Mobile usage develops?

Page 8: Going eXtreme for Healthcare

09/04/23

8

2. PCS – Novel Security Architecture

• "end-user eyes only"• "distributed trust"

File

(Only Encrypted Messages)

Alice Bob

PCSDokters OrgGov (ehealth)

host & control control

Page 9: Going eXtreme for Healthcare

09/04/23

9

Symmetric Encryption

Message

Secret key Encrypted Message

Alice Bob

Page 10: Going eXtreme for Healthcare

09/04/23

10

Assymmetric Encryption (Public Key)

Public KeyPrivate Key

= +

Page 11: Going eXtreme for Healthcare

09/04/23

11

Primary Care Safe - PCS

Bob

PCS

Dokters.Org

Page 12: Going eXtreme for Healthcare

09/04/23

12

Threshold Encryption (Public Key)

• Main Idea: a minimum number (= the threshold) of people needed to decrypt

1

2

1

2Public Key

Bob

Marc

Alice

Partial Decryption

Combination

Page 13: Going eXtreme for Healthcare

09/04/23

13

Primary Care Safe - PCS

Dr. Bob

PCSDokters OrgGov (ehealth)

1

2

1 2

1

2

Patent Pending!

Page 14: Going eXtreme for Healthcare

09/04/23

14

Fine-Grained Access Control

Patient File

Medication

Parameters

Allergies

Journal

Anti-DiabeticalAnti-Aids

Blood Pressure

Heart Condition

Other

Pulse

Entries

Entry1

Entry2…

Page 15: Going eXtreme for Healthcare

09/04/23

15

• Exchange Platform for Medical Data• Eventually for 6500000 patients (all of

Flanders) – A few 1000 to startGrowing data (e.g. lifetime biometrics)

• For many different applications• Provided by the Government• Security + Fine-grained Access

3. Roundup: Primary Care Safe (PCS)

Page 16: Going eXtreme for Healthcare

09/04/23

16

• Exchange Platform for Medical Data• Eventually for 6500000 patients (all of

Flanders) – A few 1000 to startGrowing data (e.g. lifetime biometrics)

• For many different applications• Provided by the Government• Security + Fine-grained Access

Availability

Page 17: Going eXtreme for Healthcare

09/04/23

17

• Exchange Platform for Medical Data• Eventually for 6500000 patients (all of

Flanders) – A few 1000 to startGrowing data (e.g. lifetime biometrics)

• For many different applications• Provided by the Government• Security + Fine-grained Access

Availability

Scalability

Page 18: Going eXtreme for Healthcare

09/04/23

18

• Exchange Platform for Medical Data• Eventually for 6500000 patients (all of

Flanders) – A few 1000 to startGrowing data (e.g. lifetime biometrics)

• For many different applications• Provided by the Government• Security + Fine-grained Access

Availability

Scalability

Flexibility

Page 19: Going eXtreme for Healthcare

09/04/23

19

• Exchange Platform for Medical Data• Eventually for 6500000 patients (all of

Flanders) – A few 1000 to startGrowing data (e.g. lifetime biometrics)

• For many different applications• Provided by the Government• Security + Fine-grained Access

Availability

Scalability

Flexibility Security

Page 20: Going eXtreme for Healthcare

09/04/23

20

• Exchange Platform for Medical Data• Eventually for 6500000 patients (all of

Flanders) – A few 1000 to startGrowing data (e.g. lifetime biometrics)

• For many different applications• Provided by the Government• Security + Fine-grained Access

Availability

Scalability Performance

Flexibility Security

Page 21: Going eXtreme for Healthcare

09/04/23

21

Security

Availability

Scalability Performance

Flexibility

Challenge: Reconciling the NFR's

Page 22: Going eXtreme for Healthcare

09/04/23

4. How to approach this?

• Programming language? Java @ Smals

• Software Architecture? N-Tier & SOA @ Smals

• Development approach? EUP @ Smals

22

?Will this work

Sure, but more geared towards « conventional » projects

Actually we weren’t « sure » so we investigated further …

Page 23: Going eXtreme for Healthcare

09/04/23

XTP versus Traditional N-Tier Solution?

23

Business Processing Tier

Web Tier

Load Balancer

Database Tier

Primary

Primary

Primary

Backup

Backup

Backup

Primary

Primary

Backup

Backup

xx

Messaging Tier

Primary

Backup

Availability?

Scalability?

Elasticity?

Performance?

Page 24: Going eXtreme for Healthcare

09/04/23

Looking for inspiration…

24

• Social Media• Stock exchange• Investment banks• Telecommunications• Retail Business• Web-commerce• Internet media• Factory automation• Aerospace industry• Online gaming• Big Data analysis• …

• Large number of users • High volume of requests• Very demanding availability (24/7)• Peak loads are a moving target• Challenging performance expectation• …

Some of our NFR’s are « easy » compared to their day-2-day operation

Page 25: Going eXtreme for Healthcare

09/04/23

Extreme Transaction Processing

« An application style aimed at supporting

the design, development, deployment,

management and maintenance of

distributed TP applications

characterized by exceptionally demanding

performance, scalability, availability,

security, manageability,

and dependability requirements »

Everything we need « in a box »?25

Page 26: Going eXtreme for Healthcare

09/04/23

Let’s get this « XTP solution in-a-box »!

26

Hypertable

BigTable

NoSQL

DevOps

MongoDB

MemcacheDB

Cassandra

CouchDB

Voldemort

Map/ReduceHadoop

Grid Computing

Space Based Architecture

Event Driven Architecture

Shared Nothing Architecture

Partitioning TerracottaAkka

Erlang

Actor Model

Scala

AmbientTalkNode.js

Async Flows

In-memory DBMaster/Worker

Task Execution

Page 27: Going eXtreme for Healthcare

09/04/23

Today’s main focus: Support offered by an XTP middleware Platform

• Several solutions exist MaatG G Platform, GigaSpaces XAP, Appistry, Tibco

ActiveSpaces, Paremus Service Fabric, …• Currently establishing a position as CEAP’s / EAP’s

Good match with « cloud » requirements Fine-grained elastic scalability, Continuous availability & Non-stop operations Consistent performance

Still require additional work on multitenancy, billing, self provisioning, …

Not intrinsic to XTP (can be enablers) Traditional application servers will not meet future needs to

move to the cloud « … dinosaurs tiptoeing through a meteor storm… »

[M. Gualtieri, Forrester 2011]

27

Page 28: Going eXtreme for Healthcare

09/04/23

XTP Platform characteristics enabling Extreme Availability

• Let it crash principle• Zero downtime failover management

Automated failover without side-effects E.g., handover from primary to backup with no manual intervention,

even between datacenters Automated self-healing without side-effects

E.g., creation of new backup nodes after failover with no manual intervention

Automated replication management E.g., keeping primaries/backups consistent, redo queues, …

• Transparent for client applications The client is unaware of « who » handles the request and is only

interested in getting a result Shield-off all complexity involved in guaranteeing high availability

• Application virtualisation and overall automation are key!

30

Availability

Availability

Page 29: Going eXtreme for Healthcare

09/04/23

XTP Platform characteristics enabling Extreme Performance

• Improve response time by not moving data around Focus on data/processing affinity

Routing of requests to the location of the data Do not separate tiers physically

Work with an in-memory data grid Cf. caching, but not as an after-the-fact optimisation strategy Persistency as a service, not involved in servicing live requests

• Increase throughput Asynchronous processing flows

Give back control asap Make requests self-contained so they can

served by any « workers » that are available Work with a processing grid

Execute (parts of) requests in « parallel » Avoid relying on external systems Enforce strict internal / external SLA’s

31

Performance

Performance

Page 30: Going eXtreme for Healthcare

09/04/23

XTP Platform characteristics enabling Extreme Scalability

• Principle of horizontal scaling Increase capacity by adding resources « on the fly » in an

automated fashion Elastic scaling, so capacity can be taken away easily Location-unaware applications

Transparent for client applications as well Capacity planning vs capacity management

• Application virtualisation and overall automation are key!

32

HORIZONTAL SCALING

Scalability

Scalability

Page 31: Going eXtreme for Healthcare

09/04/23

Concrete XTP Platform XAP: Characteristics

• Space Based Architecture Based on Tuple Spaces [Gelernter & Carriero]

Cf JavaSpaces, but a lot more Technology arena: Java, Jini, JMS, Spring, Hibernate, … Data + Processing+ Messaging Grids

• SLA-driven application containers• Excellent enabler for implementing XTP

architectures Allowing you to focus on the « difficult part » by taking

care of the « hard part »

33

Page 32: Going eXtreme for Healthcare

09/04/23

ServerServer

ProgramProgram

MemoryMemory

ServerServer

ProgramProgram

MemoryMemory

Space Based Architecture

34

Page 33: Going eXtreme for Healthcare

09/04/23

ServerServer

ProgramProgram

MemoryMemory

Space Based Architecture

35

ServerServer

Space

ProgramProgram

MemoryMemory

Page 34: Going eXtreme for Healthcare

09/04/23

ServerServer

ProgramProgram

MemoryMemory

Processing UnitProcessing UnitProcessing UnitProcessing Unit

Space

ProgramProgram

MemoryMemory

ProgramProgram

MemoryMemory

Space Based Architecture

36

Page 35: Going eXtreme for Healthcare

09/04/23

ServerServer

ProgramProgram

MemoryMemory

ServerServer ServerServer

Processing UnitProcessing UnitProcessing UnitProcessing Unit

Space

ProgramProgram

MemoryMemory

ProgramProgram

MemoryMemory

Space Based Architecture

37

Page 36: Going eXtreme for Healthcare

09/04/23

ServerServer

ProgramProgram

MemoryMemory

ServerServer ServerServer ServerServer

Processing UnitProcessing Unit Processing UnitProcessing Unit Processing UnitProcessing Unit

Space

ProgramProgram

MemoryMemory

ProgramProgram

MemoryMemory

ProgramProgram

MemoryMemory

Space Based Architecture

38

Page 37: Going eXtreme for Healthcare

09/04/23

ServerServer

ProgramProgram

MemoryMemory

ServerServer ServerServer ServerServer

Processing UnitProcessing Unit Processing UnitProcessing Unit Processing UnitProcessing Unit

Space

ProgramProgram

MemoryMemory

ProgramProgram

MemoryMemory

ProgramProgram

MemoryMemory

Space Based Architecture

39

Page 38: Going eXtreme for Healthcare

09/04/23

ServerServer

ProgramProgram

MemoryMemory

ServerServer ServerServer

Processing UnitProcessing Unit Processing UnitProcessing Unit Processing UnitProcessing Unit

Space

ProgramProgram

MemoryMemory

ProgramProgram

MemoryMemory

ProgramProgram

MemoryMemory

Space Based Architecture

40

Page 39: Going eXtreme for Healthcare

09/04/23

ServerServer

ProgramProgram

MemoryMemory

ServerServer ServerServer ServerServer

Processing UnitProcessing Unit Processing UnitProcessing Unit Processing UnitProcessing Unit

Space

ProgramProgram

MemoryMemory

ProgramProgram

MemoryMemory

ProgramProgram

MemoryMemory

Space Based Architecture

41

Lots of flexibility and support « out of the box  »for realizing an(y) XTP solution

Page 40: Going eXtreme for Healthcare

09/04/23

42

XTP versus Traditional N-Tier Solution?

BusinessProcessing Units

(Data + Processing + Messaging)

AA BB CC

AA BB CC

AA BB CC

Web Processing

Units

Load Balancer

Persistencyas a Service

Persistencyas a Service

Database

Page 41: Going eXtreme for Healthcare

09/04/23

Conclusions

• XTP is not just a technology or style of programming Impacts software architecture, development process, … An integrated approach / vision is required! Having an XTP platform is only a first step Think outside the traditional box

• Demands disciplined application of development practices Not only functional testing: NFR’s ! Automation is fundamental

• Updating applications with no downtime is an additional challenge Requires « next-release strategy » XTP platforms provide « patterns » to handle this

• Problems can still happen, be prepared! Cf. Recent Amazon / Microsoft /… outages (if the best fail, expect…)

• ROI analysis is absolutely necessary Not every application calls for a platinum-approach

But it never hurts to think about it ! Maximum ROI = Availability + Scalability + Performance

44

Page 42: Going eXtreme for Healthcare

09/04/23

Going Extreme for Health Care

Koen Vanderkimpen@koenvdk

Dirk Deridder@dirkderidder

When Security, Performance, Scalability, and Availabilityall want to be the star of the show

Q&A