SlideShare une entreprise Scribd logo
1  sur  42
Télécharger pour lire hors ligne
Apache CloudStack:
  From API to UI	
        Joe Brockmeier	
 PPMC Member Apache CloudStack
           (Incubating)	
         jzb@apache.org
   Twitter: @jzb | Freenode: jzb
What is Apache CloudStack?	
•  Open	
  Source	
  (Apache-­‐Licensed)	
  IaaS	
  
•  Community	
  of	
  Users	
  and	
  Providers	
  
•  Wri?en	
  in	
  Java*	
  
•  Provides	
  a	
  Turn-­‐Key	
  “Stack”	
  for	
  Running	
  
   Public,	
  Private,	
  or	
  Hybrid	
  Clouds	
  
•  Hypervisor	
  AgnosMc*	
  
•  Time-­‐Based	
  Releases	
  
In the beginning…	
•  Started	
  as	
  VMOps	
  Cloud	
  Stack	
  (2008)	
  
•  Became	
  Cloud.com	
  in	
  2010	
  
•  Released	
  CloudStack	
  under	
  GPLv3	
  –	
  but	
  Open	
  
   Core	
  (May	
  2010)	
  
•  Acquired	
  by	
  Citrix	
  (July	
  2011)	
  
•  EnMrely	
  Open	
  Source	
  (August	
  2011)	
  
Going to Apache	
•  Relicensed	
  	
  Proposed	
  to	
  Apache	
  (April	
  3,	
  
   2012)	
  
•  Accepted	
  as	
  an	
  IncubaMng	
  Project	
  (April	
  16,	
  
   2012)	
  
•  First	
  Major	
  Release,	
  4.0.0-­‐incubaMng	
  
   (November	
  6,	
  2012)	
  
•  First	
  Minor	
  Release,	
  4.0.1-­‐incubaMng	
  
   (February	
  12,	
  2013)	
  
Why Apache?	
•    Known	
  and	
  Proven	
  Governance	
  Model	
  
•    AcMve	
  Mentoring	
  of	
  New	
  Projects	
  
•    100%	
  Community-­‐Driven	
  
•    More	
  than	
  3,000	
  Developers	
  
•    Many	
  Successful	
  Projects:	
  Apache	
  HTTPD,	
  
     Tomcat,	
  Hadoop,	
  Cassandra,	
  Lucene,	
  etc.	
  
Apache Process	
•  100%	
  Community-­‐Driven	
  
•  “If	
  It	
  Didn’t	
  Happen	
  on	
  the	
  Mailing	
  List…”	
  
•  Clear	
  Governance	
  (PPMC,	
  Commi?er,	
  
   Contributor,	
  etc.)	
  	
  
•  Community	
  Over	
  Code	
  
•  Rigorous	
  A?enMon	
  to	
  Licenses	
  
•  Can	
  Seem	
  BureaucraMc	
  	
  
Results!
Strengths	

          Weapons
       (er, Strengths)
What CloudStack Provides
Hypervisor Support	
•    KVM	
  
•    XenServer	
  
•    Xen	
  Cloud	
  Plaiorm	
  
•    VMware	
  via	
  vCenter	
  
•    Bare	
  Metal	
  via	
  IPMI	
  
CloudStack Terminology	
            •  Zone:	
  Availability	
  zone,	
  aka	
  
               Regions.	
  Could	
  be	
  worldwide.	
  
               Different	
  data	
  centers	
  
            •  Pods:	
  Racks	
  or	
  aisles	
  in	
  a	
  data	
  
               center	
  
            •  Clusters:	
  Group	
  of	
  machines	
  
               with	
  a	
  common	
  type	
  of	
  
               Hypervisor	
  
            •  Host:	
  A	
  Single	
  server	
  
            •  Primary	
  Storage:	
  Shared	
  
               storage	
  across	
  a	
  cluster	
  
            •  Secondary	
  Storage:	
  Shared	
  
               storage	
  in	
  a	
  single	
  Zone	
  
CloudStack Architecture	
                                                                                                                                                                                         Internet	
                                                 Ø  Hypervisor	
  is	
  the	
  basic	
  unit	
  of	
  
   CloudStack	
  
  Management	
                                                                                                                                                                                                                                          scale.	
  	
  
        Server	
  
Zone	
  1	
                                                                                                                                                                                                                                         Ø  Cluster	
  consists	
  of	
  one	
  ore	
  
                                                                                                                                                                                                                                                        more	
  hosts	
  of	
  same	
  hypervisor	
  	
  
                                                                                            L3 core
                                                                                                                                                                                                                                                    Ø  All	
  hosts	
  in	
  cluster	
  have	
  access	
  
                                                                                                                                                                                                                                                        to	
  shared	
  (primary)	
  storage	
  
Pod	
  1	
   Access Layer                                                                                                                             Pod	
  N	
  
                                                                                                                                                                                                                                        	
  
                                                                                                                                                                                                                                    Secondary	
  
                                                                                                                                                                                                                                                    Ø  Pod	
  is	
  one	
  or	
  more	
  clusters,	
  
                                                                                                                      ….	
                                                                                                           Storage	
          usually	
  with	
  	
  L2	
  switches.	
  	
  
   Cluster	
  N	
  
                      	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  
                                                                                                                                                                                                                                       	
           Ø  Availability	
  Zone	
  has	
  one	
  or	
  
                                                                                                                                                                                                                                                        more	
  pods,	
  has	
  access	
  to	
  
            ….	
                                                                                                                                                                                                                                        secondary	
  storage.	
  	
  

                                                                                                                                                                                                                                                    Ø  One	
  or	
  more	
  zones	
  represent	
  
   Cluster	
  1	
  
                                                                                                                                                                                                                                                        cloud	
  
      Host 1
                                                               Primary	
  
                                                                                                                                                                                                                                                    	
  
                                                               Storage	
  
      Host 2
