125
OpenStack Seminar in Myanmar Aug. 2017 Takashi Torii, Japan OpenStack User Group, NEC, Okinawa Open Laboratory

201708 OpenStack Seminar in Myanmar

Embed Size (px)

Citation preview

OpenStack Seminar in MyanmarAug. 2017

Takashi Torii, Japan OpenStack User Group, NEC, Okinawa Open Laboratory

Outline

■What is Cloud?

■What is OpenStack?

■OpenStack Community and User Group in Global

■OpenStack Foundation and Event

■Market and Business about OpenStack

■How to Start and Contribute

■Closing

Who am I?Takashi Torii- Co-Chair of Japan OpenStack User Group - Senior Expert of OSS Promotion and

Technology, NEC- Chief Technical Advisor of Okinawa Open

Laboratory- @ttorii0609

What is Cloud?

What is Cloud?

■From user’s view

– On-Demand

– Pay-per-Use

■From operator’s view

– Standardized

– Low cost operation

Use Case

■Past Test Search System

– Purpose

●Students can search past test of each professor and course

●Study easy! and help to take points!

– Requirement

●On the web

●Limited access

●Temporary

●Free or low cost

Let’s use “Cloud”!

Cloud Service

■SaaS

■PaaS

■IaaS

Software as a Service (SaaS)

Using application in Cloud

Ex) Google Apps

Platform as a Service (PaaS)

Using Cloud environment to develop applications

Ex) CloudFoundry

Infrastructure as a Service (IaaS)

Using infrastructure (server, network, storage) in Cloud

Ex) AWS, Google Cloud Platform, OpenStack

Cloud Service

MS Office,Google, Mail

SaaSSoftware as a Service

PaaSPlatform as a Service

IaaSInfrastructure as a Service

OS, MiddleWare

CPU, MemoryDISK, Network

Using Applications

Developing Applications

Using Resources

Merit of Cloud/IaaSBefore After

Create Environment by Person Software Defined

Buy Hardware Resource on demand

Depend on Hardware Not depend on Hardware

Taking Time Linearly Repeat/Reproduce

Hardware Resource is Limited Resource is unlimited

Can NOT do everything! Can do EVERYTHING!

What is OpenStack?

Cloud Service

MS Office,Google, Mail

SaaSSoftware as a Service

PaaSPlatform as a Service

IaaSInfrastructure as a Service

OS, MiddleWare

CPU, MemoryDISK, Network

Using Applications

Developing Applications

Using Resources

The Beginning of OpenStack

Nova

• IaaS platform NASA developed

for solving the scalability

problem of Eucalyptus

Swift

• Cloud storage service developed by

Rackspace

2010, Summer

Started “OpenStack Project”with Nova and Swift targeting 100%

Open Source Software

OpenStack Versions

Austin

Bexar

Cactus

DiaboloEssex

Folsom

Grizzly

Havana

IcehouseJuno

Kilo

Liberty

Mitaka

NewtonOcata

OpenStack Ocata Release■ One platform: bare metal, VMs, containers

– OpenStack provides one platform to orchestrate bare metal, containers and virtual machines on a single network allowing private users to optimize for their application without creating more silos in their datacenter, and giving service providers more capabilities.

OpenStack is..

■Scalable and Open Cloud Infrastructure

OpenStackModular

Micro Service

Architecture

Utilizing other OSS

REST API

Full Python

Release every 6 month

OpenStack Projects

IaaS

Virtual Server

(Nova)

Physical Server

(Ironic)

Container

(Magnum)

Network

(Neutron)

PaaS

Database

(Trove)

Message Queue

(Zaqar)

Big Data

(Sahara)

DNS

(Designate)

Orchestration

(Heat)

Storage

Object Storage

(Swift)

Block Storage

(Cinder)

Shared Filesystem

(Manila)

VM Images

(Glance)

Common

Identify(Keystone)

Portal

(Horizon)

Metering

(Celometer)

QA/CI

(Tempest)

OpenStack Projects

OpenStack Projects

Virtual Network

Neutron

Virtual Server

Physical ServerBare Matal

ImageGlance

Block StorageCinder

Object StorageSwift

Nova

IdentifyKeystone

Virtual Router, Virtual LB..

