architectural solutions for the cloud

51
1 Ambients and Service Oriented Architecture: Architectural Solutions for the Cloud Dr. Nour Ali [email protected]

Upload: threesixty

Post on 11-Nov-2014

812 views

Category:

Technology


0 download

DESCRIPTION

 

TRANSCRIPT

Page 1: Architectural solutions for the cloud

1

Ambients and Service Oriented Architecture: Architectural Solutions for the Cloud

Dr. Nour Ali [email protected]

Page 2: Architectural solutions for the cloud

2

Agenda

Cloud Computing Challenges Approaches and Solutions Ambients in Software Architecture Ambient Service Oriented Architecture for

Cloud Computing Further Work

Page 3: Architectural solutions for the cloud

3

Cloud Architectural Parties

Page 4: Architectural solutions for the cloud

Resources

Servers Network Memory CPU cycles Storage Space

4

Page 5: Architectural solutions for the cloud

Many Devices can be connected to the Cloud

Page 6: Architectural solutions for the cloud

SOA and the CLoud

6

Page 7: Architectural solutions for the cloud

Challenges

Application Integration IssuesApplications are geographically dispersed.

Page 8: Architectural solutions for the cloud

Interoperability

Dr. Alexander Pasik, CIO at IEEE:"Security is certainly a very important

consideration, but it's not what will inhibit further adoption,”

"To achieve the economies of scale that will make cloud computing successful, common platforms are needed to ensure users can easily navigate between services and applications regardless of where they're coming from, and enable organizations to more cost-effectively transition their IT systems to a services-oriented model."

Page 9: Architectural solutions for the cloud

9

Higher Abstraction

Cloud Computing increases agility and costs Free developers from dealing with low-level

issues such as hardware configurations or network management (Khalid, 2011)

Page 10: Architectural solutions for the cloud

Service Oriented Architecture

SOA is an architectural style, realized as a collection of collaborating agents, each called a service, whose goal is to manage complexity and achieve architectural resilience and robustness through ideas such as loose coupling, location transparency, and protocol independence.

The basic principles of SOA are:Boundaries are explicitServices are autonomousShare schemas and contracts, not implementationsService compatibility is based on policy

Page 11: Architectural solutions for the cloud

11

An ambient is a place, delimited by a boundary, where computation happens.

Examples of ambients are: Devices such as laptops, PDAs, etcA webpageData packetsFirewallsNetworksA Building or an airplane

Ambient CalculusCardelli and Gordon, 1998

m

n

in m P

Q

R

Page 12: Architectural solutions for the cloud

12

An ambient is a place, delimited by a boundary, where computation happens.

Examples of ambients are: Devices such as laptops, PDAs, etcA webpageData packetsFirewallsNetworksA Building or an airplane

Ambient CalculusCardelli and Gordon, 1998

m

Open m R

Page 13: Architectural solutions for the cloud

Model Driven Engineering

Model Driven Engineering permits the automation of the software development process using models

Platform Independent Model (PIM)

Platform Specific Model (PSM)

Code

Technological Patterns

Implementation Patterns

Transformation Patterns

Specifies how the functionality specified in a PIM is realized on a particular platform

A “formal” specification of the structure and function of a system that abstracts away technical detail

Specifies how the functionality specified in a PSM generates code to be executed

Page 14: Architectural solutions for the cloud

Service Oriented Architecture Modeling Language

OMG standard

Page 15: Architectural solutions for the cloud

Approach

An approach that allows service oriented architects to design models using ambients and be able to generate executable applications.

Page 16: Architectural solutions for the cloud

16

A modeling tool which allows developers to design/specify the architectures in an abstract way: Provide different types of ambients suitable for cloud

computing e.g., mobile cloud, Infrastructure as a Service (IaaS), Cell as a Service, etc

Using Model Driven Engineering techniques to automatically: Validate the suitability of the existing cells,

platforms, etc.Generate the needed code for configurationDeploy the applications (services) on the cloud

Manage the applications at runtime:Detection of Failure of NodesMonitoring the properties

Proposal Objective

Page 17: Architectural solutions for the cloud

17

What is an Ambient in Software Architecture?

An ambient is a kind of connector that… Represents the boundary where Components and other

connectors are located.

Ambient

subAmbientIC

ESIS

EC

IR

« connector

Connector

« connector

Connector

« connector

Connector

« connector

Connector

ComponentComponent

Coordinates what is in from what is out of a boundary for mobility or communication purposes.

Can locate other ambients.

Page 18: Architectural solutions for the cloud

18

Ambient(from Ambients)

Group

newGroup(GrpName : string)

Site

newSite(SiteName : string)

Virtual

newVirtual(VirtName : string)

