Introduction openstack-meetup-nov-28

of 45 /45
Red Hat Openstack and Ceph Meetup, Pune | 28th NOV 2015 Sadique Puthen Principal Technical Support Engineer, Red Hat, Inc Openstack And Ceph Meetup: Nov 28, 2015, Pune Introduction Cloud IaaS: Red Hat Openstack (RDO)

Transcript of Introduction openstack-meetup-nov-28

Red Hat Openstack and Ceph Meetup, Pune | 28th NOV 2015

Sadique PuthenPrincipal Technical Support Engineer, Red Hat, IncOpenstack And Ceph Meetup: Nov 28, 2015, Pune

Introduction Cloud IaaS:Red Hat Openstack (RDO)

❏ Application and legacy infrastructure.❏ Application and infrastructure-as-a-

service.❏ Openstack: Operating system for cloud

IaaS.❏ Openstack: Components

❏ keystone, glance and nova

❏ Openstack: Storage-as-a-service❏ cinder, swift and manila

❏ Openstack: Networking-as-a-service❏ Neutron

Agenda

❏ Openstack: Orchestration, metering and dashboard❏ Heat, ceilometer and horizon.

❏ Openstack: Database-as-a-service❏ Trove

❏ Openstack: Bigdata-as-a-service❏ Sahara

❏ Openstack: Deployment❏ TripleO and Ironic

❏ Openstack: How to Contribute.

Application & Legacy Infrastructure

❏ Application need infrastructure mainly for:❏ Compute

❏ Storage

❏ Networking

❏ Traditional workloads run directly on a server using local or remote storage with physical networking equipments.

Application and Infrastructure relationship Soon to be Traditional/Current

Server

Storage

Network

❏ Challenges:❏ Scalability

❏ Scale up is limited.

❏ Time to implement.❏ Lots of approval, budget restrictions, procurement,

provisioning, etc.

❏ Cost❏ Most of the hardware remain underutilized, need to plan

and keep paying for future growth.

❏ Maintenance and management.❏ Long term management and maintenance is a pain.

❏ High Availability of the infrastructure.❏ Application expects the infrastructure is HA

Application and Infrastructure relationshipCurrent/ Soon to be Traditional

Server

Storage

Network

❏ Application is emotionally attached to the infrastructure.❏ Need to treat infrastructure like you treat a

pet.

❏ Workloads running on Virtual

machines instead of physical systems

has almost all the challenges

explained earlier.❏ It simply allows us to share same

compute, network and storage resources among multiple applications.

❏ It can only scale up which is limited, need to make HA, no self service.

❏ Again, application is emotionally attached to the infrastructure.

Application and Infrastructure relationship:Virtualization

Application and Infrastructure-as-a-service

❏ Advantages.❏ API - Self service dashboard for

provisioning infrastructure.❏ Time to go live is minimal.

❏ Seconds to minutes.

❏ Pay as you go.❏ Save on spending.

❏ Illusion of infinite capacity.❏ No need for upfront capacity planning. Scale

on demand.

Cloud: Infrastructure-as-a-service

Traditional Workloads Cloud Workloads

❏ Stateful vms: Application defined in vms/physical systems

❏ Application SLA = SLA of VM/physical server

❏ Scale up. Add CPU, RAM❏ SLA requires enterprise features for HA❏ Lifecycle measured in years❏ Application not designed to tolerate failure

of vm/physical system.

Cloud: Infrastructure-as-a-service and workloads

❏ Stateless VMs: Application distributed❏ Application SLA not dependent on any one

vm.❏ SLA requires ability to create and remove

VMs when needed.❏ Applications scale out: add more vms❏ Lifecycle measured in hours to months.❏ Applicationn designed to tolerate failure of

vms.

Traditional Workloads - Pets vs Cloud Workloads - Cattle

❏ Pets are unique, lovingly hand raised and cared for.

❏ They are given names.❏ When they get ill, you nurse them back to

health.❏ Traditionally, servers are managed like pets.

Cloud: Infrastructure-as-a-service and workloads

❏ Cattle are almost identical to each other.❏ They are given numbers.❏ When they get ill, you replace it with

another one.❏ In Cloud, servers are managed like Cattles.

Openstack: operating system for cloud IaaS

❏ Cloud-IaaS is a different way of providing compute, networking and storage required for your application as a service.

❏ Just like your server requires an operating system (Eg, Fedora, RHEL, Solaris, Windows), a cloud requires an operating system.

Cloud: Infrastructure-as-a-service

❏ Openstack is open source.❏ Supports multiple Hypervisors.

❏ KVM, Xen, Hyper-V, VMware, containers, etc

❏ It has a modular architecture.❏ Designed for scalability and Elasticity.❏ Provides

❏ Compute-as-a-service

❏ Network-as-a-service

❏ Storage-as-a-service.

Cloud IaaS: Openstack

Cloud IaaS: Openstack

Instances: Fedora, CentOS, Ubuntu, etc

OS: Fedora, CentOS, Ubuntu, etc

Openstack: Components

❏ Keystone provides authentication, authorization, access control (roles), etc of tenants and users for openstack projects.❏ Uses tokens to authenticate and authorize.

❏ Provides global catalog of services.❏ Facilitates multi-tenancy.

❏ Helps to exist multiple projects with each

projects having multiple users.

❏ Provides an API for tenants and projects to interact with it.

❏ Can be integrated with multiple identity backends.❏ Openldap, AD, IPA and etc.

Openstack: Keystone

❏ Uses token based authentication.❏ Catalogue and user roles are embedded to token

which clients use to get info about other api

services and access control.

Openstack: Keystone

❏ Provides lifecycle management for images.❏ Images are file with a lightweight version of

operating system pre installed and used to

base the instance off.

❏ life cycle management involves all operations

on image from creation to deletion.

❏ Supports multiple images formats like raw, qcow2, vmdk, etc.

❏ Supports multiple storage backends like s3, swift, local, remote, ceph, etc.

❏ Involves glance-api and glance-registry.

Openstack: Glance

❏ Provides lifecycle management for instances.❏ Instances are virtual machines that runs the

application.

❏ life cycle management involves all operations

on an instance from creation to deletion like,

❏ migration

❏ snapshots

❏ volume attachment and detachment.

❏ Attaching network interfaces.

Openstack: Nova-compute

❏ Supports multiple hypervisors provided a driver is available for nova to interact with them.❏ KVM

❏ Hyper-V

❏ VMware

❏ Xen

❏ lxc (Containers)

❏ etc

Openstack: Nova-compute

❏ Involves multiple components❏ nova-api

❏ nova-scheduler

❏ nova-conductor

❏ nova-novncproxy

❏ nova-compute

❏ All nova components communicates with each other using a message queue. Eg, rabbitmq and qpid

❏ Interacts with neutron to configure networking and cinder to attach persistent volumes to instances.

Introduction to Nova: Openstack Compute-as-a-service - Pratik Bandarkar (12:00 PM to 12:45 PM)

Openstack: Storage-as-a-service

❏ Provides lifecycle management for elastic, persistent block storage.❏ synonymous to Amazon EBS

❏ Facilitates volume creations, deletions,

snapshot management for volumes,

migrations, etc.

❏ Have multiple components.❏ cinder-api: Provides api interface for clients

and services to interact cinder.

❏ cinder-scheduler: Selects best backend node

for volume placement.

❏ cinder-volume: Actual volume creation and

other tasks.

❏ cinder-backup: Facilitates volume backup.

Openstack: Cinder - Block Storage

❏ Cinder volume service can be connected to multiple storage backends.❏ LVM backend works out of the box without additional drivers.

❏ Can plugin vendor specific drivers to cinder volume to directly interact with vendor provided storage for

volume management tasks. Eg,

❏ NetApp, EMC, HP, IBM, Ceph and etc

Openstack: Cinder Backends

Cinder-volume

LVM Ceph NetApp EMC 3Par

❏ Provides Object Storage for Openstack.❏ Highly available, distributed object/blob store.

❏ synonymous to Amazon S3

❏ Enables faster upload and retrieval of objects

with simple http interface.

❏ Have multiple components.❏ swift-proxy: Proxy to interact with Swift.

❏ Ring: Internal data Structure

❏ Object: Your data

❏ Containers: Organize your data by placing

them to containers.

❏ Account

Openstack: Swift - Object Storage

❏ Shared filesystem as a service.❏ Share Data across vm instances.

❏ Incubated since Openstack Juno❏ Provides an API for management of

shared filesystems with support of multiple protocols and back ends.❏ NFS and CIFS supported.

❏ Supports multi tenancy.❏ Enables public cloud use cases.

Openstack: Manila

Multiple talks on Ceph: Introduction to Ceph and Openstack, Rados Gateway and CephFS

Openstack: Networking-as-a-service

❏ Manages all networking functions within openstack.❏ Create, manage and delete private and external

networks.

❏ Manages Layer 2 packet flow for networks.

❏ Manages dhcp ip addressing for networks.

❏ Manages Layer 3 routing between private

networks and private network and external

network.

❏ Create and manage

❏ Load balancers - LBaaS

❏ Firewalls between routers - FWaaS❏ VPN - VPNaaS

❏ Provides multe-tenancy and overlapping

networks.

Openstack: Neutron

❏ In a nutshell, neutron helps you to provision network resources for your multi-tier application within minutes.

Openstack: Neutron

Openstack: Neutron Components

❏ Neutron has multiple components.❏ Neutron-server: Provides an REST API for users and

services to interact with neutron.❏ Layer 2 Agent: Manages layer 2 flow of packets.

❏ Can support openvswitch, linuxbridge and other vendor plugins for layer 2 switching.

❏ dhcp-agent: Manages dhcp ip addressing for instances using dnsmasq.

❏ Layer 3 Agent: Facilitates layer-3 routing between private networks or private network and external network.

❏ LBaas Agent: Provisions load balancers.❏ FWaaS Agent: Provisions firewalls between routers.❏ VPNaaS Agent: Provisions vpn services.

Openstack: Neutron Topology

❏ Controller node:❏ Runs neutron api server.

❏ Network Node:❏ Runs all neutron agents.

❏ Compute Nodes:❏ Runs layer-2 Agent.

❏ Vxlan/GRE/VLAN is used to provide isolation

between tenant private networks.

❏ Neutron can be integrated with an SDN

Controller for greater flexibility.

Openstack: Orchestration, Metering and Dashboard

❏ Heat provides application orchestration.❏ A heat stack is created. Describe what the components

and resources are, how they are connected and how they elastically scale.

❏ A template is used to define this.❏ Submit the template to heat-api to get the application

provisioned.

❏ Heat has multiple components connected through message queue.❏ heat-api: Provides an API to interact with heat.

❏ Supports native heat API.❏ Support CFN. AWS CloudFormation template format

via heat-api-cfn❏ heat-engine: Provides main orchestration functionality.

Openstack Orchestration: Heat

❏ Collects measurements within openstack and provides an interface for billing softwares to read them.❏ metering and monitoring

❏ Components.❏ Compute Agent: Runs on each compute node and pools

for resource utilization.❏ Central Agent: Polls for resource utilization not tied to a

compute node.❏ Collector: Monitors for messages from message queue

from agents and collects.❏ Data Store: Stored in a database. Mongodb used by

default.❏ API Server: Provides an interface to access ceilometer

data.

Openstack Metering: Ceilometer

❏ Graphical self-service user interface for tenants to interact with all openstack services.❏ Can manage networks, volumes, instances,

swift storage, user management among other

things.

❏ Extensible: Anyone can integrate a new

component easily with horizon.

Openstack Dashboard: Horizon

Openstack: Database-as-a-service

❏ Provision relational and non-relational databases on demand for your application.❏ Involves:❏ trove-api: Provides an interface to interact

with trove.

❏ trove-taskmanager: Provisions trove

instances, responsible for their lifecycle

management and performing operations on

the database instance.

❏ trove-guestagent: A service that runs within

the instance responsible for operations on the

database.

Openstack DBaaS: Trove

Openstack: Bigdata-as-a-service

❏ Provisions and operate data processing clusters. Schedule and operate data processing jobs.

❏ Primarily for Hadoop. Run Hadoop workloads

in a few clicks (self service provisioning)

without expertise in hadoop operations.

❏ EDP - Elastic Data Processing. API for executing MapReduce jobs on Hadoop clusters.❏ synonymous to Amazon EMR

❏ Supports Swift, HDFS and Ceph as

datasource.

Openstack: Sahara

Openstack: Deployment

❏ Packstack is the quickest way to get openstack installed and running.

❏ Supports all-in-one deployment.❏ Use puppet manifests in the background.❏ Ideal for small deployment. eg, 1 controller

and 2 or 3 compute nodes.❏ Does not support a Highly Available

deployment.

Openstack: Packstack (Testing)

❏ For all-in-one, run:# packstack --all-in-one

❏ For other deployment:❏ Generate an answer file.# packstack --gen-answer-file=GEN_ANSWER_FILE

❏ Modify the answer file.❏ Deploy using the answer file.# packstack --answer-file=ANSWER_FILE

❏ Can also run interactively.# packstack

❏ TriplO (OoO) is Openstack-on-Openstack.

❏ You provision an Openstack deployment and use that openstack deployment to deploy another openstack deployment.

❏ Result: A deployed and Managed cloud.❏ Plan, Deploy and Manage.❏ Install, Upgrade and Operate Openstack

❏ Highly Scalable and ideal for production use case.

❏ Can Deploy Full HA environment.

Openstack: TripleO & Tuskar

❏ Tuskar provides deployment management service for TripleO and introduces the tuskar operator UI, CLI and API.

❏ Both TripleO and Tuskar works together for production grade deployment of openstack.

❏ We are going to have two clouds.❏ Undercloud❏ This is the Deployment and

Management Cloud❏ Command and Control cloud.❏ Only for cloud operator use.

❏ Overcloud❏ Production Cloud❏ Your production Openstack cloud

where your tenants will live.

Openstack: TripleO & Tuskar

❏ Ironic helps to perform bare metal provisioning of openstack hardware nodes for deployment.❏ Discovers hardware nodes.

❏ Supports power managements - IPMI

❏ Turns on discovered hardware nodes using

power management, pxe boots and

provisions it from image.

❏ TripleO uses Ironic bare metal provisioning to discover new hardware and deploy them for overcloud.

Openstack: TripleO - Ironic for Bare metal provisioning

Introduction to Openstack Installer : Director - Anand Nande and Jaison Raju (11 AM to 11:45 AM)

❏ Designate - Provides DNS-as-a-service for openstack.❏ Magnum - Container-as-a-service for openstack.

❏ Run your containerized application inside openstack instances.❏ Installs docker, kubernetes inside nova instances and to provide container services.

❏ List of complete projects is at http://governance.openstack.org/reference/projects/index.html

Openstack: Other Projects

Thank You Questions?

[email protected]: @sadiquepp