Contenu connexe Similaire à Paremus service fabric (20) Paremus service fabric1. Introduction to The Paremus Services Fabric 19 January 2012 OSGi™ Users’ Forum DC Metro … a distributed application server for running OSGi technology-based applications across anything from a few computing resources to a large-scale Cloud. The Paremus Service Fabric extends OSGi technology’s dynamic module capabilities across multiple network-connected Java Virtual Machines (JVMs) to create an incredibly robust and efficient distributed platform for enterprise applications. 9. Copyright © 2011 Paremus Ltd. May not be reproduced by any means without express permission. All rights reserved. Service Fabric Overview November 2011 Breakdown of OPEX costs Anne Thomas Manes (Gartner) – SOA Symposium: Berlin, October 2010 Environmental Complexity! ‘ Cloud Computing’, ‘Grid’, ‘Virtualisation’ addresses this. ? 10. Copyright © 2011 Paremus Ltd. May not be reproduced by any means without express permission. All rights reserved. Service Fabric Overview November 2011 Hardware Cost? Resource Current Image Cloud Image Cloud Target Resource Utilisation 5% 30% 50% Network Loading / Upgrade Cost ? minimal Storage Consumption ? minimal 11. Copyright © 2011 Paremus Ltd. May not be reproduced by any means without express permission. All rights reserved. Service Fabric Overview November 2011 Development Breakdown? Activities Saving Code Re-Use % of code re-use Agile Development (modules) smaller parallel teams Increased Test Efficiency % increase in test / release efficiency Effective Outsource of Modules % of modules outsourced / market Increased Project Success failed projects / overruns 12. Copyright © 2011 Paremus Ltd. May not be reproduced by any means without express permission. All rights reserved. Service Fabric Overview November 2011 Maintenance Breakdown? Activities % of Maintenance OPEX Initial Install / Deploy _? small Library / Code upgrades - IT Debt / avoiding code rot _? large (Gartner) Ongoing Configure / Re-Configure effort required / cost Failure / Fix / Recover lost business due to service outage Functional Updates effort required / cost 14. Copyright © 2011 Paremus Ltd. May not be reproduced by any means without express permission. All rights reserved. Service Fabric Overview November 2011 Modules vs. Images D eployment Artifact Artifact Module Centric Image Centric Machine Image ~ 1 to 2 Gbytes per node ~ 1 to 2 Gbytes per node Application ~ 1 TO 100 Mbytes ~ 1 to 2 Gbytes per node Application Patch ~ 100’s Kbytes ~ 1 to 2 Gbytes per node Property / Config Changes ~ 1 Kbyte ~ 1 to 2 Gbytes per node 20. Copyright © 2011 Paremus Ltd. May not be reproduced by any means without express permission. All rights reserved. Service Fabric Overview November 2011 Modular Systems are Maintainable Systems Anne Thomas Manes (Gartner) – SOA Symposium: Berlin, October 2010 Paremus Service Fabric Addresses Maintenance Costs, Development Costs, as well as Resource Optimization . OPEX Applicability of VM-based (non-Modular) Private Cloud Solutions. 23. Copyright © 2011 Paremus Ltd. May not be reproduced by any means without express permission. All rights reserved. Service Fabric Overview November 2011 Off Fabric node Bootstrap Atlas Manager Source Repository for Examples POSH CLI Application UI Service Fabric Nodes Service Fabric Infrastructure Cached Examples Deployed Systems Demo Environment A ‘blue’ Atlas Agent 24. Copyright © 2011 Paremus Ltd. May not be reproduced by any means without express permission. All rights reserved. Service Fabric Overview November 2011 Resource Management & Bootstrap 26. Copyright © 2011 Paremus Ltd. May not be reproduced by any means without express permission. All rights reserved. Service Fabric Overview November 2011 Introducing the Paremus Service Fabric (1..m) ‘Composite Applications’ (a.k.a. Systems) may be D ynamically Assembled and Run Upon a single Service Fabric (1..n) Compute Resources may Contribute to a Service Fabric An OSGi™ Technology-based Cloud Runtime for the Enterprise 27. Paremus Service Fabric Components Distributed Services Fabric Service Instance Dynamic component wire-up (local) Service Groups Service aggregation Dynamic service wire-up (network) Composite Application (fine-grained) Composite Application (coarse-grained) Web 3.0 / WS wire-up (network) 29. Copyright © 2011 Paremus Ltd. May not be reproduced by any means without express permission. All rights reserved. Service Fabric Overview November 2011 Self-Describing System Description Running System A Model Driven Runtime 30. Copyright © 2011 Paremus Ltd. May not be reproduced by any means without express permission. All rights reserved. Service Fabric Overview November 2011 Target State Runtime State Deploy Starting a System 31. Copyright © 2011 Paremus Ltd. May not be reproduced by any means without express permission. All rights reserved. Service Fabric Overview November 2011 Planned Deltas e.g. Configuration changes Unplanned Deltas e.g. Resource failures Target State Runtime State The Service Fabric Responds by Creating the Corresponding System – Deploying all Required Components and ‘Wiring’ these Together. Starting a System 32. Copyright © 2011 Paremus Ltd. May not be reproduced by any means without express permission. All rights reserved. Service Fabric Overview November 2011 Runtime State Target State To Change a Runtime System, Change its Model in the Required Manner Re-Configure Updating a System 33. Copyright © 2011 Paremus Ltd. May not be reproduced by any means without express permission. All rights reserved. Service Fabric Overview November 2011 Planned Deltas e.g. Configuration changes Unplanned Deltas e.g. Resource failures Target State Runtime State The Service Fabric Responds by Modifying the Running System – Unloading Old Versions and Deploying New Versions of Affected Components Updating a System 34. ❶ Copyright © 2011 Paremus Ltd. May not be reproduced by any means without express permission. All rights reserved. Service Fabric Overview November 2011 Each Service Fabric Node Dynamically Deploys and Configures Local Infrastructure Services in Response to the Requirements of the Installed Business Component A self-configuring PaaS Automatically addressing modular & runtime dependencies WAB WAR triggers policy based runtime installation of GlassFish triggers policy based runtime installation of Jetty ❷ ❶ ❷ JEE EAR 35. Systems and Architecture Templates Copyright © 2011 Paremus Ltd. May not be reproduced by any means without express permission. All rights reserved. Service Fabric Overview November 2011 System = + An Architectural template Business Component(s) In-house Architects Select / Define Appropriate Patterns Business Unit Developer A System May Be Optionally Split Into an Architecture Pattern (Template) + Business Components 38. On-Fabric Copyright © 2011 Paremus Ltd. May not be reproduced by any means without express permission. All rights reserved. Service Fabric Overview November 2011 42. Copyright © 2011 Paremus Ltd. May not be reproduced by any means without express permission. All rights reserved. Service Fabric Overview November 2011 Repositories, Resolvers & REPOPATHs A fibre Hosting PART A from System I: its Resolver will use Bundle B-1.6.0 from the Equities Repository. A fibre Hosting PART A from System II: its Resolver will use Bundle B-1.6.1 from the System II Repository. 43. Copyright © 2011 Paremus Ltd. May not be reproduced by any means without express permission. All rights reserved. Service Fabric Overview November 2011 <system name="gateway.system" version="1.0“ boundary="fabric" repopath="gateway,nimble-rs,aries,aries-ext,fabric,fabric-ext,nimble-cmpn“ xmlns=" http://schema.paremus.com/sf/1 "> <description>Deploys a pricer and gateway component wired together using slp and essencermi</description> <!-- set SystemGroup for security control --> <nature group="demo" /> <system name="pricer" boundary="fibre"> <system.part category="msf" name="com.example.pricer"> <property name="type" value="firm" /> </system.part> <system.part category="osgi.active.bundle" name="com.paremus.dosgi.dsw.essencermi" /> <system.part category="osgi.active.bundle" name="com.paremus.dosgi.discovery.slp" /> <system.part category="osgi.active.bundle" name="com.paremus.dosgi.topologymanager" /> <replication.handler type="scalable"> <property name="scaleFactor" value="1" type="float" /> <property name="fixedDelta" value="-2" type="integer" /> <property name="minimum" value="1" type="integer" /> </replication.handler> </system> <system name="gateway" boundary="fibre"> <system.part category="msf" name="com.example.gateway"> <property name="id" value="foo" /> </system.part> <system.part category="osgi.active.bundle" name="com.paremus.dosgi.dsw.essencermi" /> <system.part category="osgi.active.bundle" name="com.paremus.dosgi.discovery.slp" /> <system.part category="osgi.active.bundle" name="com.paremus.dosgi.topologymanager" /> </system> </system> A System Model The Pricer Part. The constituents of each Pricer instance are all deployed/collocated to the same fibre (JVM instance) - hence ‘boundary=fibre’ 44. <system name="gateway.system" version="1.0“ boundary="fabric" repopath="gateway,nimble-rs,aries,aries-ext,fabric,fabric-ext,nimble-cmpn“ xmlns=" http://schema.paremus.com/sf/1 "> <description>Deploys a pricer and gateway component wired together using slp and essencermi</description> <!-- set SystemGroup for security control --> <nature group="demo" /> <system name="pricer" boundary="fibre"> <system.part category="msf" name="com.example.pricer"> <property name="type" value="firm" /> </system.part> <system.part category="osgi.active.bundle" name="com.paremus.dosgi.dsw.essencermi" /> <system.part category="osgi.active.bundle" name="com.paremus.dosgi.discovery.slp" /> <system.part category="osgi.active.bundle" name="com.paremus.dosgi.topologymanager" /> <replication.handler type="scalable"> <property name="scaleFactor" value="1" type="float" /> <property name="fixedDelta" value="-2" type="integer" /> <property name="minimum" value="1" type="integer" /> </replication.handler> </system> <system name="gateway" boundary="fibre"> <system.part category="msf" name="com.example.gateway"> <property name="id" value="foo" /> </system.part> <system.part category="osgi.active.bundle" name="com.paremus.dosgi.dsw.essencermi" /> <system.part category="osgi.active.bundle" name="com.paremus.dosgi.discovery.slp" /> <system.part category="osgi.active.bundle" name="com.paremus.dosgi.topologymanager" /> </system> </system> Copyright © 2011 Paremus Ltd. May not be reproduced by any means without express permission. All rights reserved. Service Fabric Overview November 2011 A System Model The Pricer Part. A managed service fabric based built from com.example.pricer. An instance of which is created with attribute ‘firm’ 45. <system name="gateway.system" version="1.0“ boundary="fabric" repopath="gateway,nimble-rs,aries,aries-ext,fabric,fabric-ext,nimble-cmpn“ xmlns=" http://schema.paremus.com/sf/1 "> <description>Deploys a pricer and gateway component wired together using slp and essencermi</description> <!-- set SystemGroup for security control --> <nature group="demo" /> <system name="pricer" boundary="fibre"> <system.part category="msf" name="com.example.pricer"> <property name="type" value="firm" /> </system.part> <system.part category="osgi.active.bundle" name="com.paremus.dosgi.dsw.essencermi" /> <system.part category="osgi.active.bundle" name="com.paremus.dosgi.discovery.slp" /> <system.part category="osgi.active.bundle" name="com.paremus.dosgi.topologymanager" /> <replication.handler type="scalable"> <property name="scaleFactor" value="1" type="float" /> <property name="fixedDelta" value="-2" type="integer" /> <property name="minimum" value="1" type="integer" /> </replication.handler> </system> <system name="gateway" boundary="fibre"> <system.part category="msf" name="com.example.gateway"> <property name="id" value="foo" /> </system.part> <system.part category="osgi.active.bundle" name="com.paremus.dosgi.dsw.essencermi" /> <system.part category="osgi.active.bundle" name="com.paremus.dosgi.discovery.slp" /> <system.part category="osgi.active.bundle" name="com.paremus.dosgi.topologymanager" /> </system> </system> Copyright © 2011 Paremus Ltd. May not be reproduced by any means without express permission. All rights reserved. Service Fabric Overview November 2011 A System Model Remote Services using the Paremus implementation of the OSGI Alliance RSA specification. In this example Essence RMI is the protocol - and SLP is used for discover. Normally we recommend DDS - which is the default. 48. <system name="gateway.system" version="1.0“ boundary="fabric" repopath="gateway,nimble-rs,aries,aries-ext,fabric,fabric-ext,nimble-cmpn“ xmlns=" http://schema.paremus.com/sf/1 "> <description>Deploys a pricer and gateway component wired together using slp and essencermi</description> <!-- set SystemGroup for security control --> <nature group="demo" /> <system name="pricer" boundary="fibre"> <system.part category="msf" name="com.example.pricer"> <property name="type" value="firm" /> </system.part> <system.part category="osgi.active.bundle" name="com.paremus.dosgi.dsw.essencermi" /> <system.part category="osgi.active.bundle" name="com.paremus.dosgi.discovery.slp" /> <system.part category="osgi.active.bundle" name="com.paremus.dosgi.topologymanager" /> <replication.handler type="scalable"> <property name="scaleFactor" value="1" type="float" /> <property name="fixedDelta" value="-2" type="integer" /> <property name="minimum" value="1" type="integer" /> </replication.handler> </system> <system name="gateway" boundary="fibre"> <system.part category="msf" name="com.example.gateway"> <property name="id" value="foo" /> </system.part> <system.part category="osgi.active.bundle" name="com.paremus.dosgi.dsw.essencermi" /> <system.part category="osgi.active.bundle" name="com.paremus.dosgi.discovery.slp" /> <system.part category="osgi.active.bundle" name="com.paremus.dosgi.topologymanager" /> </system> </system> Copyright © 2011 Paremus Ltd. May not be reproduced by any means without express permission. All rights reserved. Service Fabric Overview November 2011 A System Model Replication Handlers control the number of Part instances required in the runtime. 50. Copyright © 2011 Paremus Ltd. May not be reproduced by any means without express permission. All rights reserved. Service Fabric Overview November 2011 Target State Provisioning 51. Copyright © 2011 Paremus Ltd. May not be reproduced by any means without express permission. All rights reserved. Service Fabric Overview November 2011 Target State Provisioning 52. Copyright © 2011 Paremus Ltd. May not be reproduced by any means without express permission. All rights reserved. Service Fabric Overview November 2011 Demo: Application Agility Screencast of demo is available from YouTube at: http://bit.ly/app-agility_screencast 56. Copyright © 2011 Paremus Ltd. May not be reproduced by any means without express permission. All rights reserved. Service Fabric Overview November 2011 Robustness demonstration Screencast of demo is available from YouTube at: http://bit.ly/robustness_screencast 59. Copyright © 2011 Paremus Ltd. May not be reproduced by any means without express permission. All rights reserved. Service Fabric Overview November 2011 Off Fabric node Bootstrap Atlas Manager Source Repository for Examples POSH CLI Application UI Service Fabric Nodes Service Fabric Infrastructure Cached Examples Deployed Systems Demo Environment A ‘blue’ Atlas Agent 60. Copyright © 2011 Paremus Ltd. May not be reproduced by any means without express permission. All rights reserved. Service Fabric Overview November 2011 Resource Management & Bootstrap 62. 2012 - The Pervasive Cloud Copyright © 2011 Paremus Ltd. May not be reproduced by any means without express permission. All rights reserved. Service Fabric Overview November 2011 Service Fabric enabled Cloud Core (Ambient Assisted Living Mobile / Automotive Smart Grid ) 63. 2012 - The Pervasive Cloud Copyright © 2011 Paremus Ltd. May not be reproduced by any means without express permission. All rights reserved. Service Fabric Overview November 2011 65. Third Party Comments Copyright © 2011 Paremus Ltd. May not be reproduced by any means without express permission. All rights reserved. Service Fabric Overview November 2011 Application servers will look a lot more like elastic application platforms than like today’s products...... the Paremus Service Fabric is a good example The rise of the stack-less stack “ ...Paremus are doing really interesting leading edge work, leading edge in the sense that they are getting to and solving problems before most of us realise they are problems...” Zoe Slattery - IBM Technology Evangelist 69. Copyright © 2011 Paremus Ltd. May not be reproduced by any means without express permission. All rights reserved. Service Fabric Overview November 2011 Migration - Service Level Integration Integrate with Legacy Services via Usual SOA Mechanisms 72. Demo: Single Dealer Platform Copyright © 2011 Paremus Ltd. May not be reproduced by any means without express permission. All rights reserved. Service Fabric Overview November 2011 74. Copyright © 2011 Paremus Ltd. May not be reproduced by any means without express permission. All rights reserved. Service Fabric Overview November 2011 http://dspace.mit.edu/bitstream/handle/1721.1/60085/BBFRFC66.pdf?sequence=1 Modularity is a Must Have not a Maybe. Patterns of Modular Architecture (Kirk Knoernschild) - http://www.kirkk.com/modularity/chapters/ Diversity and Complexity - Scott E. Page 75. Traditional VM approach Copyright © 2011 Paremus Ltd. May not be reproduced by any means without express permission. All rights reserved. Service Fabric Overview November 2011 Hypervisors Image Server sets of static VM images Deployment Service fixed address of Hypervisors 76. Traditional VM approach Copyright © 2011 Paremus Ltd. May not be reproduced by any means without express permission. All rights reserved. Service Fabric Overview November 2011 Hypervisors Image Server sets of static VM images Deployment Service fixed address of Hypervisors Static VM images built and deployed to image server 77. Traditional VM approach Copyright © 2011 Paremus Ltd. May not be reproduced by any means without express permission. All rights reserved. Service Fabric Overview November 2011 Hypervisors Image Server sets of static VM images Deployment Service fixed address of Hypervisors 80. BoAML Service Fabric Usage Copyright © 2011 Paremus Ltd. May not be reproduced by any means without express permission. All rights reserved. Service Fabric Overview November 2011 Hypervisors Image Server Sets of static VM images Service Fabric Deployment Service Dynamic discovery of Hypervisors Service Fabric Runtime Management Notes de l'éditeur Name, Company, Book, Modularising Scala - Neil Modular Private Cloud POC for Investment Bank Certainly this doesn’t factor density. Dynamic languages will produce less code. But Cobol is about the same as C. http://www.embedded.com/design/210602856 Larger systems are more difficult to understand and maintain. Writing new software impedes time-to-market. Wouldn’t it be nice to just assemble software? Can dynamic languages help? Possibly. But they’ll grow in size too. Name, Company, Book, Modularising Scala - Neil Modular Private Cloud POC for Investment Bank Name, Company, Book, Modularising Scala - Neil Modular Private Cloud POC for Investment Bank What does a modular, recovery oriented. Cloud runtime look like Name, Company, Book, Modularising Scala - Neil Modular Private Cloud POC for Investment Bank Name, Company, Book, Modularising Scala - Neil Modular Private Cloud POC for Investment Bank Name, Company, Book, Modularising Scala - Neil Modular Private Cloud POC for Investment Bank