Cloudmesh: Software Defined Distributed Systems as a Service SDDSaaS January 26 2015 BigDat 2015: International Winter School on Big Data Tarragona, Spain,

Slides:



Advertisements
Similar presentations
FutureGrid related presentations at TG and OGF Sun. 17th: Introduction to FutireGrid (OGF) Mon. 18th: Introducing to FutureGrid (TG) Tue. 19th –Educational.
Advertisements

FutureGrid UAB Meeting XSEDE13 San Diego July
System Center 2012 R2 Overview
Cloudmesh Resource Shifting 1 2. Cloudmesh: from IaaS(NaaS) to Workflow (Orchestration) Workflow Virtual Cluster Components Infrastructure iPython (Pegasus)
Clouds from FutureGrid’s Perspective April Geoffrey Fox Director, Digital Science Center, Pervasive.
Management Framework for Amazon EC2 Speaker: Frank Bitzer
FutureGrid Image Repository: A Generic Catalog and Storage System for Heterogeneous Virtual Machine Images Javier Diaz, Gregor von Laszewski, Fugang Wang,
Big Data Open Source Software and Projects ABDS in Summary VI: Layer 6 Part 2 Data Science Curriculum March Geoffrey Fox
Cloudmesh a Gentle Overview Gregor von Laszewski Sep. 2014
Jefferson Ridgeway 2, Ifeanyi Rowland Onyenweaku 3, Gregor von Laszewski 1*, Fugang Wang 1 1* Indiana University, Bloomington, IN 47408, U.S.A.,
Cloudmesh: Software Defined Distributed Systems as a Service SDDSaaS Workshop on the Development of a Next-Generation, Interoperable, Federated Network.
Big Data Open Source Software and Projects Unit 0 Part B: Class Introduction Data Science Curriculum March Geoffrey Fox
Cloud computing Tahani aljehani.
Design Discussion Rain: Dynamically Provisioning Clouds within FutureGrid Geoffrey Fox, Andrew J. Younge, Gregor von Laszewski, Archit Kulshrestha, Fugang.
Cloud Computing Why is it called the cloud?.
Accessing and Managing Multiple Clouds (Infrastructures) with Cloudmesh June BigSystem Software-Defined Ecosystems at HPDC Vancouver Canada.
A Brief Overview by Aditya Dutt March 18 th ’ Aditya Inc.
Big Data and Clouds: Challenges and Opportunities NIST January Geoffrey Fox
Eucalyptus on FutureGrid: A case for Eucalyptus 3 Sharif Islam, Javier Diaz, Geoffrey Fox Gregor von Laszewski Indiana University.
 Cloud computing  Workflow  Workflow lifecycle  Workflow design  Workflow tools : xcp, eucalyptus, open nebula.