inv distSite:self.Aspect-->select(A| A.concern="distribution")-->one(At| At.name="physicalLocation" and A.DataType.kind="loc")

inv inmobileRoot:self.Aspect-->select(A|A.concern="distribution")--> exists(A.Attribute-->one(a| a.name="location" and a.oclIsTypeOf(ConstantAttribute)) impliesself.Name=`Root`

inv childVirtual:self.child-->forall(c|c.oclIsTypeOf(Virtual) or c.oclOsTypeOfSite))

inv childSite:self.child-->not exist(c| c.oclIsTypeOf(Virtual))

inv childGroup:self.child-->not exist(c|c.oclIsTypeOf(Virtual) or c.oclIsTypeOf(Site))

Kinds of Ambients

Page 19: Architectural solutions for the cloud

19

Moving a Bidder Agent

AuctionSite

IC

ES IS

EC

Auction1« connector »<<connector>>

AuctionCnctr1

MobilityAspect

DistributionAspect

Weaving

CoordinationAspect

MobilityAspect

DistributionAspect

Weaving

CoordinationAspect

ClientSite

Customer «connector»

AgentCustCnct

ECECICIC

ISISESES

MobilityAspect

DistributionAspect

Weaving

CoordinationAspect

MobilityAspect

DistributionAspect

Weaving

CoordinationAspect

MobilityAspect

DistributionAspect

Weaving

CoordinationAspect

MobilityAspect

DistributionAspect

Weaving

CoordinationAspect ICIC

ISIS

Root

Bidder1

out exit(Name,Parent)

Page 20: Architectural solutions for the cloud

20

Moving a Bidder Agent

AuctionSite

IC

ES IS

EC

Auction1« connector »<<connector>>

AuctionCnctr1

MobilityAspect

DistributionAspect

Weaving

CoordinationAspect

MobilityAspect

DistributionAspect

Weaving

CoordinationAspect

ClientSite

Customer «connector»

AgentCustCnct

ECECICIC

ISISESES

MobilityAspect

DistributionAspect

Weaving

CoordinationAspect

MobilityAspect

DistributionAspect

Weaving

CoordinationAspect

MobilityAspect

DistributionAspect

Weaving

CoordinationAspect

MobilityAspect

DistributionAspect

Weaving

CoordinationAspect ICIC

ISIS

Root

Bidder1

out accept(Bidder1,……)

Page 21: Architectural solutions for the cloud

21

Reconfiguration of attachments in ClientSite

AuctionSite

IC

ES IS

EC

Auction1« connector »<<connector>>

AuctionCnctr1

MobilityAspect

DistributionAspect

Weaving

CoordinationAspect

MobilityAspect

DistributionAspect

Weaving

CoordinationAspect

ClientSite

Customer «connector»

AgentCustCnct

ECECICIC

ISISESES

MobilityAspect

DistributionAspect

Weaving

CoordinationAspect

MobilityAspect

DistributionAspect

Weaving

CoordinationAspect

MobilityAspect

DistributionAspect

Weaving

CoordinationAspect

MobilityAspect

DistributionAspect

Weaving

CoordinationAspect ICIC

ISIS

Root

Bidder1

Page 22: Architectural solutions for the cloud

22

Bidder Exited

AuctionSite

IC

ES IS

EC

Auction1« connector »<<connector>>

AuctionCnctr1

MobilityAspect

DistributionAspect

Weaving

CoordinationAspect

MobilityAspect

DistributionAspect

Weaving

CoordinationAspect IC

IS

Root

Bidder1

ClientSite

Customer «connector»

AgentCustCnct

ECECI CI C

I SI SESES

MobilityAspect

DistributionAsp ect

Weaving

CoordinationAspect

MobilityAspect

DistributionAsp ect

Weaving

CoordinationAspect

ESIS

AuctionSite

IC

ES IS

EC

Auction1« connector »<<connector>>

AuctionCnctr1

MobilityAspect

DistributionAspect

Weaving

CoordinationAspect

MobilityAspect

DistributionAspect

Weaving

CoordinationAspect

MobilityAspect

DistributionAspect

Weaving

CoordinationAspect

MobilityAspect

DistributionAspect

Weaving

CoordinationAspect ICIC

ISIS

Root

Bidder1Bidder1

ClientSite

Customer «connector»

AgentCustCnct

ECECI CI C

I SI SESES

MobilityAspect

DistributionAsp ect

Weaving

CoordinationAspect

MobilityAspect

DistributionAsp ect

Weaving

CoordinationAspect

ClientSite

Customer «connector»

AgentCustCnct

ECECI CI C

I SI SESES

MobilityAspect

DistributionAsp ect

Weaving

CoordinationAspect

MobilityAspect

DistributionAsp ect

Weaving

CoordinationAspect

ESIS

Page 23: Architectural solutions for the cloud

