450 likes | 608 Vues
NETE4631 Cloud deployment models and migration. Lecture Notes #5. Recap – Service-Oriented Architecture SOA.
E N D
NETE4631Cloud deployment models and migration Lecture Notes #5
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
Recap (2) - SOA Enabling Technologies • Enterprise Service Bus (ESB) • Web Services (SOAP, WSDL, UDDI)
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.
Service Models and their risks Modified from Cloud Computing Impact on future enterprise architectures, Schekkerman, J.
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
Cloud Deployment Models (NIST) • Public clouds • Private clouds • Hybrid clouds The models by the US National institute of standards and technology (NIST)
Public Clouds • Infrastructure is for public use • Own by organization selling cloud services • Potential advantage • No risk in infrastructure • Potential disadvantage • Lack of security
Key public cloud providers • Google • Google Docs, Google App Engine (GAE) • EMC Corporation • Parent company of VMWare, one of the leading companies in virtualization • Microsoft Azure Platform • Amazon Web Services (EC2 and S3) • Salesforce.com (force.com)
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)
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
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
Private Clouds (2) • Commercial vendors are entering in this domain quite fast and Open Source providers are also there • Eucalyptus, Ubuntu • Potential advantage • Security • Potential disadvantage • Infrastructure cost
Hybrid Clouds • Combine multiple clouds (private and public) • Each cloud retains its unique characteristics, but bound together as a unit • Potential advantage • Security and Infrastructure cost • Potential disadvantage • Policies compliance???, Synchronization???
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
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
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
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 Deployed in the Cloud System Overview
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: £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
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
Stakeholders’ Impact Analysis • Stakeholders’ impact analysis is a method of identifying potential sources of benefits and risks from the perspectives of multiple stakeholders.
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
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
Application attributes • Attributes to analyze for porting applications to the cloud • Application • Availability • Data management • Cost • Maintenance • Security • Scalability • Interfaces
Application Attributes (2) • Quality attributes associated with application • Abstraction, configuration, interoperability, modularity, reusability, language support, monitoring support, staffing requirements, tool support. • Quality attributes associated with availability • Fault management, Geographic location, resource pooling, resource access, reliability, uptime. • Quality attributes associated with scalability • Caching, licensing, lifecycle management, load balancing, replication, resource provisioning • Quality attributes associated with cost • Development cost, resource cost, staging cost.
Application Attributes (3) • Quality attributes associated with data management • Data exchange, indexing, online/offline access, portability, query, state, store type, data structures, transactions. • Quality attributes associated with security • Access, auditing, authentication, cryptography, identity, regulations, remote access, security rules, trust relationships. • Quality attributes associated with maintenance • APIs, Configurations, Deployment. • Quality attributes associated with user interface • Ease of use, interface features, user interaction.
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.
Cloud Service Attributes (2) • Infrastructure features • Availability, network support, load balancing, reliability, replication, database support.
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.
System Abstraction • Target should be able to provide abstraction of all required physical resources through virtualization. • Example, Medical imaging system
Cloud Bursting • Cloud should be able to serve access capacity when required. • Example, Reservation system
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.
Understanding your data, services and processes • Data • List systems the problem domain and the databases that support those systems • Get DB information such as brand, model, etc • Service • 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 your enterprise
Examples of Architectural Components • Data • Customers (Cnum (char(30)) Cname (char(30)) CAddress (char(40))) • Services • Add_Customer/ Update_Cutomer are bound to Customer tables • Processes • Generate_Customer_Record process is bound to Add_Customer/ Add_Account/ Record_Sales services.
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
Making the move to Cloud • List candidate platforms • Analyze and test candidate platforms • Select target platforms • Deploy to target platforms • Example • Processes • IaaS / Amazon EC2 or P(rocess) aaS / Appian • Service • IaaS / Amazon EC2 or DaaS / Amazon Simple DB • Data • IaaS / Amazon EC2 or PaaS / Force.com
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.
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.