Virtual Server create/delete

Bare Metal Server

VM Image and Snapshot

Virtual Volume

REST APIRemote Replication

Horizon(Dashboard)

API

Ironic

Project Navigator

■https://www.openstack.org/software/project-navigator/

Utilizing Other OSS

OSS inside OpenStack

•Database

MySQL, MongoDB, InfluxDB

•On-memory cache

Memcached

•Message Queue

RabbitMQ

OSS used with OpenStack

•HA

Pacemaker, Corosync

•Monitoring

Zabbix, Nagios, Ganglia

• Log Management

ElasticSearch, LogStash,

Kibana (ELK), Hadoop

•Developer Tools

Jenkins, GitLab, Gerrit

Micro Service Architecture

Neutron

Cinder

Nova

VM

Attach Volume

Create Server

DBAPICreate Network

DBAPI

DBAPI

API

Scheduler

ConductorCompute

Nvcproxy

API

APP Template XaaSOperation

Design

API

PrivatePublic Managed

ValueAdd

Infra layer Abstruction

Nova Neutron Cinder Swift

Low CostInfra

Using Standard API doesn’t lock-in

Cloud Native Application

Selectable, using best practice easily

How to use?

■As a User

■As a Operator

■As a Developer

■GUI

■CLI

■API

■SDK

TryStack (Sandbox)

■http://trystack.org/

Firstly join the

Facebook group here

After your join request

is approved, you can

login from here

CLI

■https://docs.openstack.org/python-openstackclient/latest/

API

■https://developer.openstack.org/api-guide/quick-start/

#!/usr/bin/env python

from novaclient.v1_1 import clientnt = client.Client("demo",

"openstack","demo","http://11.22.33.44:5000/v2.0",service_type="compute")

ns = nt.servers.create(name = "testvm001",image = im[0],flavor = fv[0],nic = nw[1])

SDK

■https://developer.openstack.org/

Heat

■Orchestrator project to automate system deployment by template

resources:my_instance:type: OS::Nova::Serverproperties:key_name: testkeyimage: Ubuntu-14.04-TLSflavor: m1.smallnetworks:- port: {get_resource: test-port}

$ heat stack-create -f <template_file> <stack_name>

About Containers

Casts

Dinesh Bertram

Erlich

Casts and Their Tools

Dinesh Bertram

Erlich

Containers

(Docker)Kubernetes

OpenStack

Kubernetes over OpenStack

VM VM VM VM

Kubernetes Cluster

Using MAGNUM PROJECT

Host Host

PODPODPOD

Kubernetes over OpenStack

Using ZUN PROJECT

Docker Docker

Cont

ainer

Cont

ainer

Cont

ainer

Cont

ainer

Host Host

OpenStack on Kubernetes

OpenStack-A

Deploy

Kubernetes Cluster

OpenStack-B

OpenStack Community and User Group

OpenStack Developer Community

Developer

Core Developer

PTL

Role Description

TC Decision about whole OpenStack

development policy or target

PTL Lead and manage each component

Core

Developer

Mainly develop the code and review the

patches also have the rights to commit

them to main tree

developer Mainly develop the conde and review

them

Technical Committee (TC)

Project

Globally Distributed

Development Style

OpenStack Developer Community

■ Modern Development Style using Modern Tools

■ Cross-Organization and Diversity

■ Discuss heavy, to achieve everyone’s agreement

■ Periodically meet F2F (OpenStack Summit, Project Team Gathering, Mid-cycle Meetup..)

Continuous Integration (CI)

■To keep upstream quality and stability

■Can release anytime

■Using tools effectively●DevStack: Deploy OpenStack environment easily

●Gerrit:Review system

●Jenkins: Automated CI/CD tool

Continuous Integration (CI)

Devstack

① Dev/Test in local environment

Discuss in mailing-list, chat, etc

② Review and testin Community Infra

Developer

User/Community

GitHub Jenkins

LaunchPad

Gerrit

Code Repository Review Automated Test

Bug and Spec management

OpenStack User Group

Asia Area

How to Start?

■https://groups.openstack.org/tips

■Contact your Ambassador– I can introduce

■Create core team– At least 2 person

■Register new user group– Creating Facebook Group

– Creating Meetup page