23

Bidder Entering AuctionSite

AuctionSite

IC

ES IS

EC

Auction1« connector »<<connector>>

AuctionCnctr1

MobilityAspect

DistributionAspect

Weaving

CoordinationAspect

MobilityAspect

DistributionAspect

Weaving

CoordinationAspect IC

IS

Root

Bidder1

ClientSite

Customer «connector»

AgentCustCnct

ECECI CI C

I SI SESES

MobilityAspect

DistributionAsp ect

Weaving

CoordinationAspect

MobilityAspect

DistributionAsp ect

Weaving

CoordinationAspect

ESIS

AuctionSite

IC

ES IS

EC

Auction1« connector »<<connector>>

AuctionCnctr1

MobilityAspect

DistributionAspect

Weaving

CoordinationAspect

MobilityAspect

DistributionAspect

Weaving

CoordinationAspect

MobilityAspect

DistributionAspect

Weaving

CoordinationAspect

MobilityAspect

DistributionAspect

Weaving

CoordinationAspect ICIC

ISIS

Root

Bidder1Bidder1

ClientSite

Customer «connector»

AgentCustCnct

ECECI CI C

I SI SESES

MobilityAspect

DistributionAsp ect

Weaving

CoordinationAspect

MobilityAspect

DistributionAsp ect

Weaving

CoordinationAspect

ClientSite

Customer «connector»

AgentCustCnct

ECECI CI C

I SI SESES

MobilityAspect

DistributionAsp ect

Weaving

CoordinationAspect

MobilityAspect

DistributionAsp ect

Weaving

CoordinationAspect

ESIS

out enter(Name, NewAmbient)

Page 24: Architectural solutions for the cloud

24

Bidder in AuctionSite

AuctionSite

IC

ES IS

EC

Auction1« connector »<<connector>>

AuctionCnctr1

MobilityAspect

DistributionAspect

Weaving

CoordinationAspect

MobilityAspect

DistributionAspect

Weaving

CoordinationAspect

MobilityAspect

DistributionAspect

Weaving

CoordinationAspect

MobilityAspect

DistributionAspect

Weaving

CoordinationAspect ICIC

ISIS

Root

Bidder1Bidder1

ClientSite

Customer «connector»

AgentCustCnct

ECECI CI C

I SI SESES

MobilityAspect

DistributionAsp ect

Weaving

CoordinationAspect

MobilityAspect

DistributionAsp ect

Weaving

CoordinationAspect

ClientSite

Customer «connector»

AgentCustCnct

ECECI CI C

I SI SESES

MobilityAspect

DistributionAsp ect

Weaving

CoordinationAspect

MobilityAspect

DistributionAsp ect

Weaving

CoordinationAspect

ESIS

Page 25: Architectural solutions for the cloud

25

Configuration Level