CloudStack Storage	
•  Primary	
  Storage:	
  
     –    Anything	
  that	
  can	
  be	
  mounted	
  on	
  the	
  node	
  of	
  a	
  cluster.	
  	
  
     –    Cluster	
  LVM…iSCSI…	
  
     –    Holds	
  disk	
  images	
  of	
  running	
  VMs	
  
     –    Support	
  for	
  CEPH	
  with	
  KVM	
  hypervisors	
  
•  Secondary	
  Storage:	
  
     –    Available	
  across	
  the	
  zone	
  
     –    Holds	
  snapshots	
  and	
  templates	
  (image	
  repo)	
  
     –    Can	
  use	
  OpenStack	
  swim	
  or	
  any	
  object	
  store	
  (Gluster	
  FS…)	
  
     –    New	
  support	
  for	
  Caringo	
  

•  Can	
  use	
  NFS	
  for	
  both	
  to	
  start	
  
•  Storage	
  abstracMon	
  refactoring	
  underway	
  in	
  4.1.0	
  and	
  4.2.0	
  
Networking	
•  Extremely	
  flexible	
  to:	
  
   –  Provide	
  isolaMon	
  with	
  VLANs	
  
   –  Provide	
  isolaMon	
  at	
  L3	
  with	
  shared	
  L2	
  (scalability)	
  
   –  Support	
  hardware	
  devices	
  that	
  exposes	
  API	
  
   –  Deployed	
  on	
  exisMng	
  networking	
  infrastructure	
  
   –  Support	
  new	
  networking	
  paradigm	
  (SDN)	
  
       •  Support	
  for	
  Nicira	
  Virtual	
  P	
  
       •  Extensive	
  use	
  of	
  Open	
  VSwitch	
  
Management Server	
•  UI/API	
  bits	
  are	
  stateless	
  (state	
  is	
  stored	
  in	
  a	
  
   MySQL	
  database)	
  
•  All	
  UI	
  funcMonality	
  is	
  available	
  as	
  an	
  API	
  call	
  
•  Resiul	
  API	
  	
  
    –  UnauthenMcated	
  API	
  on	
  8096	
  for	
  localhost	
  
       (disabled	
  by	
  default)	
  
    –  AuthenMcated	
  on	
  port	
  8080	
  
    –  Responses	
  in	
  XML	
  or	
  JSON	
  
Highly Scalable	
•  Up	
  to	
  10K	
  resources	
  managed	
  per	
  
   management	
  server	
  node	
  
•  Internal	
  tesMng	
  w/somware	
  simulators	
  shows	
  
   up	
  to	
  30K	
  physical	
  resources	
  and	
  30K	
  VMs	
  
   managed	
  by	
  4	
  management	
  server	
  nodes.	
  
•  Real	
  producMon	
  deployments	
  of	
  tens	
  of	
  
   thousands	
  of	
  resources	
  
•  	
  See	
  Alex	
  Huang’s	
  presentaMon:	
  	
  
    	
  h?p://is.gd/alexh_scale	
  
CloudStack Allocation	
•  How	
  are	
  VMs	
  placed,	
  storage	
  allocated,	
  etc.?	
  
•  CloudStack	
  has	
  several	
  defaults	
  
    –  First	
  fit	
  
    –  Fill	
  first	
  
    –  Disperse	
  
•  Don’t	
  like	
  those?	
  Create	
  your	
  own!	
  
•  Allows	
  over-­‐provsioning	
  
•  OS	
  Preference	
  
High Availability	
•  RFMTTR	
  –	
  “really	
  fast	
  mean	
  Mme	
  to	
  recovery.”	
  
•  CloudStack	
  is	
  not	
  (alone)	
  a	
  magical	
  HA	
  
   soluMon.	
  
•  Watches	
  HA-­‐enabled	
  VMs	
  to	
  ensure	
  they’re	
  
   up,	
  and	
  that	
  the	
  hypervisor	
  it’s	
  on	
  is	
  up.	
  Will	
  
   restart	
  on	
  another	
  if	
  the	
  hypervisor	
  goes	
  
   down.	
  
•  Redundant	
  router.	
  
Load Balancing	
•  Uses	
  HA	
  Proxy	
  
•  CloudStack	
  supports	
  load-­‐balancing	
  for	
  
   distribuMng	
  traffic	
  to	
  its	
  instances	
  
•  Choose	
  between	
  round-­‐robin,	
  source,	
  or	
  least	
  
   connecMons	
  
•  Choose	
  sMckiness	
  policy	
  (source,	
  lbcookie,	
  
   appcookie)	
  
Snapshots	
•  CloudStack	
  allows	
  you	
  to	
  take	
  snapshots	
  
   manually	
  or	
  set	
  up	
  recurring	
  snapshots.	
  
•  Snapshots	
  can	
  be	
  managed	
  automagically	
  
   (keep	
  N	
  number)	
  and	
  manually	
  (delete	
  
   snapshot	
  manually).	
  
•  Can	
  be	
  turned	
  into	
  templates	
  or	
  volumes	
  to	
  
   be	
  used	
  by	
  other	
  instances.	
  
CloudStack Networking	
•  CloudStack	
  manages	
  
    –  DHCP	
  
    –  VLAN	
  allocaMon	
  
    –  Firewall	
  
    –  NAT/Port	
  forwarding	
  
    –  RouMng	
  
    –  VPN	
  
    –  Load	
  Balancing	
  
•  CloudStack	
  can	
  manage	
  physical	
  network	
  hardware	
  
   (F5-­‐Big	
  IP,	
  NetScaler,	
  Juniper	
  SRX)	
  
CloudStack Networking Types	
•  CloudStack	
  offers	
  Basic	
  and	
  Advanced	
  
   Networking	
  
   –  Basic:	
  Easy,	
  can	
  only	
  be	
  one	
  physical	
  network	
  
       •  Every	
  host,	
  system	
  VM,	
  and	
  guest	
  instance	
  has	
  a	
  
          unique	
  IP	
  
   –  Advanced:	
  Allows	
  mulMple	
  physical	
  networks	
  
       •  Each	
  account	
  has	
  a	
  public	
  IP,	
  assigned	
  to	
  virtual	
  router,	
  
          guest	
  IP	
  range	
  (e.g.	
  10.0.1.10/24),	
  and	
  VLAN	
  ID	
  for	
  the	
  
          isolated	
  guest	
  network	
  
       •  Guests	
  communicate	
  via	
  their	
  own	
  dedicated	
  VLAN	
  	
  
