29
OpenStackAnsible and Automata Public vs Private Cloud Performance Hugh Ma | Michael O’Rourke

Public vs. Private Cloud Performance by Flex

  • Upload
    stackiq

  • View
    211

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Public vs. Private Cloud Performance by Flex

OpenStack-­‐Ansible  and  AutomataPublic  vs  Private  Cloud  Performance

Hugh  Ma  |  Michael  O’Rourke

Page 2: Public vs. Private Cloud Performance by Flex

2

Flex  |  Ciii      A  Global  Server  and  Rack  Integration  BusinessDeploy

Node,  rack  &  multi-­‐rack  level  solutions  with  native  hardware  only,  native  &  third  party  hardware  for  hybrid  &  JDM  solutions

OTD  to  Commit,  BTO/  CTO  Systems  Integration

Consistently  at  99%

Universal Test  System  (UTS)

Automated  logging,  analysis  &  reporting

Lead  Time  to  Customer To  request:  1  – 4  Days  Capability

Order  Acknowledgement  Time

4  Hours

SMI  with  Suppliers Consistently  at  >65%  of  spend

Cork,  Ireland

Brazil

Guadalajara,  MX

Milpitas,  CA

Austin,  TX

Columbia,  SC

Penang,  Malaysia

Zhuhai,  China

Singapore

Hungary,  Campus

India

Page 3: Public vs. Private Cloud Performance by Flex

3

Flex  |  Ciii  Types  of  Product  Engagements

• Rack  level  Interoperability• Cable  management  and  

Diagrams• Functional  cabinet  to  fully  

tested  cluster  assembly  &  test

• Customer/Manufacture/provision  of  all  fibre  optic,  data  &  power  cables

• System/cluster  level  stress  testing,  including  R/W  activity,  latency  measurements,  thermal  performance,  etc.

• Component  level  design• Leverage  existing  PCBA• Design  new  mid-­‐plane• Design  new  risers• Custom  Bezel  design• System  level  validation• Thermal  /  EMC  /  Safety

• Leverage  Industry  Standard  offerings

• Solutions  Design  &  Engineering

• Define  Best  of  Breed,  Price  for  Performance  &  Life  cycle  management

• Leverage  existing  system  level  validation*

• OEM  Branding  and  Packaging    

COTS  Integration

Cloud  and  Data  Center

“Light”  Customization

“Heavy”  Customization

• COT’s  Integration  +• System  Modifications  to  

OEM  needs,  cooling,  application  drive,  carriers

• Non  AVL  component  selections

• BIOS  defaults  change• BMC  defaults  change

Complexity

Time  to  Market  

Page 4: Public vs. Private Cloud Performance by Flex

4

Rack  engineering  workflow

Architect

CloudLabs Engineering flex1

Integrate Test Manufacture32 5

Optimize4

Services

Support6

Automata  and  FlexConfig

Page 5: Public vs. Private Cloud Performance by Flex

5

Why  use  Ansible  as  the  framework  foundation?

Ansible• Agent-­‐less• OpenStack  Support• Network  Switch  Support• Real-­‐time  Job  Events• Community

Ansible  Tower• Role-­‐based  Access• Job  Scheduling• Credentials  Management• SCM  Support• Inventory  Management• Surveys

Page 6: Public vs. Private Cloud Performance by Flex

6

Server  Provisioning  with  Stacki

ü Open  Sourceü Simplified  Baremetal  Provisioningü Mac  address  targeted  PXE  Bootingü Customizable  Local  CentOS  and  Ubuntu  Repositoriesü Hardware  &  Software  RAID  Supportü NIC  Bondingü Post-­‐Install  Configurationü http://www.stacki.com/

Page 7: Public vs. Private Cloud Performance by Flex

7

OpenStack  -­‐ Ansible

• Using  Ansible  to  deploy  OpenStack• First  released  in  April  2015  (Kilo)• Currently  on  Mitaka (Stable)  and  Newton  (Master  branch)• OpenStack-­‐Ansible  deployment  steps:

Page 8: Public vs. Private Cloud Performance by Flex

8

OpenStack  Cluster  Configuration

Deployment  Host

Page 9: Public vs. Private Cloud Performance by Flex

9

OpenStack-­‐Ansible  Deployment  Process

• Deployment  Host• Executes  the  deployment  playbooks  via  Ansible• Holds  all  the  necessary  deployment  configuration  files• Can  also  be  a  Target  Host!

• Target  Hosts• All  the  OpenStack  cluster  nodes  (Controllers,  Compute,  and  Storage)• Needs  proper  network  configuration  and  dependency  packages

