Architectural solutions for the cloud

1,052 views

Published on

Published in: Technology, Business
  • Be the first to comment

  • Be the first to like this

Architectural solutions for the cloud

  1. 1. Ambients and Service Oriented Architecture: Architectural Solutions for the Cloud Dr. Nour Ali [email_address]
  2. 2. Agenda <ul><li>Cloud Computing Challenges </li></ul><ul><li>Approaches and Solutions </li></ul><ul><li>Ambients in Software Architecture </li></ul><ul><li>Ambient Service Oriented Architecture for Cloud Computing </li></ul><ul><li>Further Work </li></ul>
  3. 3. Cloud Architectural Parties
  4. 4. Resources <ul><li>Servers </li></ul><ul><li>Network </li></ul><ul><li>Memory </li></ul><ul><li>CPU cycles </li></ul><ul><li>Storage Space </li></ul>
  5. 5. <ul><li>Many Devices can be connected to the Cloud </li></ul>
  6. 6. SOA and the CLoud
  7. 7. Challenges <ul><li>Application Integration Issues </li></ul><ul><ul><li>Applications are geographically dispersed. </li></ul></ul>
  8. 8. Interoperability <ul><li>Dr. Alexander Pasik, CIO at IEEE: </li></ul><ul><ul><li>&quot;Security is certainly a very important consideration, but it's not what will inhibit further adoption,” </li></ul></ul><ul><ul><li>&quot;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.&quot; </li></ul></ul>
  9. 9. Higher Abstraction <ul><li>Cloud Computing increases agility and costs </li></ul><ul><li>Free developers from dealing with low-level issues such as hardware configurations or network management (Khalid, 2011) </li></ul>
  10. 10. Service Oriented Architecture <ul><li>The basic principles of SOA are: </li></ul><ul><ul><li>Boundaries are explicit </li></ul></ul><ul><ul><li>Services are autonomous </li></ul></ul><ul><ul><li>Share schemas and contracts, not implementations </li></ul></ul><ul><ul><li>Service compatibility is based on policy </li></ul></ul>Conceptualize distribution and mobility primitives at a high abstract level. Conceptualize distribution and mobility primitives at a high abstract level. 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 .
  11. 11. <ul><li>An ambient is a place, delimited by a boundary, where computation happens. </li></ul><ul><li>Examples of ambients are: </li></ul><ul><ul><ul><li>Devices such as laptops, PDAs, etc </li></ul></ul></ul><ul><ul><ul><li>A webpage </li></ul></ul></ul><ul><ul><ul><li>Data packets </li></ul></ul></ul><ul><ul><ul><li>Firewalls </li></ul></ul></ul><ul><ul><ul><li>Networks </li></ul></ul></ul><ul><ul><ul><li>A Building or an airplane </li></ul></ul></ul>Ambient Calculus Cardelli and Gordon, 1998 n P Q R m in m
  12. 12. <ul><li>An ambient is a place, delimited by a boundary, where computation happens. </li></ul><ul><li>Examples of ambients are: </li></ul><ul><ul><ul><li>Devices such as laptops, PDAs, etc </li></ul></ul></ul><ul><ul><ul><li>A webpage </li></ul></ul></ul><ul><ul><ul><li>Data packets </li></ul></ul></ul><ul><ul><ul><li>Firewalls </li></ul></ul></ul><ul><ul><ul><li>Networks </li></ul></ul></ul><ul><ul><ul><li>A Building or an airplane </li></ul></ul></ul>Ambient Calculus Cardelli and Gordon, 1998 R m Open m
  13. 13. Model Driven Engineering <ul><li>Model Driven Engineering permits the automation of the software development process using models </li></ul>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 Platform Independent Model (PIM) Platform Specific Model (PSM) Code Technological Patterns
  14. 14. Service Oriented Architecture Modeling Language <ul><li>OMG standard </li></ul>
  15. 15. Approach SoaML Ambient Calculus + Ambient-SoaML Ambient-SoaML Ambient-SoaML Ambient-SoaML Ambient-SoaML Ambient-SoaML An approach that allows service oriented architects to design models that are ambient aware and be able to generate executable code. An approach that allows service oriented architects to design models that are ambient aware and be able to generate executable code. An approach that allows service oriented architects to design models that are ambient aware and be able to generate executable code. An approach that allows service oriented architects to design models that are ambient aware and be able to generate executable code. An approach that allows service oriented architects to design models that are ambient aware and be able to generate executable code. An approach that allows service oriented architects to design models that are ambient aware and be able to generate executable code. An approach that allows service oriented architects to design models that are ambient aware and be able to generate executable code. An approach that allows service oriented architects to design models using ambients and be able to generate executable applications.
  16. 16. <ul><li>A modeling tool which allows developers to design/specify the architectures in an abstract way: </li></ul><ul><ul><li>Provide different types of ambients suitable for cloud computing e.g., mobile cloud, Infrastructure as a Service (IaaS), Cell as a Service, etc </li></ul></ul><ul><li>Using Model Driven Engineering techniques to automatically: </li></ul><ul><ul><li>Validate the suitability of the existing cells, platforms, etc. </li></ul></ul><ul><ul><li>Generate the needed code for configuration </li></ul></ul><ul><ul><li>Deploy the applications (services) on the cloud </li></ul></ul><ul><li>Manage the applications at runtime: </li></ul><ul><ul><li>Detection of Failure of Nodes </li></ul></ul><ul><ul><li>Monitoring the properties </li></ul></ul>Proposal Objective
  17. 17. What is an Ambient in Software Architecture? <ul><li>An ambient is a kind of connector that… </li></ul><ul><ul><li>Represents the boundary where Components and other connectors are located. </li></ul></ul><ul><ul><li>Coordinates what is in from what is out of a boundary for mobility or communication purposes. </li></ul></ul><ul><ul><li>Can locate other ambients. </li></ul></ul>Ambient subAmbient IC ES IS EC IR « connector Connector « connector Connector « connector Connector « connector Connector Component Component
  18. 18. Kinds of Ambients
  19. 19. Moving a Bidder Agent out exit(Name,Parent)
  20. 20. Moving a Bidder Agent out accept(Bidder1,……)
  21. 21. Reconfiguration of attachments in ClientSite
  22. 22. Bidder Exited
  23. 23. Bidder Entering AuctionSite out enter(Name, NewAmbient)
  24. 24. Bidder in AuctionSite
  25. 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
  26. 26. Execution of Ambient-PRISMANET V Jornadas de DYNAMICA - Valencia, 23 y 24 de noviembre 2006 DEMO
  27. 27. Ambient-SoaML metamodel
  28. 28. Tool Usage 1 2 3 4 5
  29. 29. Validation
  30. 30. Text View ECore View Text View
  31. 31. Agenda <ul><li>Cloud Computing Challenges </li></ul><ul><li>Ambients in Software Architecture </li></ul><ul><li>Ambient Service Oriented Architecture for Cloud Computing </li></ul><ul><li>Further Work </li></ul>
  32. 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 VPN approx 230ms RTT Remote-desktop to XX.XX.0.* (No direct access to Amazon VPC) Internet On-Premise Servers Enterprise Data store Authentication server Virtual Machines Business Web application
  33. 33. Ambients for Cloud Independent of technology
  34. 34. Architecture of a Hybrid Dev Environment On-Premise Servers Enterprise Data store Authentication server Virtual Machines Business Web application Corporate Network Amazon Desktop Private Cloud Server US-East Data Center (Cloud) Server Virtual Machine
  35. 35. Application Deployment in a Hybrid Dev Environment On-Premise Servers Enterprise Data store Authentication server Virtual Machines Business Web application Corporate Network Amazon Desktop Private Cloud Server US-East Data Center (Cloud) Server Virtual Machine Package
  36. 36. Application Deployment in a Hybrid Dev Environment On-Premise Servers Enterprise Data store Authentication server Virtual Machines Business Web application Corporate Network Amazon Desktop Private Cloud Server US-East Data Center (Cloud) Server Virtual Machine Package
  37. 37. Application Deployment in a Hybrid Dev Environment On-Premise Servers Enterprise Data store Authentication server Virtual Machines Business Web application Corporate Network Amazon Desktop Private Cloud Server US-East Data Center (Cloud) Server Virtual Machine Package
  38. 38. Application Deployment in a Hybrid Dev Environment On-Premise Servers Enterprise Data store Authentication server Virtual Machines Business Web application Corporate Network Amazon Desktop Private Cloud Server US-East Data Center (Cloud) Server Virtual Machine Package
  39. 39. Application Deployment in a Hybrid Dev Environment On-Premise Servers Enterprise Data store Authentication server Virtual Machines Business Web application Corporate Network Amazon Desktop Private Cloud Server US-East Data Center (Cloud) Server Virtual Machine
  40. 40. Mobility and Reconfiguration <ul><li>When resources not enough on mobile device move application to cloud </li></ul>Business Web application Mobile Device CLOUD Server Virtual Machine
  41. 41. Mobility and Reconfiguration <ul><li>When resources not enough on mobile device move application to cloud </li></ul>Business Web application Mobile Device CLOUD Server Virtual Machine Package
  42. 42. Mobility and Reconfiguration <ul><li>When resources not enough on mobile device move application to cloud </li></ul>Business Web application Mobile Device CLOUD Server Virtual Machine Package
  43. 43. Mobility and Reconfiguration <ul><li>When resources not enough on mobile device move application to cloud </li></ul>Business Web application Mobile Device CLOUD Server Virtual Machine Package
  44. 44. Mobility and Reconfiguration <ul><li>When resources not enough on mobile device move application to cloud </li></ul>Business Web application Mobile Device CLOUD Server Virtual Machine Package
  45. 45. Mobility and Reconfiguration <ul><li>When resources not enough on mobile device move application to cloud </li></ul>Business Web application Mobile Device CLOUD Server Virtual Machine
  46. 46. 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 B If App. C has huge amount of data or has sensitive data to transfer reconfiguration <ul><li>Dynamic reconfiguration of applications to use a public cloud when a private cloud cannot provide enough computing resources </li></ul>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
  47. 47. Mapping Ambient into cloud technology <ul><li>Windows Azure AppFabric </li></ul><ul><ul><li>Connect existing applications to the cloud </li></ul></ul><ul><ul><li>Connect through network boundary </li></ul></ul><ul><ul><li>Easily control authorization to apps. </li></ul></ul><ul><li>A Cell ambient can be a cell controller </li></ul>
  48. 48. Windows Azure
  49. 49. Environment Azure, Amazon Elastic Cloud, etc Application Developer -Kinds of Ambient -Price -Energy -Resources ? CODE+DEPLOYMENT + Manager -Monitor + Controls (Move+Replicate)
  50. 50. Further Challenges <ul><li>Reconfiguration by including new resources on the cloud </li></ul><ul><li>Mobile Devices can become part of the cloud </li></ul><ul><li>Security </li></ul><ul><li>Development of the automation tools </li></ul>
  51. 51. Thank you Questions? Nour Ali, PhD. Lero, The Irish Research Centre, University of Limerick Ireland Home page: http://www.lero.ie/staff/nali Email: [email_address]

×