Scalable Algorithms in the Cloud III Microsoft Summer School Doing Research in the Cloud Moscow State University August Geoffrey Fox
Cloud Computing. What is Cloud Computing? Cloud computing is a model for enabling convenient, on-demand network access to a shared pool of configurable.
Accessing and Managing Multiple Clouds (Infrastructures) with Cloudmesh June BigSystem Software-Defined Ecosystems at HPDC Vancouver Canada.
Science Clouds and FutureGrid’s Perspective June Science Clouds Workshop HPDC 2012 Delft Geoffrey Fox
M.A.Doman Short video intro Model for enabling the delivery of computing as a SERVICE.
BIG DATA APPLICATIONS & ANALYTICS LOOKING AT INDIVIDUAL HPCABDS SOFTWARE LAYERS 1/26/2015 Cloud Computing Software 1 Geoffrey Fox January BigDat.
Presented by: Sanketh Beerabbi University of Central Florida COP Cloud Computing.
Selected lessons learned from FutureGrid resulting in a toolkit for ComputingTestbedaaS: Cloudmesh HPDS 2014, Halifax, CA Gregor von Laszewski Geoffrey.
Data Science at Digital Science October Geoffrey Fox Judy Qiu
Image Management and Rain on FutureGrid: A practical Example Presented by Javier Diaz, Fugang Wang, Gregor von Laszewski.
FutureGrid Connection to Comet Testbed and On Ramp as a Service Geoffrey Fox Indiana University Infra structure.
Image Generation and Management on FutureGrid CTS Conference 2011 Philadelphia May Geoffrey Fox
Image Management and Rain on FutureGrid Javier Diaz - Fugang Wang – Gregor von.
RAIN: A system to Dynamically Generate & Provision Images on Bare Metal by Application Users Presented by Gregor von Laszewski Authors: Javier Diaz, Gregor.
SALSASALSASALSASALSA FutureGrid Venus-C June Geoffrey Fox
Big Data Open Source Software and Projects ABDS in Summary IV: Level 7 I590 Data Science Curriculum August Geoffrey Fox
Internet of Things (Smart Grid) Storm Archival Storage – NOSQL like Hbase Streaming Processing (Iterative MapReduce) Batch Processing (Iterative MapReduce)
Introduction To BlueMix By: Ryan
Computing Research Testbeds as a Service: Supporting large scale Experiments and Testing SC12 Birds of a Feather November.
Recipes for Success with Big Data using FutureGrid Cloudmesh SDSC Exhibit Booth New Orleans Convention Center November Geoffrey Fox, Gregor von.
20409A 7: Installing and Configuring System Center 2012 R2 Virtual Machine Manager Module 7 Installing and Configuring System Center 2012 R2 Virtual.
Web Technologies Lecture 13 Introduction to cloud computing.
Directions in eScience Interoperability and Science Clouds June Interoperability in Action – Standards Implementation.
Big Data Open Source Software and Projects ABDS in Summary III: Levels 6 and 7 I590 Data Science Curriculum August Geoffrey Fox
Indiana University Faculty Geoffrey Fox, David Crandall, Judy Qiu, Gregor von Laszewski Data Science at Digital Science Center.
Copyright © New Signature Who we are: Focused on consistently delivering great customer experiences. What we do: We help you transform your business.
Cloud Installation & Configuration Management. Outline  Definitions  Tools, “Comparison”  References.
Introductory Tutorial: OpenStack, Chef, Hadoop, Hbase, Pig I590 Data Science Curriculum Big Data Open Source Software and Projects September Geoffrey.
1 Panel on Merge or Split: Mutual Influence between Big Data and HPC Techniques IEEE International Workshop on High-Performance Big Data Computing In conjunction.
Canadian Bioinformatics Workshops
Private Public FG Network NID: Network Impairment Device
Digital Science Center II
Infrastructure Orchestration to Optimize Testing
Status and Challenges: January 2017
StratusLab Final Periodic Review
StratusLab Final Periodic Review
Bridges and Clouds Sergiu Sanielevici, PSC Director of User Support for Scientific Applications October 12, 2017 © 2017 Pittsburgh Supercomputing Center.
Platform as a Service.
An easier path? Customizing a “Global Solution”
Some Remarks for Cloud Forward Internet2 Workshop
NSF : CIF21 DIBBs: Middleware and High Performance Analytics Libraries for Scalable Data Science PI: Geoffrey C. Fox Software: MIDAS HPC-ABDS.
Cloud Computing Dr. Sharad Saxena.
I590 Data Science Curriculum August
Versatile HPC: Comet Virtual Clusters for the Long Tail of Science SC17 Denver Colorado Comet Virtualization Team: Trevor Cooper, Dmitry Mishin, Christopher.
Data Science Curriculum March
20409A 7: Installing and Configuring System Center 2012 R2 Virtual Machine Manager Module 7 Installing and Configuring System Center 2012 R2 Virtual.
Cloud DIKW based on HPC-ABDS to integrate streaming and batch Big Data
Clouds from FutureGrid’s Perspective
Cloud Computing: Concepts
Presentation transcript:

Cloudmesh: Software Defined Distributed Systems as a Service SDDSaaS January BigDat 2015: International Winter School on Big Data Tarragona, Spain, January 26-30, 2015 Geoffrey Fox, Gregor von Laszewski School of Informatics and Computing Digital Science Center Indiana University Bloomington 1/26/20151