• Deployment  Configuration• Define  the  proper  network  bridges  and  container  networking  variables.  (VLAN,  VXLAN,  FLAT,  etc…)• Define  node  roles.  

• Deployment• Run  the  playbooks:  setup-­‐hosts,  setup-­‐infrastructure,  and  setup-­‐openstack.

Page 10: Public vs. Private Cloud Performance by Flex

10

OpenStack-­‐Ansible  – Example  Network  Configuration  – Single  Interface  Setup

Bridge Interface Network   Bridge-­‐port (VLAN-­‐id)

Br-­‐mgmt 172.29.236.0/22 Eth2.41

Br-­‐vxlan 172.29.240.0/22 Eth2.42

Br-­‐storage 172.29.244.0/22 Eth2.43

Br-­‐ex 10.118.112.0/20 Eth2.44

Page 11: Public vs. Private Cloud Performance by Flex

11

OpenStack-­‐Ansible  Experience

• Pros:• Well-­‐Documented• Installation  and  reconfiguration  is  modular• Very  close  to  upstream  OpenStack• Responsive  community  |  #openstack-­‐ansible @  irc.freenode.net• ”Mistake  friendly”  thanks  to  containers• Supports  popular  3rd party  network  and  storage  vendors  (PLUMgrid,  CEPH,  etc…)

• Cons:• Requires  manual  host  imaging  and  initial  configuration• Requires  manual  network  configuration

Page 12: Public vs. Private Cloud Performance by Flex

12

Automata  Workflow

12

Page 13: Public vs. Private Cloud Performance by Flex

13

Benchmark  Top-­‐Level  Play