CloudStack Networks	
•  Management	
  Network:	
  Used	
  by	
  hypervisors	
  and	
  
   management	
  server	
  to	
  communicate	
  
•  Private	
  Network:	
  Default	
  network	
  for	
  system	
  
   VMs	
  (virtual	
  router,	
  secondary	
  storage	
  VM,	
  
   console	
  proxy	
  VM)	
  
•  Public	
  Network:	
  Public-­‐facing	
  (e.g.	
  the	
  Internet)	
  
•  Guest	
  Network:	
  Network	
  VMs	
  are	
  provisioned	
  on	
  
•  Link-­‐local	
  Network:	
  Network	
  used	
  for	
  
   communicaMon	
  between	
  hypervisor	
  and	
  system	
  
   VMs.	
  (RFC	
  3927)	
  
Security Groups	
•  TradiMonal	
  isolaMon	
  has	
  been	
  via	
  VLAN	
  
•  VLANs	
  provide	
  isolaMon,	
  but	
  at	
  the	
  cost	
  of	
  
   scaling	
  
    –  Standard	
  limit	
  is	
  4,096	
  VLANs	
  
    –  Hardware	
  that	
  supports	
  upper	
  limit	
  is	
  expensive	
  
    –  What	
  happens	
  with	
  4,097?	
  
•  Amazon	
  and	
  others	
  use	
  Layer	
  3	
  isolaMon	
  
   (Security	
  Groups)	
  
Security Groups	
•  Assumes	
  a	
  quasi-­‐trusted	
  Layer	
  2	
  network	
  
•  Filtering/isolaMon	
  happens	
  at	
  the	
  bridge	
  level	
  
   (think	
  ebtables)	
  
•  Deny	
  by	
  default	
  
Accounts, Domains, and
                 Projects	
•  CloudStack	
  has	
  a	
  top-­‐level	
  domain	
  called	
  ROOT	
  
•  You	
  can	
  create	
  sub-­‐domains	
  
•  You	
  can	
  create	
  3	
  types	
  of	
  accounts,	
  admins,	
  
   domain-­‐admins,	
  or	
  users	
  
•  Projects	
  can	
  be	
  used	
  to	
  hold	
  resources	
  for	
  Mme-­‐
   limited	
  projects	
  
•  Supports	
  LDAP	
  integraMon	
  
•  CloudStack’s	
  account	
  system	
  is	
  very	
  simple	
  –	
  
   don’t	
  make	
  it	
  more	
  complicated!	
  	
  
Usage Accounting	
•  Provides	
  stats	
  that	
  can	
  be	
  used	
  for	
  billing	
  (but	
  
   is	
  not	
  a	
  billing	
  soluMon)	
  
•  Usage	
  stats	
  show:	
  VM	
  count,	
  CPU	
  usage,	
  disk	
  
   allocaMon	
  and	
  use,	
  network	
  usage	
  over	
  Mme.	
  
•  IntegraMon	
  howtos	
  for	
  imporMng	
  to	
  Excel,	
  
   Ubersmith,	
  Amysta,	
  and	
  Cloud	
  Portal.	
  
APIs	
•    Root	
  Admin,	
  Domain	
  Admin,	
  User	
  
•    Set	
  of	
  methods	
  available	
  over	
  HTTP(S)	
  
•    AuthenMcated	
  on	
  8080	
  w/Keys	
  
•    UnauthenMcated	
  on	
  8096	
  (off	
  by	
  default)	
  
•    Python	
  +	
  Ruby	
  clients	
  available	
  
AWS EC2 and S3 Compatibility	
•  Includes	
  an	
  EC2/S3	
  compaMbility	
  layer	
  
•  See:	
  
    –  h?p://wiki.cloudstack.org/display/RelOps/
       EC2+API+support+in+CloudStack	
  
    –  h?p://www.slideshare.net/sebasMengoasguen/
       cloudstack-­‐ec2-­‐configuraMon	
  
•  Euca	
  Tools,	
  Boto,	
  etc.	
  should	
  work	
  with	
  
   CloudStack	
  
CloudMonkey	
•  New	
  ASF	
  CloudStack	
  CLI	
  
•  Python	
  code,	
  built	
  using	
  Marvin	
  
•  h?ps://cwiki.apache.org/CLOUDSTACK/
   cloudstack-­‐cloudmonkey-­‐cli.html	
  
•  Available	
  from	
  CloudStack	
  source	
  or	
  pypi:	
  
       –  h?p://pypi.python.org/pypi/cloudmonkey/	
  


	
  
Use Cases	
•    Private	
  Cloud	
  
•    Dual-­‐Workload	
  Private	
  Cloud	
  
•    Public	
  Cloud	
  (ISP/Providers)	
  
•    Hybrid	
  Cloud	
  
•    Small	
  to	
  Very,	
  Very	
  Large	
  
Zynga	
•  Online	
  Games	
  
•  Hybrid	
  Cloud	
  (Move	
  
   workloads	
  between	
  
   “zCloud”	
  and	
  public	
  
   cloud)	
  80/20	
  split	
  
•  North	
  of	
  30K	
  Nodes	
  
Datapipe	
•  Public	
  Cloud	
  
•  Geo-­‐distributed:	
  	
  
     –    U.S.	
  (NJ	
  	
  San	
  Jose,	
  CA)	
  
     –    Hong	
  Kong	
  
     –    Shanghai	
  
     –    London	
  
     –    Iceland	
  (w/in	
  90	
  days)	
  
•  Smaller	
  (	
  100	
  Hosts)	
  but	
  
   massively	
  distributed	
  
•  See:	
  	
  
   h?p://is.gd/datapipe_cs	
  
ISWest	
•  Hosted	
  IaaS	
  Clouds	
  
   (Private	
  Environment)	
  
   from	
  Dedicated	
  Servers	
  
