Your SlideShare is downloading. ×
0
Modularity in the Cloud
Modularity in the Cloud
Modularity in the Cloud
Modularity in the Cloud
Modularity in the Cloud
Modularity in the Cloud
Modularity in the Cloud
Modularity in the Cloud
Modularity in the Cloud
Modularity in the Cloud
Modularity in the Cloud
Modularity in the Cloud
Modularity in the Cloud
Modularity in the Cloud
Modularity in the Cloud
Modularity in the Cloud
Modularity in the Cloud
Modularity in the Cloud
Modularity in the Cloud
Modularity in the Cloud
Modularity in the Cloud
Modularity in the Cloud
Modularity in the Cloud
Modularity in the Cloud
Modularity in the Cloud
Modularity in the Cloud
Modularity in the Cloud
Modularity in the Cloud
Modularity in the Cloud
Modularity in the Cloud
Modularity in the Cloud
Modularity in the Cloud
Modularity in the Cloud
Modularity in the Cloud
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×
Saving this for later? Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime – even offline.
Text the download link to your phone
Standard text messaging rates apply

Modularity in the Cloud

1,296

Published on

Presented at JEEConf 2013.

Presented at JEEConf 2013.

Published in: Technology
0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
1,296
On Slideshare
0
From Embeds
0
Number of Embeds
12
Actions
Shares
0
Downloads
24
Comments
0
Likes
1
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

  • 1. Modularity in thecloudA case study
  • 2. Jan Willem JanssenLuminis Technologies@j_w_janssenSander MakLuminis Technologies@sander_makhttp://branchandbound.net
  • 3. The case: PulseOnEducational system focussed onpersonalized learningUsed in high schools in theNetherlandsExpand to other countries in thenear future
  • 4. RequirementsEasy softwareupdatesCross deviceiPad/android/desktop...Different set ofcomponents perschoolScalability(both up anddown)
  • 5. Personaldashboard
  • 6. Learningcontent
  • 7. Adaptive recommendedLearning
  • 8. How to build softwarewhen nobody can tell youexactly what to build?
  • 9. Divide and conquer,prevent the ripple effectModularity
  • 10. Modularity in practiceProgram tointerfaces, notimplementationsRate of changeof moduleshttp://geekandpoke.typepad.com
  • 11. Modules
  • 12. Ok, but how to create aninstance of a hiddenclass?MyInterface myI = newMyImplementation();YOUDON’T!
  • 13. Service Lookups
  • 14. Cross device HTML 5 + JSRESTful web servicesOSGi servicesMongoApache FelixAmdatuS3
  • 15. course.gadgetcontentsequencer.restcontent.mongo content.storageMongo S3UIREST APIJavaAPI
  • 16. course.gadgetcontentsequencer.restcontentsequencer.engine profiling.mongocontent.mongoprofiling.restAJAX AJAXJava JavaJavaJava
  • 17. Some numbers190bundlesin a deployment120PulseOnbundles
  • 18. Amdatu: OSGi Cloud componentsJAX-RSMongo DBBlobStoresSchedulingMulti-tenancySearchOpenSocial...Apache Licensedopen sourceproject
  • 19. Amdatu MongoDBMost data isexposed usingRESTThe profilergenerates a LOTof dataTherecommenderneeds powerfulqueries
  • 20. Amdatu OpenSocialHow to separate UIelements in modules?Each functional part is anOpenSocial gadgetModularity in the UI
  • 21. School BLoadDeploymentLoad BalancerPulseOn nodePulseOn nodePulseOn nodeLoad BalancerPulseOn nodePulseOn nodePulseOn nodeSchool AMongoMongoMongoMongoMongoMongo
  • 22. Auto scalingConsiderable higher loads during school hoursEnoughcapacityWithout payingfor idle serversat night...
  • 23. Load Balancer small nodeCluster per schoolAlways use a load balancer because we don’t wantdowntime during scaling
  • 24. Load Balancer small nodeEarly morning...
  • 25. Load Balancer small nodelarge nodelarge nodeEarly morning...
  • 26. End of the day...Load Balancer small nodelarge nodelarge node
  • 27. End of the day...Load Balancer small node
  • 28. But how do we installour software on a node?
  • 29. Provisioning servers
  • 30. ace screenshot
  • 31. NodeAWS Auto Scaling1. StartLoad BalancerApache ACE4. register2. register3. provisiondeploymentpackageProvisioning servers
  • 32. Tooling andframeworks arenow matureenoughHow does this fit other applications?The architecturefits mostmodern webapplicationsWorks in thecloud(but not arequirement)
  • 33. amdatu.org
  • 34. Cloud provisioninghttp://ace.apache.org/Cloud OSGi serviceshttp://www.amdatu.org/Eclipse OSGi pluginhttp://bndtools.org/@Sander_Makhttp://luminis.eu/en/There is more...

×