!!!"!"name:"Running"Common"Ops""""hosts:"all"""serial:"10"""become:"yes"""pre_tasks:"""""!"include:"roles/common/tasks/clean!up.yml"""""""""ignore_errors:"yes"""roles:"""""!"common""!"name:"Benchmark"Suite""""hosts:"client"""pre_tasks:"""""!"local_action:"command"uuidgen""""""""register:"job_id""""""""run_once:"true"""""!"set_fact:"""""""""result_path:"'/tmp/result!{{"job_id.stdout"}}/'""""roles:"""""!"passmark"""""!"stress"""""!"mprime"""""!"reboot"""post_tasks:"""""!"local_action:"""""""""module:"slack"""""""""token:"xxx"""""""""msg:""Server"Validation"Suite"by"@{{"operator"}}"on"{{"ansible_date_time.iso8601"}}"completed!"Job"ID:"{{"job_id.stdout"}}""""vars:"""""num_hosts:""{{"groups['client']"|"reject('equalto',"'Ansible!Control')"|"list"|"length"}}""""""operator:""blackbox""

!

Common  Tasks

Generate  Job  ID

Benchmark  Roles

Page 14: Public vs. Private Cloud Performance by Flex

14

Benchmark  Tasks

These  tasks  show:• Execution  of  a  Benchmark  • Completion  with  proper  results

Page 15: Public vs. Private Cloud Performance by Flex

15

Parsing  Tasks

These  tasks  contain  the  logic  for  parsing  result  files  of  a  benchmark.!!!"!"name:"Cat"STDOUT"of"Execution"""command:"cat"/tmp/test/{{"ansible_hostname"}}_{{"benchmark_name"}}.out""!"name:"Run"Parser"on"Result"File"and"Generate"CSV"""script:"parser.py""{{"benchmark_name"}}""/tmp/test/{{"ansible_hostname"}}_{{"benchmark_name"}}.out""!"find:""""""paths:""/tmp/test""""""patterns:""*.csv""""register:"found_csv""!"name:"Fetching"Result"CSV"File"to"Control"Host"""fetch:"src={{"item['path']"}}"dest={{"result_path"}}"flat=yes"""with_items:""{{"found_csv.files"}}"""!"name:"Fetching"Raw"Output"to"Control"Host"""fetch:"src=/tmp/test/{{"ansible_hostname"}}_{{"benchmark_name"}}.out"dest={{"result_path"}}"flat=yes""!"include:"system!identity.yml"""become:"yes""!"name:"Write"out"Config"to"File"""local_action:"copy"content={{"time"}}"dest={{"result_path"}}config.ran"""run_once:"true"

!

Run  Parser.py

Fetch  Results

Fetch  System  Logs

Page 16: Public vs. Private Cloud Performance by Flex

16

Demo  Video

Page 17: Public vs. Private Cloud Performance by Flex

17

The  Ansible  Experience

• The  “Good”• Easy  to  train  other  members  of  the  team  on  usage• Intuitive  playbook  structure• Flexibility  in  custom  modules  and  plugins• Repeatable  Benchmarking• Cuts  down  manual  work!

• The  “Kinda Bad”…  but  not  really• Error  messages  are  sometimes  obscure• To  OpenSSH or  to  Paramiko?

• The  “Could  Be  Better”  • Active/Active  HA  for  Tower  (On  the  Roadmap!)• Canceled  Jobs  !=  Failed  Jobs

Page 18: Public vs. Private Cloud Performance by Flex

18

Looking  Ahead

• Expand  Benchmark  Coverage• Application  Benchmarks• Database  Benchmarks• Hadoop  Deployments• Container  Deployments

• Full  Stack  Validation  Suite  with  Stacki  and  Ansible  Openstack• One  playbook  to  validate  them  all

• Community  Contribution• Support  OpenStack  Benchmarking  Projects  (i.e Browbeat)

Page 19: Public vs. Private Cloud Performance by Flex

19

Cloud  Benchmarking  with  Unixbench  

Page 20: Public vs. Private Cloud Performance by Flex

20

Unixbench  – System  Benchmark

• Released  in  1995  to  measure  performance  of  an  entire  system• Sensitive  to  HW  as  well  as  SW  configuration  and  OS  version• Sub-­‐test  scores  compared  against  Sun  SparcStation 2061  (1994)  to  create  sub-­‐test  index• Sub-­‐test  indices  combined  (geo-­‐mean)  to  form  System  Index

Sub-­‐test Name Description System Component

Dhrystone Synthetic  integer test  (1984) CPU

Whetstone Synthetic  floating-­‐point  test  (1972) CPU

execl() Count  of  system  exec  calls  in  1 second OS

File  Copy Writes file  to  disk  then  makes  a  copy Disk  I/O

Pipe Throughput Measuring 512B  transfers/second Memory,  OS/Shell

Pipe-­‐based  Context  Switching “2-­‐way  conversation”  with increasing  integer Memory,  OS/Shell

Shell Scripts Shell  script  execution  time OS/Shell

Sys  call Latency  induced by  entering  OS OS

Page 21: Public vs. Private Cloud Performance by Flex

21

Victoria,  bare-­‐metal  v.  single  virtualized  instance

20% perf drop

Page 22: Public vs. Private Cloud Performance by Flex

22

Medium  vm performance  as  active  vm’s increase  in  Rack  (23  servers)

40% perfdrop as cluster fills

Page 23: Public vs. Private Cloud Performance by Flex

23

Unity  Large  vm performance  as  active  vm’s increase  in  Rack  (23  servers)

37% drop as cluster fills

Page 24: Public vs. Private Cloud Performance by Flex

24

Unity  X-­‐Large  vm performance  as  active  vm’s increase  in  Rack  (23  servers)

31% drop as cluster fills

Page 25: Public vs. Private Cloud Performance by Flex

25

Unity,  medium  VMs  provide  optimal  cumulative  Unixbench  performance

Page 26: Public vs. Private Cloud Performance by Flex

26

VMs  on  Unity  Private  Cloud  match  Public  Cloud  Perf  at  50%  Utilization

Page 27: Public vs. Private Cloud Performance by Flex

27

Private  Cloud  (27  Victoria  Cluster)  Cost  Calculations

HardwareCPU:              $1,340  (2x  E5-­‐2630  @  $670)Memory:  $1,600  (8x  32GB  DDR4  DIMMs,  SK  Hynix  @  $200)Storage:        $212  (1x  480GB  SSD)-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐Server:        $5,500

For  27  Victoria  in  a  rack: $148,500.00Rack  +  3  Switches  +  10G  Cabling:  $9,785

Total  cost  to  buy:  $158,285

Power  /  Cooling  Average  summer  power  cost:      $0.243/kWhAverage  winter  power  cost:.          $0.188/kWh

Idle  power  usage/server:                          120WUnder-­‐load  power  usage/server:  240W27  Victoria  under  load:                              6480WAverage  daily  operating  cost:                $36.81Amortizing  cost  of  rack  etc.:  $158,285/(365.25  *  5)

Daily  cost:              $86.67  /  dayCooling  needed:                                                      1.69  tons

Including  power/cooling:                                $131.79  /  dayHourly  expense:  $131.79  /  24hr  =  $  5.49  /  hour

Page 28: Public vs. Private Cloud Performance by Flex

28

Public  v.  Private  Cloud;  Private  has  better  value  as  low  as  25%  utilization

Page 29: Public vs. Private Cloud Performance by Flex

29

Questions?Hugh  Ma  ([email protected])

Michael  O’Rourke  ([email protected])