Dynamic Hybrid Cloud Applications - Bram de Kruijff, Alexander Broekhuis

18
Introducing the INAETICS project Bram de Kruijff Alexander Broekhuis Luminis Technologies Dynamic Hybrid Cloud Applications

description

OSGi Community Event 2013 (http://www.osgi.org/CommunityEvent2013/Schedule) ABSTRACT 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. SPEAKER BIOS

Transcript of Dynamic Hybrid Cloud Applications - Bram de Kruijff, Alexander Broekhuis

Page 1: Dynamic Hybrid Cloud Applications - Bram de Kruijff, Alexander Broekhuis

Introducing the INAETICS project

Bram de KruijffAlexander Broekhuis

Luminis Technologies

Dynamic Hybrid Cloud Applications

Page 2: Dynamic Hybrid Cloud Applications - Bram de Kruijff, Alexander Broekhuis

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

Page 3: Dynamic Hybrid Cloud Applications - Bram de Kruijff, Alexander Broekhuis

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...

Page 4: Dynamic Hybrid Cloud Applications - Bram de Kruijff, Alexander Broekhuis

(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

Time Critical systems

Page 5: Dynamic Hybrid Cloud Applications - Bram de Kruijff, Alexander Broekhuis

(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

Time Critical systems

Page 6: Dynamic Hybrid Cloud Applications - Bram de Kruijff, Alexander Broekhuis

Define a unified design (and implementation) space across functional and technological domains that supports runtime evolution.

● Architectural consistency insystems design

● No architectural impedancebetween domains

● Runtime system evolutionof deployments

● Adaptive system behaviourto context changes

Consistent design space

Page 7: Dynamic Hybrid Cloud Applications - Bram de Kruijff, Alexander Broekhuis

Dynamic Services ArchitectureDynamic Services Architecture has the properties to address the requirements for Time Critical System domains.

● Consistent design space○ Published contracts○ Service lifecycle○ Multiple paradigms

● Runtime system evolution○ Semantic versioning○ Modular implementation○ Data stewardship○ (Native) OSGi

Service whiteboard

Domain Domain

Page 8: Dynamic Hybrid Cloud Applications - Bram de Kruijff, Alexander Broekhuis

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

RequirementsQoS

Change functional behaviour

Application running

Change resourceusage

Continuous Deployment

Page 9: Dynamic Hybrid Cloud Applications - Bram de Kruijff, Alexander Broekhuis

The INAETICS architecture acknowledges a functional service layering with distinct responsibilities to support architectural and system evolution.

● (Application services)

● Coordination services

● Container services

● Fabric services

● (Network/Resources)

StateReqs

CapsMetrics

Architectural layering

Caps Metrics

Application

Page 10: Dynamic Hybrid Cloud Applications - Bram de Kruijff, Alexander Broekhuis

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

Fabric layer

Page 11: Dynamic Hybrid Cloud Applications - Bram de Kruijff, Alexander Broekhuis

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

Node agents

(Remote) Services

Discovery Trust

Provisioning

Topology

Messaging Coordination

Drivers

Strategies

Processors

*) Apache Celix is an ASF incubator project

Page 12: Dynamic Hybrid Cloud Applications - Bram de Kruijff, Alexander Broekhuis

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

Container layer

Page 13: Dynamic Hybrid Cloud Applications - Bram de Kruijff, Alexander Broekhuis

The container services are dynamic services provisioned onto node agents to support local application components with management, context and supporting services

● Provisioning○ DeploymentAdmin○ Apache ACE

● Application Context○ Service visibility○ Amdatu Platform

● Dynamic services○ Networking services○ Security services

Container services

(Remote) Services

Discovery Trust

Provisioning

Security

Messaging Topology

Contextservices

Networkingservices

Securityservices

Page 14: Dynamic Hybrid Cloud Applications - Bram de Kruijff, Alexander Broekhuis

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 support● Role/Task coordination● Priority based scheduling● Load balancing

Coordination layer

Applicationdeployment

ResourceManagement

TaskCoordination

NetworkManagement

Page 15: Dynamic Hybrid Cloud Applications - Bram de Kruijff, Alexander Broekhuis

The coordination services are selectively provisioned onto node agents in

the system to provide redundant, optimized and fail-safe coordination

facilities

● Application deployment

○ Requirement/Capabilities

○ QoS Monitoring

● Resource Management

○ Apache JClouds*

○ OpenStack

○ OpenContrail

Coordination services

(Remote) Services

Discovery Trust

Provisioning

Security

Messaging Topology

Applicationdeployment

ResourceManagement

TaskCoordination

*) Apache JClouds is an ASF incubator project

Page 16: Dynamic Hybrid Cloud Applications - Bram de Kruijff, Alexander Broekhuis

Co

ord

inat

ion

laye

rD

ynam

icla

yer

Co

rela

yer

A B B AApplicationMonitoring

“Deployment Topology”

Func/QoSRequirements

B

Application Deployment

Func/QoSCapabilities

Func/QosReporting

InstallServices

IntrusionDetection

ContextServices

RemoteServices

DeployServices

MonitorServices

SecurityServices

DiscoveryServices

MessagingServices

ABA

Func/QoSCapabilities

Func/QoSReporting

Conceptual overview

Page 17: Dynamic Hybrid Cloud Applications - Bram de Kruijff, Alexander Broekhuis

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 ;)

Page 18: Dynamic Hybrid Cloud Applications - Bram de Kruijff, Alexander Broekhuis

Thank you!

[email protected]

http://www.inaetics.org

[email protected]

http://www.luminis-technologies.com

Continuous Automated Deployment with Apache ACEThursday at 11:15 - 11:50Schubartsaal