330 likes | 547 Vues
Cloud Clusters & Orchestration Challenges. From Basic Cloud Technologies to Complex Clustering of Virtual Machines . Bernie Ács Database Architect bernie @ ncsa.illinois.edu. The Cloud Metaphor.
E N D
Cloud Clusters & Orchestration Challenges From Basic Cloud Technologies to Complex Clustering of Virtual Machines • Bernie Ács • Database Architect bernie@ncsa.illinois.edu
The Cloud Metaphor • The term cloud is used as a metaphor for the Internet, based on how it is depicted in computer network diagrams and is an abstraction for the complex infrastructure it conceals http://en.wikipedia.org/wiki/Cloud_computing Imaginations unbound
Cloud Computing – Definition • The first academic use of this term appears to define it as a computing paradigm where the boundaries of computing will be determined by economic rationale rather than technical limits. • Wikipedia • Cloud computing is a paradigm of computing in which dynamically scalable and often virtualized resources are provided as a service over the Internet.Users need not have knowledge of, expertise in, or control over the technology infrastructure in the "cloud" that supports them http://en.wikipedia.org/wiki/Cloud_computing Imaginations unbound
An Example Imaginations unbound
Use Virtual Technology? • Open Source and Commercial No-Cost Products • Microsoft Virtual Server • VMWare • Linux +XEN • Host service deployable on both Linux and Windows • Can Mac users need to run virtual machines? • Can Virtual Machines be moved between safely? • Deploy in management of enterprise • Network considerations for many IP addresses per port • Authentication and Access Control for VM and Hosts • Policies and Constraints Imaginations unbound
Cloud Computing Types • Public cloud or external cloud describes cloud computing in the traditional mainstream sense, whereby resources are dynamically provisioned on a fine-grained, self-service basis over the Internet, via web applications/web services, from an off-site third-party provider who shares resources and bills on a fine-grained utility computing basis • Private cloud and internal cloud are neologisms (new word ) that describe configurations that emulate cloud computing on private networks • Hybrid cloud consists of multiple internal and/or external providers http://en.wikipedia.org/wiki/Cloud_Computing Imaginations unbound
Cloud Computing Concepts IaaS • Infrastructure as a Service (IaaS) • the delivery of computer infrastructure (typically a platform virtualization environment) as a service • Rather than purchasing servers, software, data center space or network equipment, clients instead buy those resources as a fully outsourced service. • The service is typically billed on a utility computing basis and amount of resources consumed (and therefore the cost) will typically reflect the level of activity. • Supersedes term Hardware as a Service (HaaS) • It is an evolution of web hosting and virtual private server offerings. http://en.wikipedia.org/wiki/Infrastructure_as_a_service Imaginations unbound
Cloud Computing Concepts • Platform as a Service (PaaS) • delivery of a computing platform and solution stackas a service • It facilitates deployment of applications without the cost and complexity of buying and managing the underlying hardware and software layers, providing all of the facilities required to support the complete life cycle of building and delivering web applications and services entirely available from the Internet—with no software downloads or installation for developers, IT managers or end-users • Open Platform as a Service (OPaaS) • another step in the Application Service Provider, SaaS, PaaS evolution • developers use any programming language on any server, running any operating system, any database http://en.wikipedia.org/wiki/Platform_as_a_service Imaginations unbound
Cloud Computing Concepts • Software as a Service (SaaS) • is a model of software deployment whereby a provider licenses an application to customers for use as a serviceon demand • vendors may host the application on their own web servers or download the application to the consumer device, disabling it after use or after the on-demand contract expires http://en.wikipedia.org/wiki/Platform_as_a_service Imaginations unbound
What is a Cloud Cluster ? • Two Perspectives (we will focus on the second) • Hardware infrastructure configured using clustering techniques and technologies to provide the foundation corner stones that host the “Cloud Services” that are made available • Shared resources to provide high availability and fault tolerance of the infrastructure components • Dedicated support services that provide administrators and operations tasks to automated and monitored over a collection of related hardware assets allocated to the pool • Collection of services constructed to provide clustering techniques and technologies as an instance of IaaS • Scalability of the configuration • High-Availability of critical core cluster services Imaginations unbound
Two Cloud Cluster Real Example Cases • WebMO – Institute for Chemistry Literacy through Computational Science (ICILS) 2008 Summer Fellowship started with two separate week long interactive events designed to introduce Illinois high school chemistry teachers to tools and techniques that allow students to utilize computational chemistry as a learning aide by using software that provides web based interface to build, execute, and evaluate the results from their submitted jobs. • Plant Growth–The system gathers data, runs the model, and produces graphs, maps, and tabular data for interactive analysis. 4-H learners perform 'what-if' analyses using computational models to show the potential benefits and trade-offs of genetically modified seeds, growing crops for food versus fuel, and the effects of climate change on the future of farming. Imaginations unbound
WebMO: Anatomy & Scaling High School Classroom User Casual User High School Teachers WebMO Application System Configuration Service Configuration User Interface Web Server Computations Java Applet Perl CGI Standalone Databases Concurrent Use Consistent View User Sessions Imaginations unbound
WebMO: Application Design Scaling Issues WebMO Application Application Designedto be one service that delegates computationtasks & stores resultant System Configuration Concurrent Use Web Server 1 Web Server Horizontal Scale Web Server .. Web Server n Multi-Threading Perl CGI Embedded CGI Data Interfaces Imaginations unbound
WebMO: Application Design Scaling Issues Application acts as a wrapper for several computational packagesthat may be implemented WebMO Application User Interface Consistent View GAMESS Molpro Mopac Computations Multiple Service NWChem PQS Requests and Resultsmust be stored and retrievedby multiple users sessions Standalone Common View Imaginations unbound
WebMO: Application Design Scaling Issues Java Applet Client side interface withinteractive relationshipwith server for jobsubmission and review WebMO Application Service Configuration User Sessions Client Side App Server CGI Java Applet Multiple Session Dynamic Action Application has no formal relational Databaseimplementation job management Databases Logical Imaginations unbound
WebMO: Application Design Resolution WebMO Application Database inherently providesarbitration for concurrent reading & writing values. Concurrency Concurrent Use Database useful for allowingmultiple server instancesto maintain consistent viewof the data resources Consistent View Multiple Server User Sessions Database useful for managingconcurrent inquiry and postingof data values for user jobs Multiple Session Relational Database Imaginations unbound
WebMO: Web Server Diagram NetworkRequests Apache Web Server Classroom Lab Classroom Lab Classroom Lab Classroom Lab Perl CGIScripts File System Service Interface Imaginations unbound
WebMO: High Availability & Load Balancer Real time Service Monitor Active LB Node Passive LB Node Disk Disk Real time Disk Device Block Replicator HTTP HTTP NFS NFS Resource Group Fail-Over LB LB Virtual Network Addresses MySQL MySQL Imaginations unbound
WebMO: Central Services & Worker Nodes • Worker Nodes • Handle user request • Depend upon • NFS Services • Database Services Web Request & Response Load Balancer NFS Shared File system WorkerNode NFS Server Active LB Node Database Services MySQL Server • Worker Nodes • Report Status to HA-LB • Can be Dynamically • Added • Removed • Central Services • Web request routing • Provides NFS and MySQL Imaginations unbound
WebMO: Distribution of Web Requests Web Request & Response User’s Web Browser WorkerNode WorkerNode WorkerNode WorkerNode Each Worker Node has the same logical image of File-system, Database, and Other Required Resources to Provide User Interfaces HTTP Request Distributed WorkerNode Active LB Node Load Balancer WorkerNode WorkerNode WorkerNode WorkerNode WorkerNode Imaginations unbound
WebMO: System Resultant Variable Number of PotentialInternet User from any location Passive LB Node Internet Users Internet Users Internet Users Internet Users Internet Users Shared Network File System Active LB Node CentralizeRelational Database WorkerNode WorkerNode WorkerNode WorkerNode Dynamically Expandablepool of “Worker Nodes” WorkerNode Imaginations unbound
WebMO: Continues and is Growing • Beyond the Initial two week planned deployment • Immediately after the successful workshop sessions utilization remained consistent and complains emerged when unavailable • Usage patterns demonstrated that spikes occurred in clusters that could be easily associated with classroom time periods • Teachers & students were using the system actively • Load statistics and logging evidence demonstrated that a consistent up take trend • Summer 2009 sessions produced repeated some of the previous year demonstrations and tutorials • New usage scenario expected to add undergraduate students from UIUC thermal chemistry course that will employ this service platform Imaginations unbound
Plant Growth: Anatomy & Challenges • Requirements • High Availability construction (similar to WebMO HA-LB) • Worker Nodes must be Windows XP • Computational models must be executed using Visual Basic • Desktop application customized to support HTTP Requests • Distribution of Public HTTP request • Arbitrated by centralized Web service • Tomcat Application Server hosts Web service • Scaling application server is another clustering configuration • Dedicated web service & worker node conversations • Network traffic isolation and controlled access exposure Imaginations unbound
Plant Growth: HA Load Balancer (2 Nodes) 10.0.0.65/28 Node Network Public 141.142.226.79/24 Resource Group0 /mnt/drbd0 ldirectord Resource Group1 drbdlinks MySQL Active Node Apache2 Heartbeat Passive Node Heartbeat ACTIVE NODE LB02 LB01 Eht0 – Public/Management Eht0 – Public/Management Heartbeat Monitor Eth1 – 10.0.0.82 Eth1 – 10.0.0.81 IPTable NAT 10.0.0.64 IPTable NAT 10.0.0.64 sda1 sda1 OS Physical Disk (12GB) OS Physical Disk (12GB) drbd drbd sync physical block dev (20GB) physical block dev (20GB) Imaginations unbound
Plant Growth: Application Server Diagram Tomcat 5.5.24Service Cluster Peer 1 .. N Future Interface Intended to enable developers to access this node (** removable **) Maybe used to poll Load-Balanced Nodes via HTTP-Request Used by the Load-Balanced Node to redirect Request “To” Tomcat 5.5.24Service 10.10.0.2 141.142.226.82 Delegates ComputationSend Triggers Events 10.0.0.78 Process/Queues& Tupelo Services Primary User InterfacesAll Nodes Send Here Imaginations unbound
Plant Growth: Workers Diagram PgcUser Heartbeat/ldirectord HTTP – Request Application ServerRequest Events NAT Internet IptableNAT Lo:0 – Public Loopback WinXPNode01 Index Apache2 Status Eth0 – 10.0.0.66 Lo:0 – Public Loopback WinXPNode02 Index Apache2 Status Eth0 – 10.0.0.67 Lo:0 – Public Loopback WinXPNode… Index Apache2 Status Eth0 – 10.0.0.NN Requests To Application Server Lo:0 – Public Loopback WinXPNode N Index Apache2 Status Eth0 – 10.0.0.78 Imaginations unbound
Plant Growth: Overview Diagram Disk MySQL Tomcat Server Passive LB Node MySQL HTTP Request Disk Win XP Node Win XP Node Active LB Node Job Trigger NetworkRequests Imaginations unbound
Cloud Clusters & Orchestration Challenges From Basic Cloud Technologies to Complex Clustering of Virtual Machines • Bernie Ács • Database Architect bernie@ncsa.illinois.edu