■Plan Meetings and Meetups– Ask volunteers to help

Japan OpenStack User Group

openstack.jp

Supporting Companies

48

ASEANLABS Itochu Techno-Solutions(CTC) Internet Initiative Japan(IIJ) NTT Communications NTT Software NTT Data NTT Data Intellilink Corp. LPI-Japan Empire Inc. Okinawa Institute of Science and

Technology Virtualized Infrastructure Operators

Group Canonical Cloud Utilization Promotion Agency

(CUPA) Cloudian K.K. Creation Line, Inc. KDDI

GMO Internet, Inc. National Institute of

Informatics (NII) Supermicro DataDirect Networks Japan,

Inc. Dell Japan NEC NTT Hitachi Hewlett-Packard Japan Bit-isle/Equinix Fujitsu Midokura Japan Mirantis Japan Red Hat K.K.

Community Growth(May 2017)

Over 1700 and growing now!

More and more organizations areadopting OpenStack

■Keynote speakers in the OpenStack Days Tokyo

– 2013: National Institute of Informatics

– 2014: GREE

– 2015: GMO Internet, Rakuten, NTT Communications

– 2016: JFE Steel, NTT Docomo, Fujitsu

– 2017: Dwango, Line, Fuji City

Meetups!

How we organize meetups

■Meetup planning team

– 10+ volunteers from the user group

– Once per month average

– Select topics and find speakers

– Find a meeting room for 100+ people

● Meeting rooms in supporting companies’ offices

● Organized by volunteer members (registration, logistics)

■Learn from each other (no sales pitch)

Topic selection criteria

■Fill the gaps between matured users and novice users

■Promote on-boarding to OpenStack

■Catching up the latest development

■Technical deep dive

■Operational tips

Meetups (last 10)■ Mar 2016: 25th “HA for Instances” 174ppl

■ Apr 2016: 26th “Using OpenStack with DevStack” 37ppl

■ May 2016: 27th “OpenStack installers” 220ppl

■ Jun 2016: 28th “Orchestration with Heat” 132ppl

■ Sep 2016: 29th “Introduction to OpenStack Quality Assurance” 143ppl

■ Sep 2016: 30th “OpenStack Basics and Latest Updates: in Osaka” 45ppl

■ Nov 2016: 31st “OpenStack Networking Updates” 165ppl

■ Mar 2017: 32nd “Exploring EVERY OpenStack Projects!” 9ppl (weekend one-day session)

■ Apr 2017: 33rd “What’s new in OpenStack Ocata Release” 135ppl

■ May 2017: 34th “Hands-on OpenStack Basics” 104ppl

■ July 2017: 35th “Hands-on OpenStack Basics #2” 77ppl

1086 unique attendees total

Meetups usually look like this

Sometimes it looks like this

https://ethercalc.openstack.org/xurnkvyqng8q

Ops Workshop

■ Collaborative workshop among OpenStack operators

– Follow the format of the OpsMeetup

● https://wiki.openstack.org/wiki/Operations/Meetups

– 30-40 ops members from 15+ companies

– Meeting agenda and discussions (twice a year)

● https://etherpad.openstack.org/p/JP-Ops-workshop (in Okinawa Open Days 2015)

● https://etherpad.openstack.org/p/JP-Ops-workshop-2 (in OpenStack Days Tokyo 2016)

● https://etherpad.openstack.org/p/JP-Ops-workshop-3 (in Okinawa Open Days 2016)

● https://etherpad.openstack.org/p/JP-Ops-workshop-4 (in OpenStack Days Tokyo 2017)

Major Japanese OpenStack operators got together

■ NTT Group

■ GMO Internet

■ Yahoo! Japan

■ Rakuten

■ Bit-Isle Equinix

■ NEC

■ Cyber Agent

■ DeNA

■ Hitachi

■ IIJ

■ KDDI

■ Broadband Tower

Operator’s agenda

■Topics discussed in the past workshops– Containerizing OpenStack control plane– Upgrade

– Logging– Architecture Design tips– Networking

– Migration– Instance HA– Documentation

– How to educate ops team– Contribution to official working groups

59

60

2nd OpsMeetup in OpenStack Days Tokyo 2016

“Ops Meetup” is coming to APAC