•  Most	
  Customers	
  are	
  
   Small	
  (	
  15	
  VMs)	
  
•  Mix	
  of	
  Hypervisors	
  
•  FuncMoning	
  Cloud	
  in	
  “a	
  
   li?le	
  over	
  a	
  month.”	
  
Trying CloudStack
DevCloud	
•  DevCloud	
  is	
  a	
  VirtualBox	
  image	
  w/nested	
  virt.	
  
•  Grab	
  the	
  DevCloud	
  image	
  from:	
  
h?p://wiki.cloudstack.org/display/COMM/DevCloud	
  
•  Log	
  in	
  via	
  the	
  GUI:	
  	
  
h?p://localhost:8080/client	
  
•  SSH	
  to	
  DevCloud:	
  
ssh -p 2222 root@localhost	
  
Username:	
  admin 	
   	
   	
  Password:	
  password	
  
•  DevCloud	
  KVM	
  –	
  effort	
  to	
  run	
  DevCloud	
  on	
  a	
  KVM	
  host	
  
CloudStack Runbook	
•  Minimal	
  install	
  (1	
  server)	
  
•  Wri?en	
  by	
  David	
  Nalley	
  w/fixes	
  from	
  the	
  
   community	
  
•  h?p://people.apache.org/~ke4qqq/runbook/	
  
•  Focuses	
  on	
  CentOS	
  w/KVM	
  –	
  other	
  runbooks	
  
   in	
  process	
  for	
  Ubuntu	
  w/Xen	
  or	
  KVM.	
  
Direction	
•  Currently	
  on	
  a	
  Four-­‐Month	
  Release	
  Cycle	
  
•  4.1.0	
  Expected	
  Early	
  April,	
  4.2.0	
  in	
  August	
  
•  4.0.2	
  “Any	
  Day	
  Now”	
  
•  Releases	
  Supported	
  UnMl	
  Next	
  Major	
  Feature	
  
   Release	
  (e.g.,	
  4.0.0,	
  4.0.x	
  unMl	
  4.1.0)	
  
•  Last	
  Major	
  Release	
  Will	
  Receive	
  Support	
  for	
  12	
  
   Months	
  (hasn’t	
  happened	
  yet)	
  
Expected in 4.1.0	
•  AutoScale:	
  Work	
  with	
  loadbalancers	
  (like	
  
   NetScaler)	
  to	
  scale	
  up/down	
  resources.	
  
•  Resize	
  Volumes	
  for	
  Instances	
  
•  OpenVSwitch	
  Support	
  for	
  KVM	
  
•  API	
  Request	
  Thro?ling	
  
•  AWS-­‐like	
  Regions	
  
•  Persistent	
  Networks	
  without	
  Running	
  
   Instances	
  
Get Involved	
•  Main	
  Site:	
  CloudStack.org	
  
•  IRC:	
  #cloudstack	
  and	
  #cloudstack-­‐dev	
  
•  Follow	
  @cloudstack	
  on	
  Twi?er	
  
•  Lots	
  of	
  Presos:	
  
   h?p://slideshare.net/cloudstack	
  
•  Mailing	
  Lists:	
  	
  
   h?p://cloudstack.org/discuss/mailing-­‐
   lists.html	
  
Contact Me	
Email:	
  jzb@apache.org	
  	
  


Phone:	
  +1	
  314-­‐669-­‐4JZB	
  
(4592)	
  

Blog:	
  h?p://dissociatedpress.net/	
  
	
  


Twi?er:	
  

Contenu connexe

En vedette

Quantitative and qualitative research
Quantitative and qualitative researchQuantitative and qualitative research
Quantitative and qualitative researchdhinnar
 
Getting Started with Apache CloudStack
Getting Started with Apache CloudStackGetting Started with Apache CloudStack
Getting Started with Apache CloudStackJoe Brockmeier
 
Future Cisco + Ericsson Internet of Things (IoT) Networks Insights from Patents
Future Cisco + Ericsson Internet of Things (IoT) Networks Insights from PatentsFuture Cisco + Ericsson Internet of Things (IoT) Networks Insights from Patents
Future Cisco + Ericsson Internet of Things (IoT) Networks Insights from PatentsAlex G. Lee, Ph.D. Esq. CLP
 
사물인터넷 지식재산 벤처 활성화해야 - 국회뉴스
사물인터넷 지식재산 벤처 활성화해야 - 국회뉴스사물인터넷 지식재산 벤처 활성화해야 - 국회뉴스
사물인터넷 지식재산 벤처 활성화해야 - 국회뉴스Alex G. Lee, Ph.D. Esq. CLP
 
Quality Assessment of Qualcomm Patents for the IoT(Internet of Things) Connec...
Quality Assessment of Qualcomm Patents for the IoT(Internet of Things) Connec...Quality Assessment of Qualcomm Patents for the IoT(Internet of Things) Connec...
Quality Assessment of Qualcomm Patents for the IoT(Internet of Things) Connec...Alex G. Lee, Ph.D. Esq. CLP
 
Biweekly Financial Commentary 08 04 21. A
Biweekly Financial Commentary 08 04 21. ABiweekly Financial Commentary 08 04 21. A
Biweekly Financial Commentary 08 04 21. AAnt Wong
 
LTE Patents Essential for RAN Products 1Q 2011_Sample
 LTE Patents Essential for RAN Products 1Q 2011_Sample LTE Patents Essential for RAN Products 1Q 2011_Sample
LTE Patents Essential for RAN Products 1Q 2011_SampleAlex G. Lee, Ph.D. Esq. CLP
 
Design Patents for Bluetooth Consumer Electronics
Design Patents for Bluetooth Consumer ElectronicsDesign Patents for Bluetooth Consumer Electronics
Design Patents for Bluetooth Consumer ElectronicsAlex G. Lee, Ph.D. Esq. CLP
 
