application m&o on openstack
TRANSCRIPT
1
OpenStack Application M&O
Shanghai OpenStack Meet-up at IBM (July 4th, 2015) 王天青 EMC中国研究院
2
3
• 最近有一篇文章《公有云使用常见问题问答》,其中排名第一的问题是:云主机有没有安装常规服务,大量服务、应用如何批量配置管理?对于用户来说,使用OpenStack等IaaS只是通向云计算之旅的第一步。最关键需要回答的问题是OpenStack等IaaS如何能够服务好用户现有的应用(平台2.0/2.5 应用)及将来的应用(平台3.0应用,例如Cloud Native Application)。
引子
4
BILLIONS OF USERS BILLIONS OF DEVICES
MILLIONS OF APPS
Application
Service
IaaS
Tomorrow’s Data Center Next Gen Cloud Applications
2016 48M
2012 6M 700%
Traditional Applications
2016 141M
2012 83M 70%
Today’s Data Center
5
Disruptive Players
6
• Speed of innovation
• Always-available services
• Web scale
• Mobile-centric user experiences
Why Disruptive?
7
• The Twelve-Factor App: a collection of cloud-native app architecture patterns
• Microservices: independently deployable services that do one thing well
• Self-Service Agile Infrastructure: platforms for rapid, repeatable, and consistent provisioning of app environments and backing services
• API-based Collaboration: published and versioned APIs that allow interaction between services in a cloud-native app architecture
• Anti-Fragility: systems that get stronger when subjected to stress
How?
8
Application Life Cycle Management
开发 测试 集成 发布 部署 运维
Dev Ops
9
• Deployment – Dependency
– Installation
– Startup
– Configuration
• Operation – Monitoring (status,
Metrics, Log) & Trouble Shooting
– Configuration
– Upgrade
– Scale, Backup, HA, DR
Challenges of Ops
10
11
Deployment on OpenStack, Practice #1
• Image Management – Build: diskimage-builder, Oz, VMBuilder, BoxGrinder,
VeeWee, Packer, imagefactory, SUSE Studio
• Infrastructure Resource Provisioning – Orchestration by Heat: network (router, gateway, subnet,
floating IP…), compute (security group, key pairs, VM…), storage (volume)
• Application Deployment and Configuration – Puppet
12
Example: Install OpenStack via Puppet
13
Bare-metal Orchestration
Puppet
Policy
MCO Broker
Node
Razor
Kick-Start + Proceed
Isilon HDFS File & Block Backup
Install Operating System 1. Install OpenStack; 2. Configure EMC Storage to OS
Infrastructure M&O
Machines &&
Deployment Specs
Puppet
Heat
&
Sahara
App M&O Cloud M&O
Nise Puppet
14
Unified M&O
15
• Image: CentOS 6.0
• Heat: Provisioning resources
• Puppet: Install ScaleIO
Install ScaleIO on OpenStack
16
• Cloudify integrates with Heat out of the box
• Cloudify Heat Template
• Infrastructure Orchestration
Built-in Network Orchestration with Neutron
Deployment on OpenStack, Practice #2
17
How it works
Blueprints
18
• Topology and Orchestration Specification for Cloud Applications
TOSCA
1. DSL 2. Inputs
成也萧何,败也萧何
19
• BOSH is a project that unifies release engineering, deployment, and lifecycle management of small and large-scale cloud software.
• It also performs monitoring, failure recovery, and software updates with zero-to-minimal downtime.
• While BOSH was developed to deploy Cloud Foundry PaaS, it can also be used to deploy almost any other software (Hadoop, for instance).
• In addition BOSH supports multiple Infrastructure as a Service (IaaS) providers like VMware vSphere, vCloud Director, Amazon Web Services EC2, and OpenStack.
Deployment on OpenStack, Practice #3
20
BOSH Overview
21
• Stemcell: A stemcell is a versioned Operating System image wrapped with IaaS specific packaging.
• Release: A release is a versioned collection of configuration properties, configuration templates, start up scripts, source code, binary artifacts, and anything else required to build and deploy software in a reproducible way.
• Deployment: A deployment is a collection of VMs, built from a stemcell, that has been populated with specific releases and disks that keep persistent data. These resources are created based on a manifest file in the IaaS and managed by the BOSH Director, a centralized management server.
BOSH Major Concepts
22
BOSH Architecture
23
Cloud Foundry
Deploy Cloud Foundry On OpenStack
BOSH-INIT
Release: • bosh • bosh-openstack-cpi Stemcell: • bosh-openstack-kvm-
ubuntu-trusty-go_agent Manifest • Bosh-deploy.yml
OpenStack (IaaS)
VM
BOSH
CPI
Controller
OS Agent
VM
Agent
VM
Agent
VM
1
2
Release: • cf-release Stemcell: • bosh-openstack-kvm-
ubuntu-trusty-go_agent Manifest • CF-deploy.yml
BOSH-CLI 3
4
5
24
• Murano: The Murano Project introduces an application catalog to OpenStack, enabling application developers and cloud administrators to publish various cloud-ready applications in a browsable categorized catalog.
• http://apps.openstack.org/
Deployment on OpenStack, Practice #3
25
Murano - Applications
26
Murano - Lattice https://github.com/LaynePeng/murano_lattice
27
Murano - Manage
28
Murano - Deployment
29
Murano - Deployment
30
• Magnum: Magnum is an OpenStack API service to make container orchestration engines such as Docker and K8s available as first class resources in OpenStack. Magnum uses Heat to orchestrate an OS image which contains Docker and K8s and runs that image in either virtual machines or bare metal in a cluster configuration.
Future Research Plan - Magnum
31
• Application M&O – Integrated with Infrastructure & Cloud M&O (Application
M&O -> Cloud M&O -> Infrastructure M&O)
– Beyond Deployment, need support Operation. Also should be Development friendly.
– Cloud-native app friendly (12 factor apps, Microservices)
Summary
32
• Vote for OpenStack Tokyo Summit Talk: OpenStack Managed Cloud Foundry Service Marketplace, By Layne Peng and Grissom Wang
Advertisement
33
Contributors & EMC Labs China
Layne Jie
Vivian Jinlong