NETE4631 Cloud deployment models and migration Lecture Notes #5 1 Recap – Service-Oriented Architecture SOA “A service-oriented architecture (SOA) is an application framework that takes everyday business applications and breaks them down into individual business functions and processes, called services. An SOA lets you build, deploy, and integrate these services independent of applications and the computing platforms on which they run.” –IBM“ Some of the characteristics Increasing nature of distributed systems Heterogeneity of systems and computing environments Transparency of communication infrastructure details 2 Recap (2) - SOA Enabling Technologies Enterprise Service Bus (ESB) Web Services (SOAP, WSDL, UDDI) 3 Business Process Modeling (BPM) BPM addresses process flow and service invocations to form useful works. Two integration methods Orchestration Choreography WS- BPEL (orchestration-like) A language standard for WS interactions View business process as a collection of activity graphs Provides command for defining logic using conditional statements, loops, variable etc. 4 Recap (3) - SOA and Cloud 5 Service Models and their risks Modified from Cloud Computing Impact on future enterprise architectures, Schekkerman, J. 6 Service and Deployment Models 7 Lecture Outline Cloud deployment models Business case Moving applications to the cloud Application attributes Cloud service attributes System abstraction Cloud bursting Application and cloud APIs Migration of SOA-based Applications to the Cloud 8 Cloud Deployment Models (NIST) Public clouds Private clouds Hybrid clouds The models by the US National institute of standards and technology (NIST) 9 Public Clouds Infrastructure is for public use Own by organization selling cloud services Potential advantage No risk in infrastructure Potential disadvantage Lack of security 10 Key public cloud providers Google EMC Corporation Google Docs, Google App Engine (GAE) Parent company of VMWare, one of the leading companies in virtualization Microsoft Azure Platform Amazon Web Services (EC2 and S3) Salesforce.com (force.com) 11 Partnership for cloud providers Yahoo! Research Computational Research Laboratories (CRL) Super computer with more than 14, 000 processors SAP and IBM Resources and Services Virtualization Without Barriers (RESERVOIR) 12 Partnership for cloud providers (2) IBM POWER6 –Live Partition Mobility capacity HP, Intel, and Yahoo! OPEN CIRRUS: A Global Cloud Computing Testbed IBM and Amazon IBM DB2, Informix Dynamic Server, WebSphere Portal, Lotus Web Content Management, WebSphere eMash, and Novell’s SUSE Linux operating system 13 Private Clouds Private cloud has different meanings to different people But Basically, it’s a cloud infrastructure set up, managed, and upgraded by an organization or community for their own use (private use) Full control of all resources and technologies 14 Private Clouds (2) Commercial vendors are entering in this domain quite fast and Open Source providers are also there Potential advantage Eucalyptus, Ubuntu Security Potential disadvantage Infrastructure cost 15 Hybrid Clouds Combine multiple clouds (private and public) Potential advantage Each cloud retains its unique characteristics, but bound together as a unit Security and Infrastructure cost Potential disadvantage Policies compliance???, Synchronization??? 16 Other types of clouds Virtual private clouds (VPC) Run on top of public cloud Leverage VPN technology to customize network topology and security setting Advantage – infrastructure and security Example, Amazon Web Services 17 Other types of clouds (2) Community clouds Serve a common function or purpose of multiple units Share common concerns such as mission, policies, security and regulatory compliances Units can be within one organization or multiple organizations Advantage Cost – shared infrastructure cost Security – higher level of security and privacy 18 Business case Dimensions to consider to save cost Ongoing operational cost reduction The value of preserving capital The value of upsizing on demand The value of downsizing on demand The value of agility The value of reuse The value of coolness 19 Operational Cost Reduction 20 Upsize and downsize on demand 21 Case Study on Oil & Gas Industry The migration use-case of an IT System From a company’s in-house data center To Amazon EC2 System Overview System Deployed in the Cloud 22 Infrastructure costs Company C paid £104,000 to Company B for the system in 2005, £19,400 of which was for the system’s infrastructure. In addition, C paid B £43,000 per year for system support and maintenance, £3600 of which is for the running costs of the system infrastructure. Over a 5 year period, the total cost of the system infrastructure is therefore: 23 £19,400 + (5 x £3,600) = £37000 Price Comparision Amazon EC2 provides an option of using either small or large server instances depending on the amount of CPU power and RAM required. In Cloud, 37% cheaper compared to 1 small and 1 large server instance 24 Support and Maintenance In 2005, 218 Support calls have been made regarding the operation of the system. The majority were about software problems. 45 calls were related to the system’s infrastructure. 38 calls – backup problems 5 calls – network problems 2 calls – power outages at B In cloud – 21% eliminated 25 Stakeholders’ Impact Analysis Stakeholders’ impact analysis is a method of identifying potential sources of benefits and risks from the perspectives of multiple stakeholders. 26 The steps to do business case Understanding the existing issues Assign costs Model “as is” Model “to be” Define value points Define hard benefits Define soft benefits Create business case 27 Moving applications to the cloud Deploy Application to the cloud? Entirely or Part of the application is on the local system and another part is in the cloud Migration involves Functionality Mapping - Identification of potential benefits associated with migration Analysis of critical features of application Analysis of features supported by cloud provider Nature of target cloud platform Evaluation of supported tools and technologies 28 Application attributes Attributes to analyze for porting applications to the cloud Application Availability Data management Cost Maintenance Security Scalability Interfaces 29 Application Attributes (2) Quality attributes associated with application Quality attributes associated with availability Fault management, Geographic location, resource pooling, resource access, reliability, uptime. Quality attributes associated with scalability Abstraction, configuration, interoperability, modularity, reusability, language support, monitoring support, staffing requirements, tool support. Caching, licensing, lifecycle management, load balancing, replication, resource provisioning Quality attributes associated with cost Development cost, resource cost, staging cost. 30 Application Attributes (3) Quality attributes associated with data management Quality attributes associated with security Access, auditing, authentication, cryptography, identity, regulations, remote access, security rules, trust relationships. Quality attributes associated with maintenance Data exchange, indexing, online/offline access, portability, query, state, store type, data structures, transactions. APIs, Configurations, Deployment. Quality attributes associated with user interface Ease of use, interface features, user interaction. 31 Cloud Service Attributes Features associated with application Accounting schemes, operating system support, database support, resource pooling mechanisms, site location, redundancy and replication, relation management, virtual machine types, APIs. Platform features Application support, deployment environments, Internationalization (languages and locale), programming langue support, testing, API and command line interfaces. 32 Cloud Service Attributes (2) Infrastructure features Availability, network support, load balancing, reliability, replication, database support. 33 Which cloud types to select? 34 Following types of application are more suitable for cloud Not mission critical. Not handling core business operations. Not dealing with sensitive data. Can tolerate high network latencies and work on low network bandwidth. Following industry standards. E.g. using standardized tools for object to relational mappings. Do not require detailed customization for each tenant. Organization involved in porting have full knowledge of application and its associated domain. 35 System Abstraction Target should be able to provide abstraction of all required physical resources through virtualization. Example, Medical imaging system 36 Cloud Bursting Cloud should be able to serve access capacity when required. Example, Reservation system 37 Application and Cloud APIs Provides access to cloud resources in automated fashion. Nature of cloud APIs can impact migration activity. REST and SOAP are common techniques to expose APIs. Cross platform portability is an issue because of unavailability of standardized APIs. 38 Migration of SOA-based Applications to the Cloud 39 Understanding your data, services and processes Data Service List systems the problem domain and the databases that support those systems Get DB information such as brand, model, etc List services in the problem domain and list what they do, what information they process Process Looking at processes in the problem domain and how they will span between cloud and 40 your enterprise Examples of Architectural Components Data Services Customers (Cnum (char(30)) Cname (char(30)) CAddress (char(40))) Add_Customer/ Update_Cutomer are bound to Customer tables Processes Generate_Customer_Record process is bound to Add_Customer/ Add_Account/ Record_Sales services. 41 Candidate Data, Services and Processes for the Cloud When the processes, applications, and data are largely independent, or loosely coupled When the points of integration are well-defined interfaces such as APIs When a lower level of security will work just fine When the browser is the desired user interface When the money is tight When the applications and/or services are new 42 Making the move to Cloud List candidate platforms Analyze and test candidate platforms Select target platforms Deploy to target platforms Example Processes Service IaaS / Amazon EC2 or P(rocess) aaS / Appian IaaS / Amazon EC2 or DaaS / Amazon Simple DB Data IaaS / Amazon EC2 or PaaS / Force.com 43 Summary Application requirements and cloud features should be carefully analyzed while migrating applications on cloud. Quality attributes support by cloud provider plays a vital role in successful migrations. Business dimension of application migration is as important to consider as technical aspects. 44 References Chapter 1, 14 of Course Book: Cloud Computing Bible, 2011, Wiley Publishing Inc. Cloud Migration: A Case Study of Migrating an Enterprise IT System to IaaS, Khajeh-Hosseini, A., Greenwood, D., Sommerville, I., 2009 Chapter 4-7, 10. 11 of Cloud Computing and SOA Convergence in your Enterprise, Linthicum, D., S. 45