Antitrust Aspects of Trade Secrets in the U.S. and the EU: Balancing Approach...
Antitrust Aspects of Trade Secrets in the U.S. and the EU: Balancing Approach...Antitrust Aspects of Trade Secrets in the U.S. and the EU: Balancing Approach...
Antitrust Aspects of Trade Secrets in the U.S. and the EU: Balancing Approach...Alex G. Lee, Ph.D. Esq. CLP
 
Increasing Litigation Risk with Increasing NPE Activities Exploiting the IoT ...
Increasing Litigation Risk with Increasing NPE Activities Exploiting the IoT ...Increasing Litigation Risk with Increasing NPE Activities Exploiting the IoT ...
Increasing Litigation Risk with Increasing NPE Activities Exploiting the IoT ...Alex G. Lee, Ph.D. Esq. CLP
 
Semantic System Introduction
Semantic System IntroductionSemantic System Introduction
Semantic System Introductiontom_marsh
 

En vedette (17)

Quantitative and qualitative research
Quantitative and qualitative researchQuantitative and qualitative research
Quantitative and qualitative research
 
Getting Started with Apache CloudStack
Getting Started with Apache CloudStackGetting Started with Apache CloudStack
Getting Started with Apache CloudStack
 
Future Cisco + Ericsson Internet of Things (IoT) Networks Insights from Patents
Future Cisco + Ericsson Internet of Things (IoT) Networks Insights from PatentsFuture Cisco + Ericsson Internet of Things (IoT) Networks Insights from Patents
Future Cisco + Ericsson Internet of Things (IoT) Networks Insights from Patents
 
특허펀드 투자모델과 가치평가
특허펀드 투자모델과 가치평가특허펀드 투자모델과 가치평가
특허펀드 투자모델과 가치평가
 
FinTech, Internet of Things & Patents
FinTech, Internet of Things & PatentsFinTech, Internet of Things & Patents
FinTech, Internet of Things & Patents
 
사물인터넷 지식재산 벤처 활성화해야 - 국회뉴스
사물인터넷 지식재산 벤처 활성화해야 - 국회뉴스사물인터넷 지식재산 벤처 활성화해야 - 국회뉴스
사물인터넷 지식재산 벤처 활성화해야 - 국회뉴스
 
Quality Assessment of Qualcomm Patents for the IoT(Internet of Things) Connec...
Quality Assessment of Qualcomm Patents for the IoT(Internet of Things) Connec...Quality Assessment of Qualcomm Patents for the IoT(Internet of Things) Connec...
Quality Assessment of Qualcomm Patents for the IoT(Internet of Things) Connec...
 
Biweekly Financial Commentary 08 04 21. A
Biweekly Financial Commentary 08 04 21. ABiweekly Financial Commentary 08 04 21. A
Biweekly Financial Commentary 08 04 21. A
 
Reinventing Patent Monetization Business Model
Reinventing Patent Monetization Business Model Reinventing Patent Monetization Business Model
Reinventing Patent Monetization Business Model
 
LTE Patents Essential for RAN Products 1Q 2011_Sample
 LTE Patents Essential for RAN Products 1Q 2011_Sample LTE Patents Essential for RAN Products 1Q 2011_Sample
LTE Patents Essential for RAN Products 1Q 2011_Sample
 
Class Presentation Math 1
Class Presentation Math 1Class Presentation Math 1
Class Presentation Math 1
 
Big Data Applications Insights from Patents
Big Data Applications Insights from PatentsBig Data Applications Insights from Patents
Big Data Applications Insights from Patents
 
Europa vista do alto
Europa vista do altoEuropa vista do alto
Europa vista do alto
 
Design Patents for Bluetooth Consumer Electronics
Design Patents for Bluetooth Consumer ElectronicsDesign Patents for Bluetooth Consumer Electronics
Design Patents for Bluetooth Consumer Electronics
 
Antitrust Aspects of Trade Secrets in the U.S. and the EU: Balancing Approach...
Antitrust Aspects of Trade Secrets in the U.S. and the EU: Balancing Approach...Antitrust Aspects of Trade Secrets in the U.S. and the EU: Balancing Approach...
Antitrust Aspects of Trade Secrets in the U.S. and the EU: Balancing Approach...
 
Increasing Litigation Risk with Increasing NPE Activities Exploiting the IoT ...
Increasing Litigation Risk with Increasing NPE Activities Exploiting the IoT ...Increasing Litigation Risk with Increasing NPE Activities Exploiting the IoT ...
Increasing Litigation Risk with Increasing NPE Activities Exploiting the IoT ...
 
Semantic System Introduction
Semantic System IntroductionSemantic System Introduction
Semantic System Introduction
 

Similaire à Apache CloudStack: From API to UI (NYLUG)

Similaire à Apache CloudStack: From API to UI (NYLUG) (13)

DevCloud and CloudMonkey
DevCloud and CloudMonkeyDevCloud and CloudMonkey
DevCloud and CloudMonkey
 
Intro to CloudStack Build a Cloud Day
Intro to CloudStack Build a Cloud DayIntro to CloudStack Build a Cloud Day
Intro to CloudStack Build a Cloud Day
 
Apache CloudStack: API to UI (STLLUG)
Apache CloudStack: API to UI (STLLUG)Apache CloudStack: API to UI (STLLUG)
Apache CloudStack: API to UI (STLLUG)
 
Apache CloudStack from API to UI
Apache CloudStack from API to UIApache CloudStack from API to UI
Apache CloudStack from API to UI
 
CloudStack for Java User Group
CloudStack for Java User GroupCloudStack for Java User Group
CloudStack for Java User Group
 
Hacking apache cloud stack
Hacking apache cloud stackHacking apache cloud stack
Hacking apache cloud stack
 
Deploying Apache CloudStack from API to UI
Deploying Apache CloudStack from API to UIDeploying Apache CloudStack from API to UI
Deploying Apache CloudStack from API to UI
 
CloudStack Best Practice in PPTV
CloudStack Best Practice in PPTVCloudStack Best Practice in PPTV
CloudStack Best Practice in PPTV
 
Apache CloudStack AlpesJUG
Apache CloudStack AlpesJUGApache CloudStack AlpesJUG
Apache CloudStack AlpesJUG
 