Origins and Future of Cloudmesh Past: Needed to move back and forth between Bare Metal and different VM managers in FutureGrid using emerging DevOps ideas like Chef and templated (software defined) image libraries – Address many different changing tools with abstractions Integrate new metrics in form consistent with XSEDE at execution (user) and job summary levels Current Focus/Futures: Preserves and builds on user/project /experiment/provisioning/metrics structure of FutureGrid Now linking of system definition and system execution steps in a common Python environment while future additions could include Software Defined Networking – System execution classically called orchestration or workflow i.e. our view of SDDS includes infrastructure and software including multiple workflow steps Now used to support laboratories for online classes in data science and for several large scale data analytics research, education and standards projects including NIST Public Working Group in Big Data Open source 1/26/20152

FutureGrid IaaS request popularity by year 1/26/20153

Cloudmesh: from IaaS(NaaS) to Workflow (Orchestration) (SaaS Orchestration) Workflow (IaaS Orchestration) Virtual Cluster Components Infrastructure IPython Pegasus etc. Heat Python Chef or Puppet (Recipes/Puppies) VMs, Docker, Networks, Baremetal Images Data HPC-ABDS Software components defined in Chef. Python (Cloudmesh) controls deployment (virtual cluster) and execution (workflow)

Cloudmesh and SDDSaaS Stack for HPC-ABDS SaaS PaaS IaaS NaaS BMaaS Orchestration Mahout, MLlib, R Hadoop, Giraph, Storm OpenStack, Bare metal OpenFlow Just examples from 289 components Cobbler Abstract Interfaces removes tool dependency IPython, Pegasus, Kepler, FlumeJava, Tez, Cascading HPC-ABDS at 4 levels 1/26/20155

Basic Strategy Goal is to make it easier to deploy and mix together the 289 HPC-ABDS software components Further allow deployment on multiple hardware environments including academic clouds (OpenStack, OpenNebula), commercial clouds (AWS, Azure, GCE) and (HPC) cluster Suppose expert has captured execution of software i as a Chef recipe R(i) or equivalent Then we automate deployment of virtual cluster VC(i) and instantiate R(i) on VC(i) at supported hardware Full virtual cluster VC =  i VC(i) 1/26/20156

Examples of Chef use in class We can call different recipes from the same cookbook to customize the nodes in our cluster uniquely: { "run_list": ["recipe[hadoop:: hadoop_hdfs_namenode]"]} versus { "run_list": ["recipe[hadoop:: hadoop_hdfs_datanode]"]} We can pass information to set custom values in our configuration files: "hadoop" => { "yarn_site" => {"yarn.resourcemanager.hostname" => “ ”}} Chef can even automate installations that require accepting terms: "java" => { "oracle" => { "accept_oracle_download_terms" => true} } Beyond installation, Chef can even start services running: resources('service[hadoop-hdfs-namenode]').run_action(:start)

CloudMesh Architecture Cloudmesh is a SDDSaaS toolkit to support – A software-defined distributed system encompassing virtualized and bare-metal infrastructure, networks, application, systems and platform software with a unifying goal of providing Computing as a Service. – The creation of a tightly integrated mesh of services targeting multiple IaaS frameworks – The ability to federate a number of resources from academia and industry. This includes existing FutureSystems infrastructure, Amazon Web Services, Azure, HP Cloud, Karlsruhe using several IaaS frameworks – The creation of an environment in which it becomes easier to experiment with platforms and software services while assisting with their deployment and execution. – The exposure of information to guide the efficient utilization of resources. (Monitoring) – Support reproducible computing environments – IPython-based workflow as an interoperable onramp Cloudmesh exposes both hypervisor-based and bare-metal provisioning to users and administrators Access through command line, API, and Web interfaces. 1/26/20158

Cloudmesh Functionality 1/26/20159

Building Blocks of Cloudmesh Uses internally Libcloud and Cobbler Celery Task/Query manager (AMQP - RabbitMQ) MongoDB Accesses via abstractions external systems/standards OpenPBS, Chef OpenStack (including tools like Heat), AWS EC2, Eucalyptus, Azure Xsede user management (Amie) via Futuregrid Implementing Docker, Slurm, OCCI, Ansible, Puppet Evaluating Razor, Juju, Xcat (Originally we used this), Foreman 1/26/201510

