Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Dynamic Hybrid Cloud Applications - Bram de Kruijff, Alexander Broekhuis


Published on

OSGi Community Event 2013 (

The Cloud is booming. Economic advantages of utility computing, better time-to-market and apparent flexibility is what drives more and more businesses to move their critical systems into the third party infrastructures of cloud providers such as Amazon and Google. But are these providers and their infrastructures reliable? Are they secure and do they comply to local rules and regulations with regard to privacy sensitive data? Most "Service License Agreements" are nowhere near to accepted industry standards and, as such, certainly do not meet the requirements for time and mission critical systems. And what about that so called flexibility? Each provider introduces their own proprietary management interfaces and platform services locking customers in as fast as possible. The infrastructure may be virtualized, but unless great care is taken, moving between providers when infrastructure fails or a cheaper alternative emerges, becomes a major hurdle.

This talk introduces INAETiCS, a research project that aims to define an open platform architecture and application model that supports truly dynamic and hybrid cloud applications by leveraging, but not locking into, existing public and private cloud solutions as well as native and embedded systems. Through a "Quality of Service" based deployment model, run-time automated infrastructure management, resource and topology management as well as dynamic software provisioning and configuration, the goal is to provide a non-intrusive environment where applications can run anywhere, anytime in a most optimal configuration. These concepts will be illustrated by looking at the implementations of key components and mechanisms, such as OSGi Remote Services, being developed by the open-source projects Amdatu Platform, Apache ACE and Apache JClouds where anyone interested is welcome to get involved.


Published in: Technology
  • Be the first to comment

Dynamic Hybrid Cloud Applications - Bram de Kruijff, Alexander Broekhuis

  1. 1. Dynamic Hybrid Cloud Applications Introducing the INAETICS project Bram de Kruijff Alexander Broekhuis Luminis Technologies
  2. 2. INtelligent robust ArchitecturE for TIme Critical Systems An open collaboration effort that aims to define and demonstrate a dynamic service oriented reference architecture that addresses the requirements of time critical systems in a broad range of domains by providing a single design and implementation space for all subsystems, irrespective of control strategy
  3. 3. Open innovation Define an open reference architecture based on a shared vision that can be applied freely in a broad range of domains. ● ● Implementations in Open Source Spearheaded and funded by...
  4. 4. Time Critical systems (Ultra) Large Online Systems that must reliably perform mission-critical functions, bridging operational and informational domains. ● Multiple Control strategies ● Functional Adaptive behaviour ● Technologically heterogeneous ● Geographically dispersed
  5. 5. Time Critical systems (Ultra) Large Online Systems that must reliably perform mission-critical functions, bridging operational and informational domains. ● Multiple Control strategies ● Functional Adaptive behaviour ● Technologically heterogeneous ● Geographically dispersed
  6. 6. Consistent design space Define a unified design (and implementation) space across functional and technological domains that supports runtime evolution. ● Architectural consistency in systems design ● No architectural impedance between domains ● Runtime system evolution of deployments ● Adaptive system behaviour to context changes
  7. 7. Dynamic Services Architecture Dynamic Services Architecture has the properties to address the requirements for Time Critical System domains. ● ● Consistent design space ○ Published contracts ○ Service lifecycle ○ Multiple paradigms Service whiteboard Runtime system evolution ○ Semantic versioning ○ Modular implementation ○ Data stewardship ○ (Native) OSGi Domain Domain
  8. 8. Continuous Deployment Application deployment is an autonomous and continuous process that optimizes the application’s performance given the capabilities of the available resources and budget. ● ● ● Managed Requirements ○ (Non-) Functional / QoS ○ Budget Resource Capabilities ○ (Non-) Functional / QoS ○ Cost Runtime metrics ○ Resource utilization ○ QoS reporting Change functional behaviour Requirements QoS Application running Change resource usage
  9. 9. Architectural layering The INAETICS architecture acknowledges a functional service layering with distinct responsibilities to support architectural and system evolution. ● (Application services) ● Coordination services ● Container services ● Reqs Caps State Metrics Fabric services Caps ● Application (Network/Resources) Metrics
  10. 10. Fabric layer The fabric layer is an extensible resource and network abstraction layer. It provides the basic infrastructure for the system state and interaction. ● Peer-to-peer network ● Nodes/Zones ● Zone coordination ● Messaging/Relays ● Node capabilities ○ Non-functional / QoS ○ Functional endpoints ○ Component containers
  11. 11. Node agents The fabric is implemented by node agents that provide the core infrastructural services and base containers. ● ● Polyglot implementations ● OSGi (Amdatu Platform) ● Native OSGi (Apache Celix*) ● Custom/Embedded Core services ● Discovery/Trust ● Topology/Messaging ● Role/Task coordination ● Initial provisioning ● Remotes Services *) Apache Celix is an ASF incubator project Processors Strategies Drivers (Remote) Services Messaging Coordination Provisioning Discovery Trust Topology
  12. 12. Container layer The container layer is an extensible application component layer. It provides life-cycle and context to application components. ● Component runtime ● Provisioning ● Application context ● Supporting services ● QoS monitoring ● Container capabilities ● Non-functional / QoS ○ Functional endpoints ○ Multi-tenancy
  13. 13. Container services The container services are dynamic services provisioned onto node agents to support local application components with management, context and supporting services Security services ● ● Provisioning ○ DeploymentAdmin ○ Apache ACE Networking services Context services Application Context ○ Service visibility ○ Amdatu Platform (Remote) Services Messaging ● Dynamic services ○ Networking services ○ Security services Topology Provisioning Discovery Trust Security
  14. 14. Coordination layer The coordination layer is an extensible application management layer. It provides deployment and monitoring of the system and applications. ● System management ● Application deployment ● Resource management ● Network management ● Security management Application deployment Task Coordination ● Application support ● Role/Task coordination ● Priority based scheduling ● Load balancing Resource Management Network Management
  15. 15. Coordination services The coordination services are selectively provisioned onto node agents in the system to provide redundant, optimized and fail-safe coordination facilities Task Coordination ● Application deployment ○ ○ ● Requirement/Capabilities Resource Management Application deployment QoS Monitoring Resource Management ○ Apache JClouds* ○ OpenStack ○ (Remote) Services OpenContrail Topology Provisioning Discovery *) Apache JClouds is an ASF incubator project Messaging Trust Security
  16. 16. Dynamic layer Coordination layer Conceptual overview Deploy Services Application Deployment Func/QoS Requirements A B B Application Monitoring A Security Services “Deployment Topology” A Func/QoS Capabilities B Monitor Services A Install Services B Func/Qos Reporting Intrusion Detection Context Services Core layer Remote Services Func/QoS Capabilities Func/QoS Reporting Discovery Services Messaging Services
  17. 17. INAETICS is ... ● A dynamic services architecture that provides a single consistent design space across domain and technology boundaries ● A fully dynamic deployment, resource and network management model allowing QoS driven runtime adaptive behaviour of systems ● A runtime platform being implemented in OSGi and Native OSGi/C by the Amdatu Platform and Apache Celix Open Source projects ● ... under construction ;)
  18. 18. Thank you! Continuous Automated Deployment with Apache ACE Thursday at 11:15 - 11:50 Schubartsaal