■Ops Meetup in Feb-Mar 2018 will be in APAC

■We are proposing Tokyo– https://etherpad.openstack.org/p/ops-meetup-venue-discuss-1st-

2018

– Join openstack-operators ML for details and to vote!

– Join Ops Meetups Team IRC to help organize.● https://wiki.openstack.org/wiki/Ops_Meetups_Team

Upstream Training

■Free Training for new contributors

– Core developers, PTLs volunteered to be a mentor/trainer

– Held annually (usually co-located with OpenStack Days)

– Learn

● How OpenStack is developed

● How to use dev tools, how to become a contributor

● How to push code, get reviewed

● How to collaborate/communicate with community members

● How to collaboratively develop large software (Lego work)

■Hands-on training for new contributors– 4th time in Japan

■20+ attendees, 3 mentors

■Learn how to contribute– Attendees learned how to use various tools such as

Launchpad, Gerrit, IRC, etc

– PTLs from I18n, QA team and COA from Taiwan gave lectures.

– https://etherpad.openstack.org/p/upstream-training-jp-2016-summer

63

Upstream Training■Learn how to collaborate in the community

64

Open InnovationAbout Okinawa Open Laboratory

Open Innovation

About Okinawa Open Laboratory (OOL)■ Research Institute

– Founded by NTT Communications, NEC and IIGA in May 2013– Based at Uruma City, Okinawa, Japan

■ Mission – Research and development for practical application and dissemination of

advanced Information Communications Technologies (ICT), especially next-generation ICT platform technologies in below

● SDN (Software-Defined Networking)● NFV (Network Function Virtualization)● OpenStack (Cloud computing technology using OSS)

■ Representative– Yukio Ito, Chairman

■ Activities– Verification of new technologies– Development of use cases and reference models– Education and training of engineers– International conferences and exchanges, especially with Asian

countries

Activities of Okinawa Open Laboratory

■OPNFV

■ONOS/CORD

■Test bed

■Network Test Automation

■VNF Test Automation

Collaboration in AsiaMember Researchers

ExchangeJoint

ResearchConnectionbetween

Labs

CollaboratedEvent

Taiwan

Korea

China

Malaysia

OpenStack Foundation

OpenStack Foundation■ Organization to promote the global development, distribution, and adaption of

OpenStack

– Established in 2011, it is 2nd largest OSS related organization

– Currently served more than 60,000 individual members from over 180 countries around the world

OpenStack Foundation Staff

Jonathan BryceExecutive Director

Mark CollierCOO

OpenStack Foundation Members

OpenStack Summit

■The most big event about OpenStack– Hosted by OpenStack Foundation held twice the year (Spring and Fall)

– Held in North America in Spring, and Europe or Asia in Fall

Conference

Keynote and many sessions about use case, strategy, product/tools,

new technology etc.

Forum

Discuss the topic with developer and user

Marketplacesponsor booth exhibiting product or solutions

Keynote

Marketplace, Sessions

OpenStack Summit

Project Team Gathering (PTG)

For developer(How)

Feedback from user(What)

Until last year

Next OpenStack Summit

OpenStack Days

OpenStack Days

OpenStack Days Tokyo

Open x Collaboration

Keynote: OpenStack x CloudFoundry

OpenStack Days Tokyo

■Edge Computing

■DevOps x CI/CD

OpenStack Now

Example Users■Not only Cloud Provider or Servicer, there are many user case have been published from Telecom, Finance, Enterprise.

Fuji City Government

System Image of Fuji using OpenStack

■ DR

■ Low TCO

■ Vender Neutral

https://www.openstack.org/marketplace/

OpenStack based Services/Products

How do you get OpenStack?

User survey in Japan

From attendees of OpenStack Days Tokyo

Running OpenStack?

N= 2615(2016), 2464(2017)

26.3%

32%

Type of your cloud (include future plans)

N= 2615(2016), 2464(2017)

What do you expect from OpenStack?

N= 2615(2016), 2464(2017)

Services running on OpenStack

N= 5058(2016), 4701(2017) multiple answers

Features using/willing to use

N= 5058(2016), 7313(2017): multiple answers

How to Contribute

Support Phases

master

stable/mitaka

stable/liberty