SDDS Software Defined Distributed Systems Cloudmesh builds infrastructure as SDDS consisting of one or more virtual clusters or slices with extensive built-in monitoring These slices are instantiated on infrastructures with various owners Controlled by roles/rules of Project, User, infrastructure Python or REST API User in Project CMPlan CMProv CMMon Infrastructure (Cluster, Storage, Network, CPS)  Instance Type  Current State  Management Structure  Provisioning Rules  Usage Rules (depends on user roles) Results CMExec User Roles User role and infrastructure rule dependent security checks Request Execution in Project Request SDDS Select Plan Requested SDDS as federated Virtual Infrastructures #1Virtual infra. Linux #2 Virtual infra. Windows #3Virtual infra. Linux #4 Virtual infra. Mac OS X Repository Image and Template Library SDDSL  One needs general hypervisor and bare-metal slices to support research  Gives an experiment management system that enables reproducibility in science output. 1/26/201511

What is SDDSL? There is an active OASIS standard activity TOSCA (Topology and Orchestration Specification for Cloud Applications) But this is similar to mash-ups or workflow (Taverna, Kepler, Pegasus, Swift..) and we know that workflow itself is very successful but workflow standards are not – OASIS WS-BPEL (Business Process Execution Language) didn’t catch on – Analogy and differences between IaaS orchestration (TOSCA) and SaaS orchestration (BPEL) impo As basic tools (Cloudmesh) use Python and Python is a popular scripting language for workflow, we suggest that Python could be SDDSL – IPython Notebooks are natural log of execution provenance – Explosion of new Commercial (Google Cloud Dataflow) and Apache (Tez, Crunch) Orchestration tools ….. 1/26/201512

Cloudmesh as an On-Ramp As an On-Ramp, CloudMesh deploys recipes on multiple platforms so you can test in one place and do production on others Its multi-host support implies it is effective at distributed systems It will support traditional workflow functions such as – Specification of an execution dataflow – Customization of Recipe – Specification of program parameters Workflow quite well explored in Python WorkflowEngines WorkflowEngines IPython notebook preserves provenance of activity 1/26/201513

Comparison of OpenStack Sahara and Cloudmesh 1/26/ FeatureSaharaCloudmesh IaaS platform OpenStackOpenStack, Eucalyptus, Amazon, Azure, HP Cloud Hadoop cluster Available Other HPC-ABDS Not AvailableAvailable if correct Recipe or equivalent available Management Web UI, REST APIWeb UI, CLI, REST API Autoscaling Manual add/remove nodes Scaling supported at CM level; higher level needs to invoke Hierarchical clusters Not AvailableSubcluster with `launcher`, `group` commands Containers Not AvailableChef, Puppet, Ansible, Docker Cloud orchestration OpenStack Heat integration available OpenStack Heat, AWS CloudFormation*

Cloudmesh: Integrated Access Interfaces (Horizontal Integration) GUIShellIPythonAPIREST 1/26/201515

… after login you get to a start page 1/26/201516

… Register clouds Multiple clouds are registered 1/26/201517

… Working with VMs in Cloudmesh VMs Panel with VM Table (HP) Search 1/26/201518

… baremetal provisioner (not released yet) 1/26/201519

Provisioning OpenStack (not released yet) View the parallel provisioning tasks execution from AMPQ 1/26/201520

Monitoring and Metrics Interface Service Monitoring Energy/Temperature Monitoring Monitoring of Provisioning Integration with other Tools – Nagios, Ganglia, Inca, FG Metrics – Accounting metrics 211/26/2015

Cloudmesh MOOC Videos 1/26/201522

Overview of Cloudmesh on FutureSystems Tutorial Getting Started – FutureSystems – Account Creation – OpenStack (india.futuresystems.org) – Cloudmesh installation (management software) Tutorials – Tutorial I: Deploying Virtual Cluster – Tutorial II: Deploying Hadoop Cluster – Tutorial III: Deploying MongoDB Cluster Resources – Source code – Documentation (manuals and tutorials)

Getting Started – FutureSystems Account Creation Register an account – Join a existing project or create a new one – Create: – Join: Upload SSH KeyPair – Tutorial: mputing/accounts/details.html mputing/accounts/details.html

