openstack intro iqbal dist - Department of Computer ... · Building(acloud(with( Openstack(Iqbal(Mohomed(iqbal@us.ibm.com(March(25’th(2015

Post on 28-May-2020

2 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

Transcript

Building  a  cloud  with  Openstack  

Iqbal  Mohomed  iqbal@us.ibm.com  March  25’th  2015  

About  me  …  •  EducaDon  

–  University  of  Toronto  x  3  •  B.Sc.  Hons  2000  (SoOware  Engineering,  Economics,  Math)  •  MSc  2004  •  PhD  2008  

•  SoOware  Engineer  –  Nortel  –  Motorola  –  CaseWare  

•  Researcher  –  Post-­‐doc@MicrosoO  Research  Silicon  Valley  (2008-­‐2010)  –  Research  Staff  Member@IBM  T.J.  Watson  Research  Center  (2010-­‐current)  

About  me  …  •  EducaDon  

–  University  of  Toronto  x  3  •  B.Sc.  Hons  2000  (SoOware  Engineering,  Economics,  Math)  •  MSc  2004  •  PhD  2008  

•  SoOware  Engineer  –  Nortel  –  Motorola  –  CaseWare  

•  Researcher  –  Post-­‐doc@MicrosoO  Research  Silicon  Valley  (2008-­‐2010)  –  Research  Staff  Member@IBM  T.J.  Watson  Research  Center  (2010-­‐current)  

Disclaimer:  All  statements  are  my  own  and  do  not  represent  my  employer  

INTRODUCTION  TO  OPENSTACK  

What  is  OpenStack?  

•  Open  source  Private  Cloud  soOware  that  gives  you  Infrastructure-­‐as-­‐a-­‐service  (IAAS)  

•  Base  pla`orm  offered  by  several  public  cloud  vendors  so  that  end  users  have  a  common  UX,  APIs,  logical  building  blocks,  etc.  

•  Community-­‐driven,  open  cloud  architecture  

Gecng  hands-­‐on  with  Openstack  

•  InteracDng  with  the  cloud  – Web-­‐based  GUI  (Horizon)  – CLI  – Python  client  library  (use  virtualenv!)  – REST  interface  

•  Basic  OperaDons  –  Images  – Security  Groups  – Virtual  Machines  

Source:  hgp://docs.openstack.org/icehouse/training-­‐guides/content/index.html  

BUILDING  BLOCKS  

VirtualizaDon  is  Key  Enabler  •  Compute  VirtualizaDon  –  Virtual  Machines  (e.g.  VMWare,  kvm,  xen)  – OperaDng  System  level  VirtualizaDon  (e.g.  Docker)  

•  Network  VirtualizaDon  –  Virtual  Switches  (OpenVswitch,  Linux  Bridge)  – Network  namespaces  –  SoOware  routers,  tunnels,  etc.  

•  Storage  VirtualizaDon  –  iSCSI,  NFS,  LVM  (Logical  Volume  Manager)  – Object  storage  systems  via  overlays  

What  is  hard  about  building  a  cloud?  

•  TradiDonal  Distributed  Systems  problems  –  Scalability  –  Fault  tolerance  Remember:  If  we  have  a  complex  management  plane,  need  to  scale/harden  that  too!  

•  Management  funcDons  –  Take  components  OOS,  enforce  quotas,  meter  resource  usage,  isolaDon  and  mulD-­‐tenancy  support  

•  OperaDonal  Visibility  – A  cloud  is  a  service  and  not  a  product.  Standards/tracking  of  upDme.  Failures  will  happen  -­‐>  MTTR  

Containers  Primer  •  Basic  idea:  chroot  jails  –  Changes  apparent  root  directory  for  a  process  and  its  descendants  

•  Namespaces  –  Process  namespaces  enabling  isolaDng  groups  of  processes  

– Network  namespaces  allow  isolaDon  of  network  stacks/network  devices  

•  OS  level  support  –  Resource  allocaDon  to  process  groups  via  CGroups  –  Security/access  control  via  AppArmour,  SELinux  

Source:  hgp://man7.org/linux/man-­‐pages/man7/namespaces.7.html  

Enterprise  Networking  Review  

•  Network  Interface  Cards  (NICs);  servers  typically  have  mulDple  NICs;  link  aggregaDon  is  important  in  high  value  applicaDons  (teaming,  bonding,  etc.)  

•  Ethernet  is  common;  HPC  systems  uDlize  technologies  such  as  infiband  and  ROCE  (RDMA  over  converged  Ethernet)  

•  Switches  vs.  Routers  –  RouDng  in  soOware  (e.g.  Vyaga/Vyos);  Devices  that  speak  Openflow;  SDN  controllers  

•  VLANs  essenDal  to  isolate  traffic  

Virtual  Networking  Primer  

•  Virtual  Switches  (layer  2  switching)  – Linux  Bridge  (brctl)  – OpenVswitch  (ovs)  

•  Tunnels:  GRE,  VXLAN  •  iptables  provides  fine-­‐grained  firewall  control  •  Network  namespaces  can  be  used  to  encapsulate  network  services  – DHCP,  RouDng  

UNDER  THE  HOOD  

Core  Openstack  Components  Source:  hgp://docs.openstack.org/icehouse/training-­‐guides/content/index.html  

ON  THE  HORIZON  

Microservices  •  Split  monolithic  applicaDons  into  many  small  services  that  speak  HTTP  or  other  lightweight  messaging  protocol  

•  Enable  independent  deployment,  upgrade  and  scaling  out  of  individual  services  

•  Services  can  be  implemented  in  different  languages  and  even  uDlize  varying  data  Ders  

•  Fits  agile  development/squads  model  of  development  •  RealisDcally,  it  requires  automaDon  support  for  deployment  

•  A  new  way  of  doing  SOA  or  something  more?  

Cluster  compuDng  •  Clouds  are  too  complicated  to  run  for  small,  fast  moving  orgs;  cluster  management  is  perhaps  simpler  

•  Typical  soluDons  forget  about  mulD  tenancy  •  Scheduler,  scaling/autoscaling  and  auto  recovery  are  key  services  

•  New  players:  Docker’s  Swarm,  Google’s  Kubernetes,  Mesos,  CoreOS  with  fleet  

•  Excellent  fit  for  microservices  •  Grid  compuDng  makes  a  come  back?  

THANK  YOU  

@iqbalmohomed  slowping.com    

Useful  Tools  •  Vagrant  

–  A  CLI  to  various  hypervisors  (e.g.  Virtual  Box,  VMWare  fusion).  Not  essenDal  but  makes  development  easier  

•  Devstack  –  Lets  you  run  a  basic  version  of  Openstack  on  a  single  machine  

–  Used  by  many  Openstack  developers  as  it  requires  few  resources,  can  stay  current  with  the  latest  code,  can  have  mulDple  devstacks  

•  screen  –  Used  by  devstack  to  run  the  various  Openstack  processes  

top related