Intro to Cloudstack
Intro to CloudstackIntro to Cloudstack
Intro to Cloudstack
 
CloudStack-Developer-Day
CloudStack-Developer-DayCloudStack-Developer-Day
CloudStack-Developer-Day
 
Citrix Cloud Platform
Citrix Cloud PlatformCitrix Cloud Platform
Citrix Cloud Platform
 
Conole vilnius 3_nov
Conole vilnius 3_novConole vilnius 3_nov
Conole vilnius 3_nov
 

Plus de Joe Brockmeier

Thinking inside the box (shared)
Thinking inside the box (shared)Thinking inside the box (shared)
Thinking inside the box (shared)Joe Brockmeier
 
Community Over Code: How to Build a Successful Project
Community Over Code: How to Build a Successful ProjectCommunity Over Code: How to Build a Successful Project
Community Over Code: How to Build a Successful ProjectJoe Brockmeier
 
Introduction to Atomic: Tailoring a Trusted OS for Containers
Introduction to Atomic: Tailoring a Trusted OS for ContainersIntroduction to Atomic: Tailoring a Trusted OS for Containers
Introduction to Atomic: Tailoring a Trusted OS for ContainersJoe Brockmeier
 
Sharing Apache's Goodness: How We Should be Telling Apache's Story
Sharing Apache's Goodness: How We Should be Telling Apache's StorySharing Apache's Goodness: How We Should be Telling Apache's Story
Sharing Apache's Goodness: How We Should be Telling Apache's StoryJoe Brockmeier
 
Solving the Package Problem
Solving the Package ProblemSolving the Package Problem
Solving the Package ProblemJoe Brockmeier
 
Taking the open cloud to 11
Taking the open cloud to 11Taking the open cloud to 11
Taking the open cloud to 11Joe Brockmeier
 
How I Learned to Stop Worrying, and Love Open Source Software Foundations
How I Learned to Stop Worrying, and Love Open Source Software FoundationsHow I Learned to Stop Worrying, and Love Open Source Software Foundations
How I Learned to Stop Worrying, and Love Open Source Software FoundationsJoe Brockmeier
 
Bootstrapping coverage
Bootstrapping coverageBootstrapping coverage
Bootstrapping coverageJoe Brockmeier
 

Plus de Joe Brockmeier (10)

Thinking inside the box (shared)
Thinking inside the box (shared)Thinking inside the box (shared)
Thinking inside the box (shared)
 
Community Over Code: How to Build a Successful Project
Community Over Code: How to Build a Successful ProjectCommunity Over Code: How to Build a Successful Project
Community Over Code: How to Build a Successful Project
 
Introduction to Atomic: Tailoring a Trusted OS for Containers
Introduction to Atomic: Tailoring a Trusted OS for ContainersIntroduction to Atomic: Tailoring a Trusted OS for Containers
Introduction to Atomic: Tailoring a Trusted OS for Containers
 
Sharing Apache's Goodness: How We Should be Telling Apache's Story
Sharing Apache's Goodness: How We Should be Telling Apache's StorySharing Apache's Goodness: How We Should be Telling Apache's Story
Sharing Apache's Goodness: How We Should be Telling Apache's Story
 
Solving the Package Problem
Solving the Package ProblemSolving the Package Problem
Solving the Package Problem
 
Taking the open cloud to 11
Taking the open cloud to 11Taking the open cloud to 11
Taking the open cloud to 11
 
How I Learned to Stop Worrying, and Love Open Source Software Foundations
How I Learned to Stop Worrying, and Love Open Source Software FoundationsHow I Learned to Stop Worrying, and Love Open Source Software Foundations
How I Learned to Stop Worrying, and Love Open Source Software Foundations
 
Intro to CloudStack
Intro to CloudStackIntro to CloudStack
Intro to CloudStack
 
Txlf2012
Txlf2012Txlf2012
Txlf2012
 
Bootstrapping coverage
Bootstrapping coverageBootstrapping coverage
Bootstrapping coverage
 