Using OpenStack on FutureSystems Cluster India IaaS Platform (Havana release, Juno will be available soon) SSH to $ ssh –i [keyfile] [portal Configure an account $ Source ~/.cloudmesh/clouds/india/havana/novarc Enable nova client $ module load novaclient Tutorial: ing/iaas/openstack.html ing/iaas/openstack.html

Cloudmesh Installation Cloud management software Supports OpenStack, Eucalyptus, Amazon AWS, Microsoft Azure Virtual Machine, and HP Cloud Management on CLI or Web UI Tutorial: d_computing/cloudmesh/setup/setup_openstack.html d_computing/cloudmesh/setup/setup_openstack.html

Tutorial I: Deploying Virtual Cluster `cm cluster` Cloudmesh command Deploy a cluster $ cm cluster create [cluster name] --count=[number of nodes] Login to a cluster $ cm vm login [node name] --ln=[username to login] Terminate a cluster $ cm cluster remove [cluster name] Tutorial: futuresystems.readthedocs.org/en/latest/virtual_cluster.htmlhttp://introduction-to-cloud-computing-on- futuresystems.readthedocs.org/en/latest/virtual_cluster.html

Screenshot of deploying Virtual Cluster in OpenStack Horizon Dashboard

Tutorial II: Deploying Hadoop Cluster `cm launcher` Cloudmesh command Deploy a Hadoop cluster $ cm launcher start hadoop List application clusters $ cm launcher list Login a Hadoop cluster $ cm vm login [node name] --ln=[username to login] e.g. cm vm login hadoop1 --ln=ec2-user Terminate a Hadoop cluster $ cm launcher stop [cluster name] Tutorial: futuresystems.readthedocs.org/en/latest/hadoop_cluster_cm.htmlhttp://introduction-to-cloud-computing-on- futuresystems.readthedocs.org/en/latest/hadoop_cluster_cm.html

Screenshot of deploying Hadoop Cluster in OpenStack Horizon Dashboard

Tutorial III: Deploying MongoDB Sharded Cluster Install Config Server Start Mongo Shard (replica set) Server Connect Shard Servers to a cluster Enable Sharding for a database or a collection Tutorial: on- futuresystems.readthedocs.org/en/latest/mongo db_cluster.htmlhttp://introduction-to-cloud-computing- on- futuresystems.readthedocs.org/en/latest/mongo db_cluster.html

Cloudmesh Resources Tutorials – Main Home: futuresystems.readthedocs.org/en/latest/index.htmlhttp://introduction-to-cloud-computing-on- futuresystems.readthedocs.org/en/latest/index.html – Videos: futuresystems.readthedocs.org/en/latest/resources.htmlhttp://introduction-to-cloud-computing-on- futuresystems.readthedocs.org/en/latest/resources.html Cloudmesh – Documentation with video clips: ting/class/i590.html ting/class/i590.html – Source code:

Infra structure IaaS  Software Defined Computing (virtual Clusters)  Hypervisor, Bare Metal  Operating System Platform PaaS  Cloud e.g. MapReduce  HPC e.g. PETSc, SAGA  Computer Science e.g. Compiler tools, Sensor nets, Monitors Software-Defined Distributed System (SDDS) as a Service includes Network NaaS  Software Defined Networks  OpenFlow GENI Software (Application Or Usage) SaaS  Use HPC-ABDS  Class Usages e.g. run GPU & multicore  Applications  Control Robot FutureSystems uses SDDS-aaS Tools  Provisioning  Image Management  IaaS Interoperability  NaaS, IaaS tools  Expt management  Dynamic IaaS NaaS  DevOps FutureSystems uses SDDS-aaS Tools  Provisioning  Image Management  IaaS Interoperability  NaaS, IaaS tools  Expt management  Dynamic IaaS NaaS  DevOps CloudMesh is a SDDSaaS tool that uses Dynamic Provisioning and Image Management to provide custom environments for general target systems Involves (1) creating, (2) deploying, and (3) provisioning of one or more images in a set of machines on demand 33 Dynamic Orchestration and Dataflow 1/26/2015

Cloudmesh Architecture Cloudmesh Management Framework for monitoring and operations, user and project management, experiment planning and deployment of services needed by an experiment Provisioning and execution environments to be deployed on resources to (or interfaced with) enable experiment management. Resources. FutureSystems, SDSC Comet, IU Juliet 1/26/201534

CloudMesh User View of SDDS aaS Note we always consider virtual clusters or slices with nodes that may or may not have hypervisors Well defined user and project management assigning roles BM-IaaS: Bare Metal (root access) Infrastructure as a service with variants e.g. can change firmware or not H-IaaS: Hypervisor based Infrastructure (Machine) as a Service. User provided a collection of hypervisors to build system on. – Classic Commercial cloud view PSaaS Physical or Platformed System as a Service where user provided a configured image on either Bare Metal or a Hypervisor – User could request a deployment of Apache Storm and Kafka to control a set of devices (e.g. smartphones) – XSEDE software stack Related systems administrator view 1/26/201535

Cloudmesh Components I Cobbler: Python based provisioning of bare-metal or hypervisor-based systems Apache Libcloud: Python library for interacting with many of the popular cloud service providers using a unified API. (One Interface To Rule Them All) Celery is an asynchronous task queue/job queue environment based on RabbitMQ or equivalent and written in Python OpenStack Heat is a Python orchestration engine for common cloud environments managing the entire lifecycle of infrastructure and applications. Docker (written in Go) is a tool to package an application and its dependencies in a virtual Linux container OCCI is an Open Grid Forum cloud instance standard Slurm is an open source C based job scheduler from HPC community with similar functionalities to OpenPBS 1/26/201536

Cloudmesh Components II Chef Ansible Puppet Salt are system configuration managers. Scripts are used to define system Razor cloud bare metal provisioning from EMC/puppet Juju from Ubuntu orchestrates services and their provisioning defined by charms across multiple clouds Xcat (Originally we used this) is a rather specialized (IBM) dynamic provisioning system Foreman written in Ruby/Javascript is an open source project that helps system administrators manage servers throughout their lifecycle, from provisioning and configuration to orchestration and monitoring. Builds on Puppet or Chef 1/26/201537

Genomic Sequence Analysis Automation Cluster D Cluster C Cluster B Cluster A Application Functions Workflow Functions: File Transfer PBS Job submission Dynamic script creation Submission history storage/retrieval History Trace of job submissions Cloudmesh Provisioning Cloudmesh Provisioning Cloudmesh Workflow/ Experiment Management Cloudmesh Workflow/ Experiment Management Provisioning of either: baremetal, IaaS, existing HPC cluster 1/26/201538

Cloudmesh Provisioning and Execution Bare-metal Provisioning – Originally developed a provisioning framework in FutureGrid based on xCAT and Moab. (Rain) – Due to limitations and significant changes between versions we replaced it with a framework that allows the utilization of different bare-metal provisioners. – At this time we have provided an interface for cobbler and are also targeting an interface to OpenStack Ironic. Virtual Machine Provisioning – An abstraction layer to allow the integration of virtual machine management APIs based on the native IaaS service protocols. This helps in exposing features that are otherwise not accessible when quasi protocol standards such as EC2 are used on non-AWS IaaS frameworks. It also prevents limitaions that exist in current implementations, such as libcloud to use OpenStack. Network Provisioning (Future) – Utilize networks offering various levels of control, from standard IP connectivity to completely configurable SDNs as novel cloud architectures will almost certainly leverage NaaS and SDN alongside system software and middleware. FutureGrid resources will make use of SDN using OpenFlow whenever possible though the same level of networking control will not be available in every location. 1/26/201539

Cloudmesh Provisioning – Continued Storage Provisioning (Future) – Bare-metal provisioning allows storage provisioning and making it available to users Platform, IaaS, and Federated Provisioning (Current & Future) – Integration of Cloudmesh shell scripting, and the utilization of DevOps frameworks such as Chef or Puppet. Resource Shifting (Current & Future) – We demonstrated via Rain the shift of resources allocations between services such as HPC and OpenStack or Eucalyptus. – Developing intuitive user interfaces as part of Cloudmesh that assist administrators and users through role and project based authentication to move resources from one service to another. 1/26/201540

Cloudmesh Resource Shifting /26/201541

Resource Federation We successfully federated resources from – Azure – Any EC2 cloud – AWS, – HP cloud – Karlsruhe Institute of Technology Cloud – Former FutureGrid clouds (four clouds) Various versions of OpenStack and Eucalyptus. It would be possible to federate with other clouds that run other infrastructure such as Tashi. Integration with OpenNebula is desirable due to strong EU importance 1/26/201542