Download - Going eXtreme for Healthcare
![Page 1: Going eXtreme for Healthcare](https://reader038.vdocuments.us/reader038/viewer/2022103110/5478643cb4af9f16658b46c7/html5/thumbnails/1.jpg)
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](https://reader038.vdocuments.us/reader038/viewer/2022103110/5478643cb4af9f16658b46c7/html5/thumbnails/2.jpg)
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](https://reader038.vdocuments.us/reader038/viewer/2022103110/5478643cb4af9f16658b46c7/html5/thumbnails/3.jpg)
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](https://reader038.vdocuments.us/reader038/viewer/2022103110/5478643cb4af9f16658b46c7/html5/thumbnails/4.jpg)
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](https://reader038.vdocuments.us/reader038/viewer/2022103110/5478643cb4af9f16658b46c7/html5/thumbnails/5.jpg)
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](https://reader038.vdocuments.us/reader038/viewer/2022103110/5478643cb4af9f16658b46c7/html5/thumbnails/6.jpg)
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](https://reader038.vdocuments.us/reader038/viewer/2022103110/5478643cb4af9f16658b46c7/html5/thumbnails/7.jpg)
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](https://reader038.vdocuments.us/reader038/viewer/2022103110/5478643cb4af9f16658b46c7/html5/thumbnails/8.jpg)
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](https://reader038.vdocuments.us/reader038/viewer/2022103110/5478643cb4af9f16658b46c7/html5/thumbnails/9.jpg)
09/04/23
9
Symmetric Encryption
Message
Secret key Encrypted Message
Alice Bob
![Page 10: Going eXtreme for Healthcare](https://reader038.vdocuments.us/reader038/viewer/2022103110/5478643cb4af9f16658b46c7/html5/thumbnails/10.jpg)
09/04/23
10
Assymmetric Encryption (Public Key)
Public KeyPrivate Key
= +
![Page 11: Going eXtreme for Healthcare](https://reader038.vdocuments.us/reader038/viewer/2022103110/5478643cb4af9f16658b46c7/html5/thumbnails/11.jpg)
09/04/23
11
Primary Care Safe - PCS
Bob
PCS
Dokters.Org
![Page 12: Going eXtreme for Healthcare](https://reader038.vdocuments.us/reader038/viewer/2022103110/5478643cb4af9f16658b46c7/html5/thumbnails/12.jpg)
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](https://reader038.vdocuments.us/reader038/viewer/2022103110/5478643cb4af9f16658b46c7/html5/thumbnails/13.jpg)
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](https://reader038.vdocuments.us/reader038/viewer/2022103110/5478643cb4af9f16658b46c7/html5/thumbnails/14.jpg)
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](https://reader038.vdocuments.us/reader038/viewer/2022103110/5478643cb4af9f16658b46c7/html5/thumbnails/15.jpg)
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](https://reader038.vdocuments.us/reader038/viewer/2022103110/5478643cb4af9f16658b46c7/html5/thumbnails/16.jpg)
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](https://reader038.vdocuments.us/reader038/viewer/2022103110/5478643cb4af9f16658b46c7/html5/thumbnails/17.jpg)
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](https://reader038.vdocuments.us/reader038/viewer/2022103110/5478643cb4af9f16658b46c7/html5/thumbnails/18.jpg)
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](https://reader038.vdocuments.us/reader038/viewer/2022103110/5478643cb4af9f16658b46c7/html5/thumbnails/19.jpg)
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](https://reader038.vdocuments.us/reader038/viewer/2022103110/5478643cb4af9f16658b46c7/html5/thumbnails/20.jpg)
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](https://reader038.vdocuments.us/reader038/viewer/2022103110/5478643cb4af9f16658b46c7/html5/thumbnails/21.jpg)
09/04/23
21
Security
Availability
Scalability Performance
Flexibility
Challenge: Reconciling the NFR's
![Page 22: Going eXtreme for Healthcare](https://reader038.vdocuments.us/reader038/viewer/2022103110/5478643cb4af9f16658b46c7/html5/thumbnails/22.jpg)
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](https://reader038.vdocuments.us/reader038/viewer/2022103110/5478643cb4af9f16658b46c7/html5/thumbnails/23.jpg)
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](https://reader038.vdocuments.us/reader038/viewer/2022103110/5478643cb4af9f16658b46c7/html5/thumbnails/24.jpg)
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](https://reader038.vdocuments.us/reader038/viewer/2022103110/5478643cb4af9f16658b46c7/html5/thumbnails/25.jpg)
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](https://reader038.vdocuments.us/reader038/viewer/2022103110/5478643cb4af9f16658b46c7/html5/thumbnails/26.jpg)
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](https://reader038.vdocuments.us/reader038/viewer/2022103110/5478643cb4af9f16658b46c7/html5/thumbnails/27.jpg)
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](https://reader038.vdocuments.us/reader038/viewer/2022103110/5478643cb4af9f16658b46c7/html5/thumbnails/28.jpg)
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](https://reader038.vdocuments.us/reader038/viewer/2022103110/5478643cb4af9f16658b46c7/html5/thumbnails/29.jpg)
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](https://reader038.vdocuments.us/reader038/viewer/2022103110/5478643cb4af9f16658b46c7/html5/thumbnails/30.jpg)
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](https://reader038.vdocuments.us/reader038/viewer/2022103110/5478643cb4af9f16658b46c7/html5/thumbnails/31.jpg)
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](https://reader038.vdocuments.us/reader038/viewer/2022103110/5478643cb4af9f16658b46c7/html5/thumbnails/32.jpg)
09/04/23
ServerServer
ProgramProgram
MemoryMemory
ServerServer
ProgramProgram
MemoryMemory
Space Based Architecture
34
![Page 33: Going eXtreme for Healthcare](https://reader038.vdocuments.us/reader038/viewer/2022103110/5478643cb4af9f16658b46c7/html5/thumbnails/33.jpg)
09/04/23
ServerServer
ProgramProgram
MemoryMemory
Space Based Architecture
35
ServerServer
Space
ProgramProgram
MemoryMemory
![Page 34: Going eXtreme for Healthcare](https://reader038.vdocuments.us/reader038/viewer/2022103110/5478643cb4af9f16658b46c7/html5/thumbnails/34.jpg)
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](https://reader038.vdocuments.us/reader038/viewer/2022103110/5478643cb4af9f16658b46c7/html5/thumbnails/35.jpg)
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](https://reader038.vdocuments.us/reader038/viewer/2022103110/5478643cb4af9f16658b46c7/html5/thumbnails/36.jpg)
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](https://reader038.vdocuments.us/reader038/viewer/2022103110/5478643cb4af9f16658b46c7/html5/thumbnails/37.jpg)
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](https://reader038.vdocuments.us/reader038/viewer/2022103110/5478643cb4af9f16658b46c7/html5/thumbnails/38.jpg)
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](https://reader038.vdocuments.us/reader038/viewer/2022103110/5478643cb4af9f16658b46c7/html5/thumbnails/39.jpg)
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](https://reader038.vdocuments.us/reader038/viewer/2022103110/5478643cb4af9f16658b46c7/html5/thumbnails/40.jpg)
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](https://reader038.vdocuments.us/reader038/viewer/2022103110/5478643cb4af9f16658b46c7/html5/thumbnails/41.jpg)
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](https://reader038.vdocuments.us/reader038/viewer/2022103110/5478643cb4af9f16658b46c7/html5/thumbnails/42.jpg)
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