Architectural_Model_Configuration MobileAgentsAuctionConf = New MobileAgentsAuction { IP1 = new loc(ip.of.host.1); IP2 = new loc(ip.of.host.2); IP3 = new loc(ip.of.host.3); ROOT = new Root() ; ClientSite = new HostSite(ROOT, IP1); AuctionSite = new HostSite(ROOT, IP2); …… Bidder1 = new Bidder(“ClientSite”); ……

AttchBidder1Auc1=new AttchBidderAuc(Bidder1, BidderAUCTPort, AuctionHouseCnct1, BidderPortAuct);

Physical Locations

Ambient Hierarchy

Instantiation of elements

Attachments

Page 26: Architectural solutions for the cloud

V Jornadas de DYNAMICA - Valencia, 23 y 24 de noviembre 2006

26

Execution of Ambient-PRISMANET

DEMO

Page 27: Architectural solutions for the cloud

27

Ambient-SoaML metamodel

Page 28: Architectural solutions for the cloud

Tool Usage

28

1

2

3

4

5

Page 29: Architectural solutions for the cloud

Validation

29

Page 30: Architectural solutions for the cloud

Text View

30

ECore View

Text View

Page 31: Architectural solutions for the cloud

31

Agenda

Cloud Computing Challenges Ambients in Software Architecture Ambient Service Oriented Architecture for

Cloud Computing Further Work

Page 32: Architectural solutions for the cloud

32

Architecture of a Hybrid Dev Environment

Private Cloud (Isolated Network)Only accessible from Corporate

Corporate Network

Isolated Network in Amazon

Amazon Cloud (US-East Datacenter)

IPSec VPNapprox 230ms

RTT

Remote-desktop to XX.XX.0.*(No direct access to Amazon VPC)

Internet

On-Premise Servers

Enterprise Data storeAuthentication server

Virtual Machines

Business Web application

Page 33: Architectural solutions for the cloud

33

Ambients for Cloud Independent of technology

Page 34: Architectural solutions for the cloud

34

Architecture of a Hybrid Dev Environment

On-Premise Servers

Enterprise Data storeAuthentication server

Virtual Machines

Business Web application

Corporate Network

Desktop

Private Cloud

Server

Amazon

US-East Data Center (Cloud)

Server

Virtual Machine

Page 35: Architectural solutions for the cloud

35

Application Deployment in a Hybrid Dev Environment

On-Premise Servers

Enterprise Data storeAuthentication server

Virtual Machines

Business Web application

Corporate Network

Desktop

Private Cloud

Server

Amazon

US-East Data Center (Cloud)

Server

Virtual Machine

Package

Page 36: Architectural solutions for the cloud

36

Application Deployment in a Hybrid Dev Environment

On-Premise Servers

Enterprise Data storeAuthentication server

Virtual Machines

Business Web application

Corporate Network

Desktop

Private Cloud

Server

Amazon

US-East Data Center (Cloud)

Server

Virtual Machine

Package

Page 37: Architectural solutions for the cloud

37

Application Deployment in a Hybrid Dev Environment

On-Premise Servers

Enterprise Data storeAuthentication server

Virtual Machines

Business Web application

Corporate Network

Desktop

Private Cloud

Server

Amazon

US-East Data Center (Cloud)

Server

Virtual Machine

Package

Page 38: Architectural solutions for the cloud

38

Application Deployment in a Hybrid Dev Environment

On-Premise Servers

Enterprise Data storeAuthentication server

Virtual Machines

Business Web application

Corporate Network

Desktop

Private Cloud

Server

Amazon

US-East Data Center (Cloud)

Server

Virtual Machine

Package

Page 39: Architectural solutions for the cloud

39

Application Deployment in a Hybrid Dev Environment

On-Premise Servers

Enterprise Data storeAuthentication server

Virtual Machines

Business Web application

Corporate Network

Desktop

Private Cloud

Server

Amazon

US-East Data Center (Cloud)

Server

Virtual Machine

Page 40: Architectural solutions for the cloud

Mobility and Reconfiguration

When resources not enough on mobile device move application to cloud

Business Web application

Mobile Device

CLOUD

Server

Virtual Machine

Page 41: Architectural solutions for the cloud

Mobility and Reconfiguration

When resources not enough on mobile device move application to cloud

Business Web application

Mobile Device

CLOUD

Server

Virtual MachinePackage

Page 42: Architectural solutions for the cloud

Mobility and Reconfiguration

When resources not enough on mobile device move application to cloud

Business Web application

Mobile Device

CLOUD

Server

Virtual MachinePackage

Page 43: Architectural solutions for the cloud

Mobility and Reconfiguration

When resources not enough on mobile device move application to cloud

Business Web application

Mobile Device

CLOUD

Server

Virtual Machine

Package

Page 44: Architectural solutions for the cloud

Mobility and Reconfiguration

When resources not enough on mobile device move application to cloud

Business Web application

Mobile Device

CLOUD

Server

Virtual Machine

Package

Page 45: Architectural solutions for the cloud

Mobility and Reconfiguration

When resources not enough on mobile device move application to cloud

Business Web application

Mobile Device

CLOUD

Server

Virtual Machine

Page 46: Architectural solutions for the cloud

Scenarios of Reconfiguration

Application A

Application B

Application C

Private Cloud

Spikes in demand for App.C but your private cloud has no resources! Application C

Application A

Application BIf App. C has huge amount of data or has sensitive data to transfer

reconfiguration Application A

Application B

Application C

Application C

Public Cloud

Rent computing resources in public cloud(s) and replicated App. C to meet the (short-time) demand

• Dynamic reconfiguration of applications to use a public cloud when a private cloud cannot provide enough computing resources

46

Page 47: Architectural solutions for the cloud

Mapping Ambient into cloud technology

Windows Azure AppFabricConnect existing applications to the cloudConnect through network boundaryEasily control authorization to apps.

A Cell ambient can be a cell controller

Page 48: Architectural solutions for the cloud

Windows Azure

48

Page 49: Architectural solutions for the cloud

Environment

49

Azure, Amazon Elastic Cloud, etc

Application Developer-Kinds of Ambient-Price-Energy-Resources

? CODE+DEPLOYMENT

Manager

-Monitor + Controls (Move+Replicate)

Page 50: Architectural solutions for the cloud

Further Challenges

Reconfiguration by including new resources on the cloud

Mobile Devices can become part of the cloud Security Development of the automation tools

Page 51: Architectural solutions for the cloud

51

Thank youThank you

Questions?Questions?

Nour Ali, PhD.

Lero, The Irish Research Centre,University of LimerickIreland

Home page: http://www.lero.ie/staff/nali

Email: [email protected]