stable/kilo

Phase I

Phase II

Phase III

Basically all bugfixes are applied to PhaseI

Security patches are applied to PhaseIII

Critical bugfixesare applied to PhaceII

http://docs.openstack.org/project-team-guide/stable-branches.html

Backport Policy

■Some types of changes are completely forbidden

–New features

–Changes to the external HTTP APIs

–Changes to Nova’s internal AMQP API

–Changes to the notification definitions

–DB schema changes

–Incompatible config file changes

Release Series

Bug Search

■Based on error messages or other keys, you can search reported bugs on Launchpad

https://bugs.launchpad.net/openstack

Search Key

Sort Key

Bug Report1.As a sample, report about nova

2.Keyword Search

3.New bug report

4.Describe the bug in detail

(Next slide)

5.If related to security, check the box

5.Register

6.Thank you e-mail is arrived

7.E-mail report coming when status changed

https://bugs.launchpad.net/nova/+filebug

Search existing bugs by keyword from summary

There is no similar bug, report as a new bug

Tips: Adding tags will help understanding and quick response from community developer

Bug Report in DetailDescribe the bugs shortly and sufficiently

Ex)weather applet crashes on logout

Describe the information about the environment etc. to investigate easier

- version (OS, OpenStack version etc)

- system (nova, neutron, etc)

- expected behavior and actual behavior

- Error messages

- How to replicate

There are bug reporting guideline in Neutron community

http://docs.openstack.org/developer/neutron/policies/bugs.html#bug-report-template

Code Fixing Flow

http://docs.openstack.org/infra/manual/developers.html

⑥‘

① Copy the source code to local environment

② Create branch for fixing the bugs and change them

③ Commit to branch after unit test passed

④ Ask review to community

⑤ Automatically tested by community CI

⑥ Accepted by core reviewer

⑥‘ If not accepted, amend the patch and ask review again

DevStackhttp://docs.openstack.org/developer/devstack/

(http://devstack.org/)

DevStack Quick Start

$ sudo apt-get update$ sudo apt-get install git

$ git clone https://git.openstack.org/openstack-dev/devstack.git$ cd devstack

## Edit local.conf$ cp samples/local.conf .$ vi local.conf

$ ./stack.sh

## After launched, access from browser by IP address

Create Accounts■ Launchpad

■OpenStack Foundation ID

■Gerrit

■OpenStack Individual Contributor License Agreement (ICLA)

■These processes are explained OpenStack Infra Manual (http://docs.openstack.org/infra/manual/developers.html#account-setup)

Prepare Git and Gerrit■ Git

– git config --global user.name "Firstname Lastname"

– git config --global [email protected]

– git config --list

■ Gerrit– sudo apt-get install git-review # Install

– ssh-keygen # Create Key

– Access https://review.openstack.org/

– Setting SSH Public Keys Add Key

– Register the public key (~/.ssh/id_rsa.pub)

git-review

■git clone https://git.openstack.org/openstack/<projectname>.git

■You can use Sandbox: git clone https://git.openstack.org/openstack-dev/sandbox

■cd <projectname>

■git review -s # Remote Setup

Starting a Change

■Initial commit–git add <file(s)> or git add -u <file(s)>–git commit–git review

■Amend the patches–git add <file(s)> or git add -u <file(s)>–git commit --amend–git review

■When master branch changed–git remote update origin–git rebase origin/master–When conflicts occurred, carefully change and merge changes, and do “git add”, and “git rebase -continue”

Commit Messages

■https://wiki.openstack.org/wiki/GitCommitMessages

Review

Inline Comments

Reviewer

Regular Reviewer

can vote -1/0/+1

Core Reviewer

can vote -2/+2

Closing

Why OpenStack?

0

1,000

2,000

3,000

4,000

5,000

6,000

7,000

8,000

Attendee of OpenStack Summit

OpenStack is the Right Way to become “Cloud Native”

COST

SPEED

INNOVATION

Resource is provided as a serviceUser self

Transform system architecture to Cloud Native

Open and Standard without vender lock-in

Diversity and open eco system help innovative activities in global

You can find more good job!

The Power of Open Source

■Open Source First

■Many Ideas, Many Tries

Let’s Join!

Thank You!