architectural solutions for the cloud
DESCRIPTION
TRANSCRIPT
1
Ambients and Service Oriented Architecture: Architectural Solutions for the Cloud
Dr. Nour Ali [email protected]
2
Agenda
Cloud Computing Challenges Approaches and Solutions Ambients in Software Architecture Ambient Service Oriented Architecture for
Cloud Computing Further Work
3
Cloud Architectural Parties
Resources
Servers Network Memory CPU cycles Storage Space
4
Many Devices can be connected to the Cloud
SOA and the CLoud
6
Challenges
Application Integration IssuesApplications are geographically dispersed.
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."
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)
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
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
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
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
Service Oriented Architecture Modeling Language
OMG standard
Approach
An approach that allows service oriented architects to design models using ambients and be able to generate executable applications.
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
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.
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
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)
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,……)
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
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
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)
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
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
V Jornadas de DYNAMICA - Valencia, 23 y 24 de noviembre 2006
26
Execution of Ambient-PRISMANET
DEMO
27
Ambient-SoaML metamodel
Tool Usage
28
1
2
3
4
5
Validation
29
Text View
30
ECore View
Text View
31
Agenda
Cloud Computing Challenges Ambients in Software Architecture Ambient Service Oriented Architecture for
Cloud Computing Further Work
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
33
Ambients for Cloud Independent of technology
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
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
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
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
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
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
Mobility and Reconfiguration
When resources not enough on mobile device move application to cloud
Business Web application
Mobile Device
CLOUD
Server
Virtual Machine
Mobility and Reconfiguration
When resources not enough on mobile device move application to cloud
Business Web application
Mobile Device
CLOUD
Server
Virtual MachinePackage
Mobility and Reconfiguration
When resources not enough on mobile device move application to cloud
Business Web application
Mobile Device
CLOUD
Server
Virtual MachinePackage
Mobility and Reconfiguration
When resources not enough on mobile device move application to cloud
Business Web application
Mobile Device
CLOUD
Server
Virtual Machine
Package
Mobility and Reconfiguration
When resources not enough on mobile device move application to cloud
Business Web application
Mobile Device
CLOUD
Server
Virtual Machine
Package
Mobility and Reconfiguration
When resources not enough on mobile device move application to cloud
Business Web application
Mobile Device
CLOUD
Server
Virtual Machine
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
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
Windows Azure
48
Environment
49
Azure, Amazon Elastic Cloud, etc
Application Developer-Kinds of Ambient-Price-Energy-Resources
? CODE+DEPLOYMENT
Manager
-Monitor + Controls (Move+Replicate)
Further Challenges
Reconfiguration by including new resources on the cloud
Mobile Devices can become part of the cloud Security Development of the automation tools
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]