Apache CloudStack: From API to UI (NYLUG)

  • 1. Apache CloudStack: From API to UI Joe Brockmeier PPMC Member Apache CloudStack (Incubating) jzb@apache.org Twitter: @jzb | Freenode: jzb
  • 2. What is Apache CloudStack? •  Open  Source  (Apache-­‐Licensed)  IaaS   •  Community  of  Users  and  Providers   •  Wri?en  in  Java*   •  Provides  a  Turn-­‐Key  “Stack”  for  Running   Public,  Private,  or  Hybrid  Clouds   •  Hypervisor  AgnosMc*   •  Time-­‐Based  Releases  
  • 3. In the beginning… •  Started  as  VMOps  Cloud  Stack  (2008)   •  Became  Cloud.com  in  2010   •  Released  CloudStack  under  GPLv3  –  but  Open   Core  (May  2010)   •  Acquired  by  Citrix  (July  2011)   •  EnMrely  Open  Source  (August  2011)  
  • 4. Going to Apache •  Relicensed    Proposed  to  Apache  (April  3,   2012)   •  Accepted  as  an  IncubaMng  Project  (April  16,   2012)   •  First  Major  Release,  4.0.0-­‐incubaMng   (November  6,  2012)   •  First  Minor  Release,  4.0.1-­‐incubaMng   (February  12,  2013)  
  • 5. Why Apache? •  Known  and  Proven  Governance  Model   •  AcMve  Mentoring  of  New  Projects   •  100%  Community-­‐Driven   •  More  than  3,000  Developers   •  Many  Successful  Projects:  Apache  HTTPD,   Tomcat,  Hadoop,  Cassandra,  Lucene,  etc.  
  • 6. Apache Process •  100%  Community-­‐Driven   •  “If  It  Didn’t  Happen  on  the  Mailing  List…”   •  Clear  Governance  (PPMC,  Commi?er,   Contributor,  etc.)     •  Community  Over  Code   •  Rigorous  A?enMon  to  Licenses   •  Can  Seem  BureaucraMc    
  • 8. Strengths Weapons (er, Strengths)
  • 10. Hypervisor Support •  KVM   •  XenServer   •  Xen  Cloud  Plaiorm   •  VMware  via  vCenter   •  Bare  Metal  via  IPMI  
  • 11. CloudStack Terminology •  Zone:  Availability  zone,  aka   Regions.  Could  be  worldwide.   Different  data  centers   •  Pods:  Racks  or  aisles  in  a  data   center   •  Clusters:  Group  of  machines   with  a  common  type  of   Hypervisor   •  Host:  A  Single  server   •  Primary  Storage:  Shared   storage  across  a  cluster   •  Secondary  Storage:  Shared   storage  in  a  single  Zone  
  • 12. CloudStack Architecture Internet   Ø  Hypervisor  is  the  basic  unit  of   CloudStack   Management   scale.     Server   Zone  1   Ø  Cluster  consists  of  one  ore   more  hosts  of  same  hypervisor     L3 core Ø  All  hosts  in  cluster  have  access   to  shared  (primary)  storage   Pod  1   Access Layer Pod  N     Secondary   Ø  Pod  is  one  or  more  clusters,   ….   Storage   usually  with    L2  switches.     Cluster  N                                                                                                               Ø  Availability  Zone  has  one  or   more  pods,  has  access  to   ….   secondary  storage.     Ø  One  or  more  zones  represent   Cluster  1   cloud   Host 1 Primary     Storage   Host 2
  • 13. CloudStack Storage •  Primary  Storage:   –  Anything  that  can  be  mounted  on  the  node  of  a  cluster.     –  Cluster  LVM…iSCSI…   –  Holds  disk  images  of  running  VMs   –  Support  for  CEPH  with  KVM  hypervisors   •  Secondary  Storage:   –  Available  across  the  zone   –  Holds  snapshots  and  templates  (image  repo)   –  Can  use  OpenStack  swim  or  any  object  store  (Gluster  FS…)   –  New  support  for  Caringo   •  Can  use  NFS  for  both  to  start   •  Storage  abstracMon  refactoring  underway  in  4.1.0  and  4.2.0  
  • 14. Networking •  Extremely  flexible  to:   –  Provide  isolaMon  with  VLANs   –  Provide  isolaMon  at  L3  with  shared  L2  (scalability)   –  Support  hardware  devices  that  exposes  API   –  Deployed  on  exisMng  networking  infrastructure   –  Support  new  networking  paradigm  (SDN)   •  Support  for  Nicira  Virtual  P   •  Extensive  use  of  Open  VSwitch  
  • 15. Management Server •  UI/API  bits  are  stateless  (state  is  stored  in  a   MySQL  database)   •  All  UI  funcMonality  is  available  as  an  API  call   •  Resiul  API     –  UnauthenMcated  API  on  8096  for  localhost   (disabled  by  default)   –  AuthenMcated  on  port  8080   –  Responses  in  XML  or  JSON  
  • 16. Highly Scalable •  Up  to  10K  resources  managed  per   management  server  node   •  Internal  tesMng  w/somware  simulators  shows   up  to  30K  physical  resources  and  30K  VMs   managed  by  4  management  server  nodes.   •  Real  producMon  deployments  of  tens  of   thousands  of  resources   •   See  Alex  Huang’s  presentaMon:      h?p://is.gd/alexh_scale  
  • 17. CloudStack Allocation •  How  are  VMs  placed,  storage  allocated,  etc.?   •  CloudStack  has  several  defaults   –  First  fit   –  Fill  first   –  Disperse   •  Don’t  like  those?  Create  your  own!   •  Allows  over-­‐provsioning   •  OS  Preference  
  • 18. High Availability •  RFMTTR  –  “really  fast  mean  Mme  to  recovery.”   •  CloudStack  is  not  (alone)  a  magical  HA   soluMon.   •  Watches  HA-­‐enabled  VMs  to  ensure  they’re   up,  and  that  the  hypervisor  it’s  on  is  up.  Will   restart  on  another  if  the  hypervisor  goes   down.   •  Redundant  router.  
  • 19. Load Balancing •  Uses  HA  Proxy   •  CloudStack  supports  load-­‐balancing  for   distribuMng  traffic  to  its  instances   •  Choose  between  round-­‐robin,  source,  or  least   connecMons   •  Choose  sMckiness  policy  (source,  lbcookie,   appcookie)  
  • 20. Snapshots •  CloudStack  allows  you  to  take  snapshots   manually  or  set  up  recurring  snapshots.   •  Snapshots  can  be  managed  automagically   (keep  N  number)  and  manually  (delete   snapshot  manually).   •  Can  be  turned  into  templates  or  volumes  to   be  used  by  other  instances.  
  • 21. CloudStack Networking •  CloudStack  manages   –  DHCP   –  VLAN  allocaMon   –  Firewall   –  NAT/Port  forwarding   –  RouMng   –  VPN   –  Load  Balancing   •  CloudStack  can  manage  physical  network  hardware   (F5-­‐Big  IP,  NetScaler,  Juniper  SRX)  
  • 22. CloudStack Networking Types •  CloudStack  offers  Basic  and  Advanced   Networking   –  Basic:  Easy,  can  only  be  one  physical  network   •  Every  host,  system  VM,  and  guest  instance  has  a   unique  IP   –  Advanced:  Allows  mulMple  physical  networks   •  Each  account  has  a  public  IP,  assigned  to  virtual  router,   guest  IP  range  (e.g.  10.0.1.10/24),  and  VLAN  ID  for  the   isolated  guest  network   •  Guests  communicate  via  their  own  dedicated  VLAN    
  • 23. CloudStack Networks •  Management  Network:  Used  by  hypervisors  and   management  server  to  communicate   •  Private  Network:  Default  network  for  system   VMs  (virtual  router,  secondary  storage  VM,   console  proxy  VM)   •  Public  Network:  Public-­‐facing  (e.g.  the  Internet)   •  Guest  Network:  Network  VMs  are  provisioned  on   •  Link-­‐local  Network:  Network  used  for   communicaMon  between  hypervisor  and  system   VMs.  (RFC  3927)  
  • 24. Security Groups •  TradiMonal  isolaMon  has  been  via  VLAN   •  VLANs  provide  isolaMon,  but  at  the  cost  of   scaling   –  Standard  limit  is  4,096  VLANs   –  Hardware  that  supports  upper  limit  is  expensive   –  What  happens  with  4,097?   •  Amazon  and  others  use  Layer  3  isolaMon   (Security  Groups)  
  • 25. Security Groups •  Assumes  a  quasi-­‐trusted  Layer  2  network   •  Filtering/isolaMon  happens  at  the  bridge  level   (think  ebtables)   •  Deny  by  default  
  • 26. Accounts, Domains, and Projects •  CloudStack  has  a  top-­‐level  domain  called  ROOT   •  You  can  create  sub-­‐domains   •  You  can  create  3  types  of  accounts,  admins,   domain-­‐admins,  or  users   •  Projects  can  be  used  to  hold  resources  for  Mme-­‐ limited  projects   •  Supports  LDAP  integraMon   •  CloudStack’s  account  system  is  very  simple  –   don’t  make  it  more  complicated!    
  • 27. Usage Accounting •  Provides  stats  that  can  be  used  for  billing  (but   is  not  a  billing  soluMon)   •  Usage  stats  show:  VM  count,  CPU  usage,  disk   allocaMon  and  use,  network  usage  over  Mme.   •  IntegraMon  howtos  for  imporMng  to  Excel,   Ubersmith,  Amysta,  and  Cloud  Portal.  
  • 28. APIs •  Root  Admin,  Domain  Admin,  User   •  Set  of  methods  available  over  HTTP(S)   •  AuthenMcated  on  8080  w/Keys   •  UnauthenMcated  on  8096  (off  by  default)   •  Python  +  Ruby  clients  available  
  • 29.
  • 30. AWS EC2 and S3 Compatibility •  Includes  an  EC2/S3  compaMbility  layer   •  See:   –  h?p://wiki.cloudstack.org/display/RelOps/ EC2+API+support+in+CloudStack   –  h?p://www.slideshare.net/sebasMengoasguen/ cloudstack-­‐ec2-­‐configuraMon   •  Euca  Tools,  Boto,  etc.  should  work  with   CloudStack  
  • 31. CloudMonkey •  New  ASF  CloudStack  CLI   •  Python  code,  built  using  Marvin   •  h?ps://cwiki.apache.org/CLOUDSTACK/ cloudstack-­‐cloudmonkey-­‐cli.html   •  Available  from  CloudStack  source  or  pypi:   –  h?p://pypi.python.org/pypi/cloudmonkey/    
  • 32. Use Cases •  Private  Cloud   •  Dual-­‐Workload  Private  Cloud   •  Public  Cloud  (ISP/Providers)   •  Hybrid  Cloud   •  Small  to  Very,  Very  Large  
  • 33. Zynga •  Online  Games   •  Hybrid  Cloud  (Move   workloads  between   “zCloud”  and  public   cloud)  80/20  split   •  North  of  30K  Nodes  
  • 34. Datapipe •  Public  Cloud   •  Geo-­‐distributed:     –  U.S.  (NJ    San  Jose,  CA)   –  Hong  Kong   –  Shanghai   –  London   –  Iceland  (w/in  90  days)   •  Smaller  (  100  Hosts)  but   massively  distributed   •  See:     h?p://is.gd/datapipe_cs  
  • 35. ISWest •  Hosted  IaaS  Clouds   (Private  Environment)   from  Dedicated  Servers   •  Most  Customers  are   Small  (  15  VMs)   •  Mix  of  Hypervisors   •  FuncMoning  Cloud  in  “a   li?le  over  a  month.”  
  • 37. DevCloud •  DevCloud  is  a  VirtualBox  image  w/nested  virt.   •  Grab  the  DevCloud  image  from:   h?p://wiki.cloudstack.org/display/COMM/DevCloud   •  Log  in  via  the  GUI:     h?p://localhost:8080/client   •  SSH  to  DevCloud:   ssh -p 2222 root@localhost   Username:  admin      Password:  password   •  DevCloud  KVM  –  effort  to  run  DevCloud  on  a  KVM  host  
  • 38. CloudStack Runbook •  Minimal  install  (1  server)   •  Wri?en  by  David  Nalley  w/fixes  from  the   community   •  h?p://people.apache.org/~ke4qqq/runbook/   •  Focuses  on  CentOS  w/KVM  –  other  runbooks   in  process  for  Ubuntu  w/Xen  or  KVM.  
  • 39. Direction •  Currently  on  a  Four-­‐Month  Release  Cycle   •  4.1.0  Expected  Early  April,  4.2.0  in  August   •  4.0.2  “Any  Day  Now”   •  Releases  Supported  UnMl  Next  Major  Feature   Release  (e.g.,  4.0.0,  4.0.x  unMl  4.1.0)   •  Last  Major  Release  Will  Receive  Support  for  12   Months  (hasn’t  happened  yet)  
  • 40. Expected in 4.1.0 •  AutoScale:  Work  with  loadbalancers  (like   NetScaler)  to  scale  up/down  resources.   •  Resize  Volumes  for  Instances   •  OpenVSwitch  Support  for  KVM   •  API  Request  Thro?ling   •  AWS-­‐like  Regions   •  Persistent  Networks  without  Running   Instances  
  • 41. Get Involved •  Main  Site:  CloudStack.org   •  IRC:  #cloudstack  and  #cloudstack-­‐dev   •  Follow  @cloudstack  on  Twi?er   •  Lots  of  Presos:   h?p://slideshare.net/cloudstack   •  Mailing  Lists:     h?p://cloudstack.org/discuss/mailing-­‐ lists.html  
  • 42. Contact Me Email:  jzb@apache.org     Phone:  +1  314-­‐669-­‐4JZB   (4592)   Blog:  h?p://dissociatedpress.net/     Twi?er: