Upcoming Services in
OpenStack
Rohit Agarwalla (@rohitagarwalla), Technical Leader
DEVNET-1106
• OpenStack Overview
• OpenStack Project Governance
• Upcoming Services in OpenStack
• Trove
• Sahara
• Congress
• Magnum
• Ironic
Agenda
OpenStack Overview
OpenStack Overview
Design tenets – scale & elasticity, share nothing & distribute everything
Open source Cloud Computing Platform for Private and Public Clouds
OpenStack Projects
Compute (Nova) Dashboard (Horizon) Database (Trove)
Network (Neutron) Image (Glance) Orchestration (Heat)
Object Storage (Swift) Identity (KeyStone) Data Processing (Sahara)
Block Storage (Cinder) Telemetry (Ceilometer) Deployment (Triple O)
Bare Metal (Ironic) DNS (Designate) Application Catalog (Murano)
Containers (Magnum) Key Management (Barbican) Policy (Congress)
File System (Manila) Messaging (Zaqar) ….
OpenStack Project
Governance
Incubation-Integration Requirements
Project Structure Issues and Reforms
Issues
• Current ladder structure process inhibits
OpenStack adoption
• Projects part of “integrated” release
recognized officially part of OpenStack
• Integrated release “package” lacks
definition and spans different XaaS
services
Reforms
• Replace the single “integrated” release
with tags and objective rules to apply them
to projects - Maturity, Security-supported,
Massively Scalable etc
• Projects that meet OpenStack inclusion
criteria be hosted under OpenStack git
namespaces
• More details here
Upcoming Services in
OpenStack
Trove - Database as a
Service
• Database as a Service - Automating
complex database administrative
tasks – Deployment, Configuration,
Scaling, HA
• Single Tenant Database per Nova
instance
• Datastore type - Relational and Non-
Relational
• Pluggable – Support for MySQL,
PostgreSQL, NoSQL – Cassandra,
MongoDB, Couchbase, Redis
• Integration with other projects –
Designate, Heat, Neutron
• Companies – HP, Tesora and others
Trove
API Functionality
Management Create/Delete/Show/List Database
instance, Database, Users, Flavors
Security Support for Security Groups, No SSH by
default
Configuration
groups
Support for user defined configuration
settings (MySQL, MongoDB) – Eg:
max_connections, Buffer pool size etc
Backups Support for full backups and incremental
backups using Swift (MySQL,
Cassandara, Couchbase)
Replication Async mysql master-slave replication from
snapshot of master
Clustering Support for shards - three member replica-
sets (MongoDB)
https://wiki.openstack.org/wiki/Trove
Trove Architecture
• API
• Taskmanager
• Managing the lifecycle of instances – Talks to
Nova, Cinder, Glance
• Managing operations on the database instance
• Guestagent
• Performing operations on the database itself
• Conductor
• Status – Heartbeat messages, Backup/Restore
checks
Sahara – Data Processing
as a Service
• Cluster provisioning - Create and Manage Hadoop clusters
• Node Group Templates – Defines instances/nodes within a
cluster that will each run selected hadoop processes and store
data
• Plugins – Responsible for provisioning Hadoop cluster – Vanilla,
Hortonworks, MapR, Clouder, Spark
• Cluster Templates – What Node Groups to be included and
how many instances to be created in each
• Anti Affinity Groups – Processes may not be launched more than
once on a single host
• Cluster – Represents a Hadoop cluster run using Cluster
Template
• Image Registry – Used to provide additional information about
images using tags
• Cluster Scaling - Change instances in a existing Node group or add
new Node groups
Sahara
• Configure HDFS and MapReduce
parameters at Node and Cluster level
• Integration with Cinder, Swift, Neutron, Heat
• Companies – Mirantis, RedHat and others
https://wiki.openstack.org/wiki/Sahara
• Elastic Data Processing (EDP) – Execution of jobs
on clusters created from Sahara.
• Supports – Hadoop - Hive, Pig, MapReduce,
MapReduce.Streaming, Java and Spark
Sahara Architecture
API Functionality
Data Sources Stores URL which designates the
location of input and output data
Job Binaries URL to script or Jar file stored in
internal DB or Swift
Jobs Specifies the job and lists all
individual Job Binary objects
required for execution
Job Execution Monitor and Manage a Job
executed/launched on a Cluster
Congress – Policy as a
Service
Congress
• Policy as a Service for governance and compliance in a Cloud
• Policy language - Datalog (variant of SQL) – store state in a collection of
tables
• Classification – Cloud states that violate policy (error table)
• Enforcement – Action associated with a policy
• Access Control – Control over users that can execute actions
• Enforcement
• Proactive – Prevent policy violations before they occur
• Reactive – Corrective actions when policy is violated
• Interactive – Human decides corrective action for policy violations
• Assistive – Services offer information to prevent policy violations
• API
• Policy, Policy rules, Policy Tables, Policy Table Rows
• Data sources, Data sources Tables, Data sources Rows
• Companies – VMware, HP, Huawie and others
Eg: Every Network connected to a VM must either be
public or private and owned by someone in the same
group as the VM’s owner
error :- nova:vm(vm),
neutron:network(network),
nova:network(vm, network),
not neutron:public(network),
neutron:private(network),
nova:owner(vm, vm-own),
neutron:owner(network, net-own),
not same-group(vm-own, net-own)
https://wiki.openstack.org/wiki/Congress
Magnum – Container as a
Service
• Nova Container virtualization drivers - Docker, LXC, OpenVZ,
ZeroVM
• Provide basic container features
• Container features such as setting environment variables, accepting
a shell command to execute at runtime cannot fit into virt drivers
• Container as a Service (“Nova of containers”) - Provide a REST
API for Container management
• Provide app isolation, portability, manageability with containers
• Containers in VMs, Bare Metal, Containers
• Resources
• Container – a Docker container
• Pod – a collection of containers running on one physical or virtual
machine
• Service – a port to Pod mapping
• Node – a bare metal or virtual machine where work executes
• Bay – Collection of nodes where work is scheduled
Magnum
Kubernetes
Endpoint
Docker
Endpoint
Nova
Endpoint
Magnum
Launch instances with
Agent for hosting
Containers
Operation on Service
and Pod objects
Operation on Container
object
• Integration with Kubernetes, Docker,
Nova
• Companies – Rackspace, RedHat,
Cisco and others
https://wiki.openstack.org/wiki/Magnum
Ironic – Bare-Metal as a
Service
Ironic
• Service for Bare metal management
• Ironic API – RESTful API service
• Ironic Conductor – Interacts with hardware;
asynchronous handling of both requested and periodic
actions
• Ironic Python Agent – utility service temporarily booted
on machines to provide remote access to hardware for
provisioning and management
• Ironic Drivers – Communicate with hardware devices
• Nova driver
• Using Nova API can provision bare metal servers
• Based on Open technologies
• DHCP, TFTP, PXE - In a PXE environment, TFTP is
used to download NBP over the network using
information from the DHCP server.
• Ironic API – Chassis, Drivers, Links, Nodes, Ports
https://wiki.openstack.org/wiki/Ironic
• OpenStack services ecosystem is
expanding
• Lots of opportunities to contribute and
influence the community
Summary
OpenStack@DevNet
www.developer.cisco.com/openstack
Thank you
DEVNET-1106	Upcoming Services in OpenStack

DEVNET-1106 Upcoming Services in OpenStack

  • 2.
    Upcoming Services in OpenStack RohitAgarwalla (@rohitagarwalla), Technical Leader DEVNET-1106
  • 3.
    • OpenStack Overview •OpenStack Project Governance • Upcoming Services in OpenStack • Trove • Sahara • Congress • Magnum • Ironic Agenda
  • 4.
  • 5.
    OpenStack Overview Design tenets– scale & elasticity, share nothing & distribute everything Open source Cloud Computing Platform for Private and Public Clouds
  • 6.
    OpenStack Projects Compute (Nova)Dashboard (Horizon) Database (Trove) Network (Neutron) Image (Glance) Orchestration (Heat) Object Storage (Swift) Identity (KeyStone) Data Processing (Sahara) Block Storage (Cinder) Telemetry (Ceilometer) Deployment (Triple O) Bare Metal (Ironic) DNS (Designate) Application Catalog (Murano) Containers (Magnum) Key Management (Barbican) Policy (Congress) File System (Manila) Messaging (Zaqar) ….
  • 7.
  • 8.
  • 9.
    Project Structure Issuesand Reforms Issues • Current ladder structure process inhibits OpenStack adoption • Projects part of “integrated” release recognized officially part of OpenStack • Integrated release “package” lacks definition and spans different XaaS services Reforms • Replace the single “integrated” release with tags and objective rules to apply them to projects - Maturity, Security-supported, Massively Scalable etc • Projects that meet OpenStack inclusion criteria be hosted under OpenStack git namespaces • More details here
  • 10.
  • 11.
    Trove - Databaseas a Service
  • 12.
    • Database asa Service - Automating complex database administrative tasks – Deployment, Configuration, Scaling, HA • Single Tenant Database per Nova instance • Datastore type - Relational and Non- Relational • Pluggable – Support for MySQL, PostgreSQL, NoSQL – Cassandra, MongoDB, Couchbase, Redis • Integration with other projects – Designate, Heat, Neutron • Companies – HP, Tesora and others Trove API Functionality Management Create/Delete/Show/List Database instance, Database, Users, Flavors Security Support for Security Groups, No SSH by default Configuration groups Support for user defined configuration settings (MySQL, MongoDB) – Eg: max_connections, Buffer pool size etc Backups Support for full backups and incremental backups using Swift (MySQL, Cassandara, Couchbase) Replication Async mysql master-slave replication from snapshot of master Clustering Support for shards - three member replica- sets (MongoDB) https://wiki.openstack.org/wiki/Trove
  • 13.
    Trove Architecture • API •Taskmanager • Managing the lifecycle of instances – Talks to Nova, Cinder, Glance • Managing operations on the database instance • Guestagent • Performing operations on the database itself • Conductor • Status – Heartbeat messages, Backup/Restore checks
  • 14.
    Sahara – DataProcessing as a Service
  • 15.
    • Cluster provisioning- Create and Manage Hadoop clusters • Node Group Templates – Defines instances/nodes within a cluster that will each run selected hadoop processes and store data • Plugins – Responsible for provisioning Hadoop cluster – Vanilla, Hortonworks, MapR, Clouder, Spark • Cluster Templates – What Node Groups to be included and how many instances to be created in each • Anti Affinity Groups – Processes may not be launched more than once on a single host • Cluster – Represents a Hadoop cluster run using Cluster Template • Image Registry – Used to provide additional information about images using tags • Cluster Scaling - Change instances in a existing Node group or add new Node groups Sahara • Configure HDFS and MapReduce parameters at Node and Cluster level • Integration with Cinder, Swift, Neutron, Heat • Companies – Mirantis, RedHat and others https://wiki.openstack.org/wiki/Sahara
  • 16.
    • Elastic DataProcessing (EDP) – Execution of jobs on clusters created from Sahara. • Supports – Hadoop - Hive, Pig, MapReduce, MapReduce.Streaming, Java and Spark Sahara Architecture API Functionality Data Sources Stores URL which designates the location of input and output data Job Binaries URL to script or Jar file stored in internal DB or Swift Jobs Specifies the job and lists all individual Job Binary objects required for execution Job Execution Monitor and Manage a Job executed/launched on a Cluster
  • 17.
    Congress – Policyas a Service
  • 18.
    Congress • Policy asa Service for governance and compliance in a Cloud • Policy language - Datalog (variant of SQL) – store state in a collection of tables • Classification – Cloud states that violate policy (error table) • Enforcement – Action associated with a policy • Access Control – Control over users that can execute actions • Enforcement • Proactive – Prevent policy violations before they occur • Reactive – Corrective actions when policy is violated • Interactive – Human decides corrective action for policy violations • Assistive – Services offer information to prevent policy violations • API • Policy, Policy rules, Policy Tables, Policy Table Rows • Data sources, Data sources Tables, Data sources Rows • Companies – VMware, HP, Huawie and others Eg: Every Network connected to a VM must either be public or private and owned by someone in the same group as the VM’s owner error :- nova:vm(vm), neutron:network(network), nova:network(vm, network), not neutron:public(network), neutron:private(network), nova:owner(vm, vm-own), neutron:owner(network, net-own), not same-group(vm-own, net-own) https://wiki.openstack.org/wiki/Congress
  • 19.
  • 20.
    • Nova Containervirtualization drivers - Docker, LXC, OpenVZ, ZeroVM • Provide basic container features • Container features such as setting environment variables, accepting a shell command to execute at runtime cannot fit into virt drivers • Container as a Service (“Nova of containers”) - Provide a REST API for Container management • Provide app isolation, portability, manageability with containers • Containers in VMs, Bare Metal, Containers • Resources • Container – a Docker container • Pod – a collection of containers running on one physical or virtual machine • Service – a port to Pod mapping • Node – a bare metal or virtual machine where work executes • Bay – Collection of nodes where work is scheduled Magnum Kubernetes Endpoint Docker Endpoint Nova Endpoint Magnum Launch instances with Agent for hosting Containers Operation on Service and Pod objects Operation on Container object • Integration with Kubernetes, Docker, Nova • Companies – Rackspace, RedHat, Cisco and others https://wiki.openstack.org/wiki/Magnum
  • 21.
  • 22.
    Ironic • Service forBare metal management • Ironic API – RESTful API service • Ironic Conductor – Interacts with hardware; asynchronous handling of both requested and periodic actions • Ironic Python Agent – utility service temporarily booted on machines to provide remote access to hardware for provisioning and management • Ironic Drivers – Communicate with hardware devices • Nova driver • Using Nova API can provision bare metal servers • Based on Open technologies • DHCP, TFTP, PXE - In a PXE environment, TFTP is used to download NBP over the network using information from the DHCP server. • Ironic API – Chassis, Drivers, Links, Nodes, Ports https://wiki.openstack.org/wiki/Ironic
  • 23.
    • OpenStack servicesecosystem is expanding • Lots of opportunities to contribute and influence the community Summary
  • 24.
  • 25.