SlideShare ist ein Scribd-Unternehmen logo
1 von 40
CloudStack	
  Architecture	
  and	
  its	
  
evolu4on	
  –	
  A	
  developer’s	
  view	
  
5/25/2013	
  
Kelven	
  Yang	
  
Citrix	
  
	
  
Outline	
  
•  Overview	
  of	
  CloudStack	
  	
  
•  General	
  architecture	
  abstrac4on	
  
•  CloudStack	
  Cloud	
  architecture	
  
•  CloudStack	
  Cloud	
  subsystems	
  
•  CloudStack	
  Provision-­‐automa4on	
  ingredients	
  
•  CloudStack	
  System	
  VMs	
  
•  Architecture	
  refactoring	
  
•  Q/A	
  
	
  
CloudStack	
  Overview	
  
•  Secure,	
  mul4-­‐tenant	
  cloud	
  
orchestra4on	
  plaOorm	
  
–  Turnkey	
  plaOorm	
  for	
  delivering	
  
IaaS	
  clouds	
  
–  Hypervisor	
  agnos4c	
  
–  Scalable,	
  secure	
  and	
  open	
  
–  Open	
  source,	
  open	
  standards	
  
–  Deploys	
  on	
  premise	
  or	
  as	
  a	
  hosted	
  
solu4on	
  
•  Deliver	
  cloud	
  services	
  faster	
  
and	
  cheaper	
  
What	
  is	
  CloudStack?	
  
Build	
  your	
  cloud	
  the	
  way	
  the	
  
world’s	
  most	
  successful	
  clouds	
  
are	
  built	
  
 
	
  
Compute	
  
CloudStack	
  Provides	
  On-­‐demand	
  Access	
  to	
  
Infrastructure	
  Through	
  a	
  Self-­‐Service	
  Portal	
  
	
  
	
  
	
  
	
  
Network	
  
	
  
	
  
Storage	
  
Admin	

Users	

Org A	

Admin	

Users	

Org B	

Users	

End User	

Admin
Open	
  Flexible	
  PlaOorm	
  
	
  
	
  
Compute	
  
	
  
	
  
XenServer	
   VMware	
   KVM	
  Oracle	
  VM	
   Bare	
  metal	
  
Hypervisor	
  
	
  
	
  
Storage	
  
	
  
	
  
Local	
  Disk	
   iSCSI	
   NFS	
  
Fiber	
  
Channel	
  
SwiY	
  
Block	
  &	
  Object	
  
	
  
	
  
Network	
  
	
  
	
  
Network	
  
Type	
  
Isola4on	
  
Load	
  
balancer	
  
Firewall	
   VPN	
  
Network	
  &	
  Network	
  Services	
  
Primary	
  Storage	
   Secondary	
  Storage	
  
General	
  Architecture	
  Abstrac4on	
  
General	
  Architecture	
  Abstrac4on	
  
•  Resource	
  Agent	
  
Endpoint	
  for	
  CloudStack	
  to	
  communicate	
  with	
  
underlying	
  virtual	
  or	
  physical	
  resource,	
  example	
  of	
  
resource	
  could	
  be	
  a	
  hypervisor	
  host	
  or	
  a	
  network	
  
element	
  
	
  
•  CloudStack	
  RPC	
  (message	
  bus)	
  
Cross	
  component	
  interac4on	
  
Cross	
  management	
  server	
  cluster	
  
	
  
•  Asynchronous	
  job	
  execu4on	
  
Orchestra4on	
  work-­‐flow	
  usually	
  takes	
  4me	
  to	
  finish,	
  
not	
  friendly	
  to	
  synchronous	
  API	
  paradigm	
  
	
  	
  
General	
  Architecture	
  Abstrac4on	
  
Business	
  Logic	
  
Modules	
  
Business	
  Logic	
  
Module	
  
Business	
  Logic	
  
Module	
  
API	
  entry	
  	
  
Job	
  
control	
  
ORM	
  
Database	
  
Object	
  Layer	
  
Agent	
  
Agent	
  
Agent	
  
Agent	
  
General	
  Architecture	
  Abstrac4on	
  
Business	
  Logic	
  
Module	
  
Direct	
  
Agent	
  
Co-­‐located	
  
Agent	
  
Direct	
  agent	
  –	
  agent	
  running	
  inside	
  management	
  server	
  
Co-­‐located	
  agent	
  –	
  agent	
  that	
  is	
  co-­‐located	
  with	
  external	
  resource	
  (i.e.	
  Host)	
  
KVM	
  
XenServer	
  Host	
  
XAPI	
  
CloudStack	
  Cloud	
  Architecture	
  
•  Hosts	
  
•  Servers	
  onto	
  which	
  services	
  will	
  be	
  provisioned	
  
•  Primary	
  Storage	
  
•  VM	
  storage	
  
•  Cluster	
  
•  A	
  grouping	
  of	
  hosts	
  and	
  their	
  associated	
  storage	
  
•  Pod	
  
•  Collec4on	
  of	
  clusters	
  
•  Network	
  
•  Logical	
  network	
  associated	
  with	
  service	
  offerings	
  
•  Secondary	
  Storage	
  
•  Template,	
  snapshot	
  and	
  ISO	
  storage	
  
•  Zone	
  
•  Collec4on	
  of	
  pods,	
  network	
  offerings	
  and	
  secondary	
  
storage	
  
•  Management	
  Server	
  Farm	
  
•  Responsible	
  for	
  all	
  management	
  and	
  provisioning	
  tasks	
  
Core	
  CloudStack	
  Components	
  
Zone	
  
CloudStack	
  Pod	
  
Cluster	
  
	
  
Host	
  
	
  
Host	
  
Network	
  
Primary	
  
Storage	
  
VM	
  
VM	
  
CloudStack	
  Pod	
  
Cluster	
  
Secondary	
  
Storage	
  
 	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  
Pod	
  1	
  
….	
  
Cluster	
  N	
  
Access Layer
Host 2
Cluster	
  1	
  
Conceptual	
  Deployment	
  Architecture	
  
Host 1
Ø  Hypervisor	
  is	
  the	
  basic	
  unit	
  of	
  
scale.	
  	
  
Ø  Cluster	
  consists	
  of	
  one	
  ore	
  
more	
  hosts	
  of	
  same	
  hypervisor	
  	
  
Ø  All	
  hosts	
  in	
  cluster	
  have	
  access	
  
to	
  shared	
  (primary)	
  storage	
  
Ø  Pod	
  is	
  one	
  or	
  more	
  clusters,	
  
usually	
  with	
  	
  L2	
  switches.	
  	
  
Ø  Availability	
  Zone	
  has	
  one	
  or	
  
more	
  pods,	
  has	
  access	
  to	
  
secondary	
  storage.	
  	
  
Ø  One	
  or	
  more	
  zones	
  represent	
  
cloud	
  
	
  Primary	
  
Storage	
  
Zone	
  1	
  
….	
  
L3 core
	
  
Secondary	
  
Storage	
  
Pod	
  N	
  
CloudStack	
  
Management	
  
Server	
  
Internet	
  
Management	
  Server	
  Deployment	
  
Architecture	
  
	
  -­‐	
  Do	
  Not	
  Distribute	
  
Managem
ent	
  Server	
  
MySQL	
  
DB	
  
Back	
  Up	
  
DB	
  
Infrastructure	
  
Resources	
  
User	
  API	
  
Admin	
  API	
  
Load	
  
Balancer	
  
Managem
ent	
  Server	
  
Managem
ent	
  Server	
  
Managem
ent	
  Server	
  
MySQL	
  
DB	
  
Infrastructure	
  
Resources	
  
User	
  API	
  
Admin	
  API	
  
Single-­‐node	
  
Deployment	
  
Mul4-­‐node	
  
Deployment	
  
Ø  MS	
  is	
  stateless.	
  MS	
  can	
  be	
  deployed	
  
as	
  physical	
  server	
  or	
  VM	
  
Ø  Single	
  MS	
  node	
  can	
  manage	
  up	
  to	
  
10K	
  hosts.	
  Mul4ple	
  nodes	
  can	
  be	
  
deployed	
  for	
  scale	
  or	
  redundancy	
  
Ø  Commercial:	
  RHEL	
  5.4+;	
  FOSS:	
  
Ubuntu	
  10.0.4,	
  Fedora	
  16	
  
Replica4on	
  
CloudStack	
  Cloud	
  Subsystems	
  
Compute	
  Subsystem	
  
VirtualMachineGuru	
  
HypervisorGuru	
  
ServerResource	
  
UserVm	
  Guru	
  
System	
  VM	
  Guru	
  
System	
  VM	
  Gurus	
  
Hypervisor	
  Gurus	
  
Hypervisor	
  Gurus	
  
XenServer	
  Resource	
  
Vmware	
  Resource	
  
KVM	
  Resource	
  
Server	
  context	
  
Agent	
  context	
  
Orchestra4on	
  flow	
  
RPC	
  (Message	
  Bus)	
  
Compute	
  Subsystem	
  
•  VirtualMachineGuru	
  
Defines	
  pluggable	
  points	
  for	
  various	
  VM	
  managers	
  to	
  implement	
  specific	
  
VM	
  orchestra4on	
  logic.	
  
	
  
UserManagerManager,	
  ConsoleProxyManager	
  etc	
  implements	
  this	
  	
  
Interface.	
  
	
  
•  HypervisorGuru	
  
Defines	
  pluggable	
  points	
  to	
  insert	
  hypervisor	
  specific	
  logic	
  into	
  the	
  
Overall	
  orchestra4on	
  flow.	
  
	
  
•  ServerResource	
  
Defined	
  the	
  abstrac4on	
  layer	
  for	
  various	
  hypervisor	
  resource	
  agent	
  to	
  	
  
realize	
  the	
  ac4on	
  needed	
  from	
  orchestra4on	
  flow	
  
	
  
	
  
Storage	
  Subsystem	
  
•  Subsystem	
  func4ons	
  
§  Provision	
  VM	
  volume	
  to	
  storage	
  devices	
  
§  Manage	
  volume	
  snapshots	
  
§  Manage	
  Templates	
  and	
  ISOs	
  
§  Mo4on	
  service	
  to	
  move	
  storage	
  content	
  	
  
•  Storage	
  classifica4on	
  
§  Primary	
  Storage	
  
Provides	
  VM	
  volume	
  storage	
  at	
  all	
  4me	
  including	
  run4me	
  
Demand	
  high	
  performance	
  storage	
  I/O	
  for	
  read/write	
  access	
  
§  Secondary	
  Storage	
  (Backup/Object	
  store)	
  
Store	
  ready-­‐only	
  content	
  (templates,	
  ISOs)	
  
	
  
	
  
•  Primary	
  Storage	
  
•  Cluster	
  level	
  storage	
  for	
  VMs	
  
•  Connected	
  directly	
  to	
  hosts	
  
•  NFS,	
  iSCSI,	
  FC	
  and	
  Local	
  
•  Secondary	
  Storage	
  
•  Zone	
  level	
  storage	
  for	
  template,	
  ISOs	
  and	
  
snapshots	
  
•  NFS	
  or	
  OpenStack	
  SwiY	
  via	
  	
  CloudStack	
  
System	
  VM	
  
•  Templates	
  and	
  ISOs	
  
•  Imported	
  into	
  CloudStack	
  
•  Can	
  be	
  private	
  or	
  public	
  
Understanding	
  roles	
  in	
  Storage	
  	
  
Zone	
  
Secondary	
  Storage	
  
Pod	
  
Cluster	
  
	
  
Host	
  
	
  
Host	
  
Primary	
  Storage	
  
Template	
  
Network	
  subsystem	
  
•  Subsystem	
  func4ons	
  
§  Networking	
  mul4-­‐tenancy	
  
§  Provision	
  user	
  logic	
  network	
  
§  Manage	
  physical/logical	
  network	
  configura4on	
  
§  Provide	
  pluggable	
  framework	
  for	
  third-­‐party	
  vendors	
  
CloudStack	
  Management	
  Network	
  
Management	
  
Server	
  
System	
  
VM	
  
User	
  
VM	
  
172.16.0.10	
  
172.16.0.15	
  
172.16.0.20	
  
Hypervisor	
  Host	
  
Management	
  server	
  manages	
  physical	
  or	
  
virtual	
  resource	
  through	
  management	
  
network(s).	
  
	
  
The	
  network	
  that	
  is	
  used	
  to	
  manage	
  
hypervisor	
  host	
  can	
  be	
  different	
  to	
  the	
  
network	
  that	
  is	
  used	
  to	
  management	
  system	
  
VMs	
  
	
  
Host	
  link-­‐local	
  network	
  
Management	
  
Server	
  
System	
  
VM	
  
User	
  
VM	
  
172.16.0.10	
  
172.16.0.15	
  
Hypervisor	
  Host	
  
169.254.0.1	
  
169.254.0.10	
  
Why	
  host	
  link	
  local	
  network?	
  
•  For	
  hypervisor	
  hosts	
  that	
  have	
  co-­‐located	
  
agent,	
  host	
  link-­‐local	
  network	
  can	
  reduce	
  IP	
  
address	
  usage	
  
•  Hypervisor	
  co-­‐located	
  agent/plugin	
  proxy	
  
the	
  channel	
  between	
  virtual	
  resource	
  
(system	
  VM)	
  and	
  management	
  server	
  
Mul4-­‐tenancy:	
  L2	
  VLAN	
  isola4on	
  
CloudStack	
  Management	
  Server	
  
System	
  
VM	
  
Host	
  
Dom0/
Kernel	
  
Guest	
  VM	
  
Hypervisor	
  Host	
  
System	
  
VM	
  
Host	
  
Dom0/
Kernel	
  
Guest	
  VM	
  
Hypervisor	
  Host	
  
CloudStack	
  Management	
  Server	
  
192.168.10.0/24	
  
10.1.0.0/24	
  on	
  VLAN	
  100	
  
10.1.0.0/24	
  on	
  VLAN	
  200	
  
Mul4-­‐tenancy:	
  Security	
  group	
  isola4on	
  
…	
  
DB	
  	
  
Security	
  
Group	
  
Web	
  
Security	
  
Group	
  
…	
   …	
  
Web	
  
VM	
  
Web	
  
VM	
  
Web	
  
VM	
  
Web	
  
VM	
  
DB	
  
VM	
  
Web	
  
VM	
  
DB	
  
VM	
  
Web	
  
VM	
  
Network	
  Provisioning	
  
NeworkGuru	
  
GuestNetworkGuru	
  
NetworkElement	
  
VirtualRouterElement	
  
NetScalarElement	
  
RPC(Message	
  Bus)	
  
Network	
  orchestra4on	
  flow	
  
Network	
  Offering	
  DirectNetworkGuru	
  
PhysicalNetwork	
  
Configura4on	
  
NetworkGuru	
  	
  -­‐	
  helps	
  define,	
  implement	
  shared	
  or	
  a	
  tenant	
  guest	
  network	
  in	
  a	
  lazy	
  manner,	
  	
  it	
  also	
  helps	
  
	
   	
  perform	
  resource	
  (IP,	
  MAC	
  address,	
  SDN	
  tenant	
  ID)	
  management	
  in	
  various	
  orchestra4on	
  
	
   	
  phases	
  
NetworkElement	
  –	
  carries	
  on	
  network	
  related	
  ac4ons	
  
	
  
PhysicalNetwork	
  –	
  defines	
  a	
  mapping	
  configura4on	
  to	
  help	
  map	
  logic	
  network	
  into	
  physical	
  infrastructure	
  
Network	
  Offering	
  –	
  define	
  a	
  feature	
  set	
  template	
  for	
  guest	
  network,	
  help	
  instan4ate	
  network	
  instance	
  in	
  lazy	
  
	
   	
  construc4on	
  stage	
  
	
  
CloudStack	
  Provision-­‐automa4on	
  
ingredients	
  
Offerings	
  
•  Service	
  Offering	
  
CPU	
  speed/CPU	
  core/Memory/HA/Rate	
  Limit/
Tags	
  
•  Disk	
  Offering	
  
Disk	
  size/Local	
  Storage/Tags	
  
•  Network	
  Offering	
  
Rate	
  limit/Traffic	
  Type/Isola4on	
  characteris4cs/
feature	
  masks	
  
	
  
All	
  types	
  of	
  offerings	
  enable	
  CloudStack	
  to	
  instan4ated	
  related	
  object	
  in	
  a	
  lazy,	
  	
  
“fluid”	
  manner	
  
Tags	
  
•  Tagging	
  resource	
  objects(Host,	
  Storage,	
  etc)	
  
•  Tagging	
  offering	
  objects(ServiceOffering,	
  DiskOffering,	
  etc)	
  
Perform	
  loosely-­‐coupled	
  associa4on	
  between	
  objects,	
  typically	
  between	
  offering	
  
Objects	
  and	
  resource	
  objects,	
  resource	
  allocators	
  can	
  take	
  advantage	
  of	
  the	
  	
  
associa4on	
  to	
  influent	
  alloca4on	
  affinity	
  	
  
CloudStack	
  System	
  VMs	
  
CloudStack	
  System	
  VMs	
  
•  System	
  VMs	
  op4mize	
  and	
  scale	
  the	
  data-­‐path	
  on	
  behalf	
  of	
  CloudStack	
  
–  Stateless,	
  can	
  be	
  destroyed	
  and	
  recreated	
  from	
  database	
  state	
  
–  Highly	
  Available	
  
–  Communicates	
  with	
  Management	
  Server	
  over	
  management	
  network	
  
–  Usually	
  have	
  3	
  interfaces:	
  control,	
  guest	
  and	
  public	
  
•  Console	
  Proxy	
  VM	
  	
  
–  Provides	
  AJAX-­‐style	
  HTTP-­‐only	
  console	
  viewer	
  
–  Grabs	
  VNC	
  output	
  from	
  hypervisor	
  
–  Scales	
  out	
  (more	
  spawned)	
  as	
  load	
  increases	
  
–  Java-­‐based	
  server	
  Communicates	
  with	
  MS	
  over	
  message	
  bus	
  
•  Secondary	
  Storage	
  VM	
  
–  Provides	
  image	
  (template)	
  management	
  services	
  
–  Download	
  from	
  HTTP	
  file	
  share	
  or	
  SwiY	
  
–  Copy	
  between	
  zones	
  
–  Scale	
  out	
  to	
  handle	
  mul4ple	
  NFS	
  mounts	
  
–  Java-­‐based	
  server	
  communicates	
  with	
  MS	
  over	
  message	
  bus	
  
System	
  VM	
  contd	
  
•  SSH	
  keys	
  and	
  password	
  are	
  unique	
  to	
  cloud	
  
installa4on	
  
•  Code	
  can	
  be	
  patched	
  by	
  restar4ng	
  system	
  vm	
  
–  Mounts	
  a	
  special	
  ISO	
  file	
  with	
  latest	
  code	
  at	
  boot	
  
–  If	
  ISO	
  contents	
  differ,	
  patch	
  and	
  reboot	
  
•  Same	
  system	
  vm	
  works	
  on	
  XS,	
  KVM,	
  VMWare	
  
–  Bootstrap	
  step	
  for	
  the	
  cloud	
  is	
  to	
  install	
  the	
  template	
  
for	
  this	
  system	
  vm	
  
•  Ready	
  to	
  be	
  re-­‐purposed	
  for	
  other	
  specialized	
  
tasks	
  
	
  
Architecture	
  refactoring	
  
Architecture	
  refactoring	
  
•  Good	
  about	
  CloudStack	
  
Ø 	
  Simplicity	
  
Easy	
  to	
  understand	
  	
  
Easy	
  to	
  setup	
  
Easy	
  to	
  operate	
  
Out	
  of	
  box	
  solu4on	
  to	
  almost	
  any	
  Cloud,	
  from	
  private	
  to	
  public	
  
cloud	
  
•  Bad	
  about	
  CloudStack	
  
Ø Tightly-­‐coupled	
  
This	
  architecture	
  complain	
  is	
  being	
  addressed	
  in	
  Apache	
  
CloudStack	
  community	
  
Architecture	
  refactoring	
  
•  Modular/Componen4za4on	
  refactoring	
  
–  Build	
  system	
  to	
  maven	
  
–  Adopt	
  Spring	
  Framework	
  
•  Make	
  component	
  wiring	
  consistent	
  and	
  explicit	
  
•  Loosely-­‐coupling	
  
–  RPC/Message	
  Bus	
  improvement	
  
•  Async	
  programming	
  model	
  
–  AsyncCallFuture<T>	
  
•  VM	
  state	
  sync	
  
Architecture	
  refactoring	
  
•  RPC/Message	
  Bus	
  improvement	
  
–  Interface	
  binding	
  
AgentManager/Listener	
  
	
  AgentManager	
  defines	
  the	
  RPC/Messaging	
  API,	
  users	
   	
  of	
  RPC/
	
  Messaging	
  implement	
  Listener	
  interface	
  and	
   	
  expliclitly	
  bind	
  to	
  
	
  AgentManager	
  
–  Topic	
  binding	
  
Topic	
  constants	
  
	
  Users	
  subscribe	
  to	
  topic	
  itself,	
  publisher	
  and	
  subscriber	
  are	
  	
  	
  
	
  associated	
  indirectly	
  through	
  topic	
  constants	
  	
  
–  Hierarchical	
  topic	
  naming	
  conven4on	
  
Topic	
  to	
  be	
  similar	
  as	
  DNS	
  names,	
  subscribers	
  at	
  higher	
  level	
  can	
  be	
  
no4fied	
  for	
  down-­‐level	
  events	
  
–  Transparently	
  extend	
  message	
  bus	
  to	
  cross	
  boundaries	
  
	
  
Architecture	
  refactoring	
  
•  Async	
  programming	
  model	
  
	
  	
  public	
  void	
  installCallback()	
  {	
  
	
  	
  	
  	
  	
  	
  	
  	
  	
  TestContext<String>	
  context	
  =	
  new	
  TestContext<String>(null);	
  
	
  	
  	
  	
  	
  	
  	
  	
  	
  AsyncCallbackDispatcher<AsyncSampleEventDrivenStyleCaller,	
  Object>	
  caller	
  =	
   	
   	
   	
  
	
   	
  AsyncCallbackDispatcher.create(this);	
  
	
  
	
  	
  	
  	
  	
  	
  	
  	
  
caller.setCallback(caller.getTarget().HandleVolumeCreateAsyncCallback(null,null)).setContext(context);	
  
	
  	
  	
  	
  	
  	
  	
  	
  	
   	
  String	
  test	
  =	
  "test";	
  
	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  _ds.createVolumeAsync(test,	
  caller);	
  
	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  Assert.assertEquals(test,	
  context.getResult());	
  
	
  	
  	
  	
   	
  }	
  
	
  	
  	
  	
   	
  protected	
  Void	
  
	
  HandleVolumeCreateAsyncCallback(AsyncCallbackDispatcher<AsyncSampleEventDrivenStyleCaller,	
  	
  
	
   	
  String>	
  callback,	
  TestContext<String>	
  context)	
  {	
  
	
  	
  	
  	
  	
  	
  	
  	
  	
   	
  String	
  resultVol	
  =	
  callback.getResult();	
  
	
  	
  	
  	
  	
  	
  	
  	
  	
   	
  context.setResult(resultVol);	
  
	
  	
  	
  	
  	
  	
  	
  	
  	
   	
  return	
  null;	
  
	
  	
  	
  	
  	
   	
  }	
  
	
  
Architecture	
  refactoring	
  
•  AsyncCallFuture<T>	
  to	
  connect	
  sync	
  and	
  async	
  worlds	
  
	
  public	
  void	
  MethodThatWillCallAsyncMethod()	
  {	
  
	
  	
  	
  	
  	
  	
  String	
  vol	
  =	
  new	
  String("Hello");	
  
	
  	
  	
  	
  	
  AsyncCallbackDispatcher<AsyncSampleEventDrivenStyleCaller,	
  Object>	
  caller	
  =	
  
AsyncCallbackDispatcher.create(this);	
  
	
  	
  	
  	
  	
  	
  	
  	
  	
  AsyncCallFuture<String>	
  future	
  =	
  _ds.createVolume(vol);	
  
	
  	
  	
  	
  	
  	
  	
  	
  	
  try	
  {	
  
	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  String	
  result	
  =	
  future.get();	
  
	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  Assert.assertEquals(result,	
  vol);	
  
	
  	
  	
  	
  	
  	
  	
  	
  	
  }	
  catch	
  (InterruptedExcepOon	
  e)	
  {	
  
	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  //	
  TODO	
  Auto-­‐generated	
  catch	
  block	
  
	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  e.printStackTrace();	
  
	
  	
  	
  	
  	
  	
  	
  	
  	
  }	
  catch	
  (ExecuOonExcepOon	
  e)	
  {	
  
	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  //	
  TODO	
  Auto-­‐generated	
  catch	
  block	
  
	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  e.printStackTrace();	
  
	
  	
  	
  	
  	
  	
  	
  	
  	
  }	
  
	
  	
  	
  	
  	
  }	
  
Architecture	
  Refactoring	
  
Current	
  VMSync	
  implementa?on	
  
•  Basic	
  sync	
  unit	
  at	
  host/cluster	
  level	
  
•  ini4alize	
  sync-­‐scope	
  at	
  startup	
  (full	
  sync)	
  
•  monitor	
  and	
  smoothen	
  state	
  changes	
  and	
  perform	
  delta	
  
reports	
  
–  Resource	
  needs	
  to	
  know	
  about	
  CloudStack	
  specific	
  VM	
  state	
  like	
  
migra4ng,	
  star4ng	
  
–  Resource	
  needs	
  to	
  smoothen	
  state	
  report	
  in	
  reboo4ng	
  case,	
  if	
  
reboot	
  is	
  issued	
  from	
  guest	
  OS	
  
•  Threads	
  from	
  mul4ple	
  sources	
  may	
  collide	
  when	
  
performing	
  state	
  changes	
  
–  Thread	
  from	
  HA/State	
  recovery	
  procedure	
  
–  Thread	
  from	
  API	
  request	
  
–  Thread	
  from	
  Host	
  VM	
  state	
  report	
  
Architecture	
  Refactoring	
  
Basic	
  idea	
  of	
  VMSync	
  refactoring	
  
•  Resource	
  agent	
  is	
  only	
  required	
  to	
  report	
  VM	
  raw	
  
power	
  state	
  
•  CloudStack	
  VM	
  state	
  transi4on	
  is	
  driven	
  by	
  state-­‐
transi4on	
  jobs,	
  avoid	
  mul4ple	
  non-­‐coorporated	
  
driving	
  sources	
  (from	
  HA/API/sync	
  report)	
  
•  Opera4on	
  job	
  on	
  a	
  VM	
  is	
  serialized	
  for	
  execu4on	
  
•  Conflict	
  resolu4on	
  
–  Automa4c	
  policy	
  (HA/force	
  sync)	
  
–  Manual	
  policy	
  (Alerts,	
  Admin	
  interven4on,	
  user	
  
acknowledgement	
  workflow)	
  
Thank	
  you	
  
•  Q/A	
  
•  For	
  more	
  informa4on,	
  please	
  visit	
  h}p://
cloudstack.apache.org/	
  	
  

Weitere ähnliche Inhalte

Was ist angesagt?

CloudStack Networking at CloudOpen Japan
CloudStack Networking at CloudOpen JapanCloudStack Networking at CloudOpen Japan
CloudStack Networking at CloudOpen JapanKimihiko Kitase
 
Rhel cluster basics 1
Rhel cluster basics   1Rhel cluster basics   1
Rhel cluster basics 1Manoj Singh
 
Ceph and Apache CloudStack
Ceph and Apache CloudStackCeph and Apache CloudStack
Ceph and Apache CloudStackke4qqq
 
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 DaySebastien Goasguen
 
Automating CloudStack and hypervisor installation and configuration
Automating CloudStack and hypervisor installation and configurationAutomating CloudStack and hypervisor installation and configuration
Automating CloudStack and hypervisor installation and configurationDag Sonstebo
 
Apache CloudStack Architecture by Alex Huang
Apache CloudStack Architecture by Alex HuangApache CloudStack Architecture by Alex Huang
Apache CloudStack Architecture by Alex Huangbuildacloud
 
CloudStack - LinuxFest NorthWest
CloudStack - LinuxFest NorthWestCloudStack - LinuxFest NorthWest
CloudStack - LinuxFest NorthWestke4qqq
 
Hacking apache cloud stack
Hacking apache cloud stackHacking apache cloud stack
Hacking apache cloud stackNitin Mehta
 
Cloud stack networking shapeblue technical deep dive
Cloud stack networking   shapeblue technical deep diveCloud stack networking   shapeblue technical deep dive
Cloud stack networking shapeblue technical deep diveShapeBlue
 
Virtualization in the Cloud @ Build a Cloud Day SFO May 2012
Virtualization in the Cloud @ Build a Cloud Day SFO May 2012Virtualization in the Cloud @ Build a Cloud Day SFO May 2012
Virtualization in the Cloud @ Build a Cloud Day SFO May 2012The Linux Foundation
 
2 architectural at CloudStack Developer Day
2  architectural at CloudStack Developer Day2  architectural at CloudStack Developer Day
2 architectural at CloudStack Developer DayKimihiko Kitase
 
Decisions behind hypervisor selection in CloudStack 4.3
Decisions behind hypervisor selection in CloudStack 4.3Decisions behind hypervisor selection in CloudStack 4.3
Decisions behind hypervisor selection in CloudStack 4.3Tim Mackey
 
CloudStack Networking Deepdive CCCEU13
CloudStack Networking Deepdive CCCEU13CloudStack Networking Deepdive CCCEU13
CloudStack Networking Deepdive CCCEU13Chiradeep Vittal
 
XenServer Virtualization In Cloud Environments
XenServer Virtualization In Cloud EnvironmentsXenServer Virtualization In Cloud Environments
XenServer Virtualization In Cloud EnvironmentsTim Mackey
 
Introduction to CloudStack Networking
Introduction to CloudStack NetworkingIntroduction to CloudStack Networking
Introduction to CloudStack NetworkingShapeBlue
 
Hypervisor Selection in Apache CloudStack 4.4
Hypervisor Selection in Apache CloudStack 4.4Hypervisor Selection in Apache CloudStack 4.4
Hypervisor Selection in Apache CloudStack 4.4Tim Mackey
 

Was ist angesagt? (20)

CloudStack Networking at CloudOpen Japan
CloudStack Networking at CloudOpen JapanCloudStack Networking at CloudOpen Japan
CloudStack Networking at CloudOpen Japan
 
CloudStack Architecture
CloudStack ArchitectureCloudStack Architecture
CloudStack Architecture
 
Rhel cluster basics 1
Rhel cluster basics   1Rhel cluster basics   1
Rhel cluster basics 1
 
Ceph and Apache CloudStack
Ceph and Apache CloudStackCeph and Apache CloudStack
Ceph and Apache CloudStack
 
Cloud stack for_beginners
Cloud stack for_beginnersCloud stack for_beginners
Cloud stack for_beginners
 
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
 
Automating CloudStack and hypervisor installation and configuration
Automating CloudStack and hypervisor installation and configurationAutomating CloudStack and hypervisor installation and configuration
Automating CloudStack and hypervisor installation and configuration
 
Apache CloudStack Architecture by Alex Huang
Apache CloudStack Architecture by Alex HuangApache CloudStack Architecture by Alex Huang
Apache CloudStack Architecture by Alex Huang
 
CloudStack - LinuxFest NorthWest
CloudStack - LinuxFest NorthWestCloudStack - LinuxFest NorthWest
CloudStack - LinuxFest NorthWest
 
Hacking apache cloud stack
Hacking apache cloud stackHacking apache cloud stack
Hacking apache cloud stack
 
Cloud stack networking shapeblue technical deep dive
Cloud stack networking   shapeblue technical deep diveCloud stack networking   shapeblue technical deep dive
Cloud stack networking shapeblue technical deep dive
 
CloudStack Networking
CloudStack NetworkingCloudStack Networking
CloudStack Networking
 
Virtualization in the Cloud @ Build a Cloud Day SFO May 2012
Virtualization in the Cloud @ Build a Cloud Day SFO May 2012Virtualization in the Cloud @ Build a Cloud Day SFO May 2012
Virtualization in the Cloud @ Build a Cloud Day SFO May 2012
 
2 architectural at CloudStack Developer Day
2  architectural at CloudStack Developer Day2  architectural at CloudStack Developer Day
2 architectural at CloudStack Developer Day
 
Decisions behind hypervisor selection in CloudStack 4.3
Decisions behind hypervisor selection in CloudStack 4.3Decisions behind hypervisor selection in CloudStack 4.3
Decisions behind hypervisor selection in CloudStack 4.3
 
CloudStack Networking Deepdive CCCEU13
CloudStack Networking Deepdive CCCEU13CloudStack Networking Deepdive CCCEU13
CloudStack Networking Deepdive CCCEU13
 
XenServer Virtualization In Cloud Environments
XenServer Virtualization In Cloud EnvironmentsXenServer Virtualization In Cloud Environments
XenServer Virtualization In Cloud Environments
 
Apache CloudStack AlpesJUG
Apache CloudStack AlpesJUGApache CloudStack AlpesJUG
Apache CloudStack AlpesJUG
 
Introduction to CloudStack Networking
Introduction to CloudStack NetworkingIntroduction to CloudStack Networking
Introduction to CloudStack Networking
 
Hypervisor Selection in Apache CloudStack 4.4
Hypervisor Selection in Apache CloudStack 4.4Hypervisor Selection in Apache CloudStack 4.4
Hypervisor Selection in Apache CloudStack 4.4
 

Andere mochten auch

CloudStack vs OpenStack
CloudStack vs OpenStackCloudStack vs OpenStack
CloudStack vs OpenStackVictor Zhang
 
Cloudstack dev/user sharing
Cloudstack dev/user sharingCloudstack dev/user sharing
Cloudstack dev/user sharinggavin_lee
 
cloudstack participation
cloudstack participationcloudstack participation
cloudstack participationgavin_lee
 
开源云产品在企业级部署的适用性探讨- CloudStack
开源云产品在企业级部署的适用性探讨- CloudStack开源云产品在企业级部署的适用性探讨- CloudStack
开源云产品在企业级部署的适用性探讨- CloudStackgavin_lee
 
Cloudstack 社区及商业
Cloudstack 社区及商业Cloudstack 社区及商业
Cloudstack 社区及商业gavin_lee
 
CloudStack challenges for China customers
CloudStack challenges for China customersCloudStack challenges for China customers
CloudStack challenges for China customersgavin_lee
 
Comparing open source private cloud platforms
Comparing open source private cloud platformsComparing open source private cloud platforms
Comparing open source private cloud platformsOSCON Byrum
 
CloudStack vs OpenStack vs Eucalyptus: IaaS Private Cloud Brief Comparison
CloudStack vs OpenStack vs Eucalyptus: IaaS Private Cloud Brief ComparisonCloudStack vs OpenStack vs Eucalyptus: IaaS Private Cloud Brief Comparison
CloudStack vs OpenStack vs Eucalyptus: IaaS Private Cloud Brief Comparisonbizalgo
 

Andere mochten auch (11)

CloudStack vs OpenStack
CloudStack vs OpenStackCloudStack vs OpenStack
CloudStack vs OpenStack
 
Cloudstack dev/user sharing
Cloudstack dev/user sharingCloudstack dev/user sharing
Cloudstack dev/user sharing
 
cloudstack participation
cloudstack participationcloudstack participation
cloudstack participation
 
开源云产品在企业级部署的适用性探讨- CloudStack
开源云产品在企业级部署的适用性探讨- CloudStack开源云产品在企业级部署的适用性探讨- CloudStack
开源云产品在企业级部署的适用性探讨- CloudStack
 
Cloudstack 社区及商业
Cloudstack 社区及商业Cloudstack 社区及商业
Cloudstack 社区及商业
 
Engaging the xen community
Engaging the xen communityEngaging the xen community
Engaging the xen community
 
Xen and Apache cloudstack
Xen and Apache cloudstack  Xen and Apache cloudstack
Xen and Apache cloudstack
 
CloudStack challenges for China customers
CloudStack challenges for China customersCloudStack challenges for China customers
CloudStack challenges for China customers
 
CloudStack vs Openstack
CloudStack vs OpenstackCloudStack vs Openstack
CloudStack vs Openstack
 
Comparing open source private cloud platforms
Comparing open source private cloud platformsComparing open source private cloud platforms
Comparing open source private cloud platforms
 
CloudStack vs OpenStack vs Eucalyptus: IaaS Private Cloud Brief Comparison
CloudStack vs OpenStack vs Eucalyptus: IaaS Private Cloud Brief ComparisonCloudStack vs OpenStack vs Eucalyptus: IaaS Private Cloud Brief Comparison
CloudStack vs OpenStack vs Eucalyptus: IaaS Private Cloud Brief Comparison
 

Ähnlich wie CloudStack Architecture and Refactor

2014-09-15 cloud platform master class
2014-09-15 cloud platform master class2014-09-15 cloud platform master class
2014-09-15 cloud platform master classCitrix
 
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 UIJoe Brockmeier
 
Apache CloudStack: API to UI (STLLUG)
Apache CloudStack: API to UI (STLLUG)Apache CloudStack: API to UI (STLLUG)
Apache CloudStack: API to UI (STLLUG)Joe Brockmeier
 
Open stack ha design & deployment kilo
Open stack ha design & deployment   kiloOpen stack ha design & deployment   kilo
Open stack ha design & deployment kiloSteven Li
 
Cloudstack for beginners
Cloudstack for beginnersCloudstack for beginners
Cloudstack for beginnersJoseph Amirani
 
Cloud Computing Platform-CloudStack
Cloud Computing Platform-CloudStackCloud Computing Platform-CloudStack
Cloud Computing Platform-CloudStackArcadian Learning
 
Oracle Enterprise Manager - EM12c R5 Hybrid Cloud Management
Oracle Enterprise Manager - EM12c R5 Hybrid Cloud ManagementOracle Enterprise Manager - EM12c R5 Hybrid Cloud Management
Oracle Enterprise Manager - EM12c R5 Hybrid Cloud ManagementMarketingArrowECS_CZ
 
Presentation citrix cloud platform for infrastructure as a service
Presentation   citrix cloud platform for infrastructure as a servicePresentation   citrix cloud platform for infrastructure as a service
Presentation citrix cloud platform for infrastructure as a servicexKinAnx
 
CloudStack-Developer-Day
CloudStack-Developer-DayCloudStack-Developer-Day
CloudStack-Developer-DayKimihiko Kitase
 
Climb Technical Overview
Climb Technical OverviewClimb Technical Overview
Climb Technical OverviewArif Ali
 
Private Cloud with Open Stack, Docker
Private Cloud with Open Stack, DockerPrivate Cloud with Open Stack, Docker
Private Cloud with Open Stack, DockerDavinder Kohli
 
VMware vSphere 6.0 - Troubleshooting Training - Day 1
VMware vSphere 6.0 - Troubleshooting Training - Day 1VMware vSphere 6.0 - Troubleshooting Training - Day 1
VMware vSphere 6.0 - Troubleshooting Training - Day 1Sanjeev Kumar
 
TechWiseTV Workshop: HyperFlex 3.0
TechWiseTV Workshop: HyperFlex 3.0TechWiseTV Workshop: HyperFlex 3.0
TechWiseTV Workshop: HyperFlex 3.0Robb Boyd
 
Cisco HyperFlex 3.0
Cisco HyperFlex 3.0Cisco HyperFlex 3.0
Cisco HyperFlex 3.0Chase Rothe
 
Service fabric and azure service fabric mesh
Service fabric and azure service fabric meshService fabric and azure service fabric mesh
Service fabric and azure service fabric meshMikkel Mørk Hegnhøj
 
Red Hat multi-cluster management & what's new in OpenShift
Red Hat multi-cluster management & what's new in OpenShiftRed Hat multi-cluster management & what's new in OpenShift
Red Hat multi-cluster management & what's new in OpenShiftKangaroot
 
The Future of SDN in CloudStack by Chiradeep Vittal
The Future of SDN in CloudStack by Chiradeep VittalThe Future of SDN in CloudStack by Chiradeep Vittal
The Future of SDN in CloudStack by Chiradeep Vittalbuildacloud
 

Ähnlich wie CloudStack Architecture and Refactor (20)

2014-09-15 cloud platform master class
2014-09-15 cloud platform master class2014-09-15 cloud platform master class
2014-09-15 cloud platform master class
 
Txlf2012
Txlf2012Txlf2012
Txlf2012
 
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
 
Apache CloudStack: API to UI (STLLUG)
Apache CloudStack: API to UI (STLLUG)Apache CloudStack: API to UI (STLLUG)
Apache CloudStack: API to UI (STLLUG)
 
Open stack ha design & deployment kilo
Open stack ha design & deployment   kiloOpen stack ha design & deployment   kilo
Open stack ha design & deployment kilo
 
Cloudstack for beginners
Cloudstack for beginnersCloudstack for beginners
Cloudstack for beginners
 
Cloud Computing Platform-CloudStack
Cloud Computing Platform-CloudStackCloud Computing Platform-CloudStack
Cloud Computing Platform-CloudStack
 
Oracle Enterprise Manager - EM12c R5 Hybrid Cloud Management
Oracle Enterprise Manager - EM12c R5 Hybrid Cloud ManagementOracle Enterprise Manager - EM12c R5 Hybrid Cloud Management
Oracle Enterprise Manager - EM12c R5 Hybrid Cloud Management
 
Presentation citrix cloud platform for infrastructure as a service
Presentation   citrix cloud platform for infrastructure as a servicePresentation   citrix cloud platform for infrastructure as a service
Presentation citrix cloud platform for infrastructure as a service
 
CloudStackFinalProject
CloudStackFinalProjectCloudStackFinalProject
CloudStackFinalProject
 
CloudStack-Developer-Day
CloudStack-Developer-DayCloudStack-Developer-Day
CloudStack-Developer-Day
 
Climb Technical Overview
Climb Technical OverviewClimb Technical Overview
Climb Technical Overview
 
Private Cloud with Open Stack, Docker
Private Cloud with Open Stack, DockerPrivate Cloud with Open Stack, Docker
Private Cloud with Open Stack, Docker
 
VMware vSphere 6.0 - Troubleshooting Training - Day 1
VMware vSphere 6.0 - Troubleshooting Training - Day 1VMware vSphere 6.0 - Troubleshooting Training - Day 1
VMware vSphere 6.0 - Troubleshooting Training - Day 1
 
TechWiseTV Workshop: HyperFlex 3.0
TechWiseTV Workshop: HyperFlex 3.0TechWiseTV Workshop: HyperFlex 3.0
TechWiseTV Workshop: HyperFlex 3.0
 
Cisco HyperFlex 3.0
Cisco HyperFlex 3.0Cisco HyperFlex 3.0
Cisco HyperFlex 3.0
 
Service fabric and azure service fabric mesh
Service fabric and azure service fabric meshService fabric and azure service fabric mesh
Service fabric and azure service fabric mesh
 
Red Hat multi-cluster management & what's new in OpenShift
Red Hat multi-cluster management & what's new in OpenShiftRed Hat multi-cluster management & what's new in OpenShift
Red Hat multi-cluster management & what's new in OpenShift
 
OpenStack and Windows
OpenStack and WindowsOpenStack and Windows
OpenStack and Windows
 
The Future of SDN in CloudStack by Chiradeep Vittal
The Future of SDN in CloudStack by Chiradeep VittalThe Future of SDN in CloudStack by Chiradeep Vittal
The Future of SDN in CloudStack by Chiradeep Vittal
 

Kürzlich hochgeladen

Fashion trends before and after covid.pptx
Fashion trends before and after covid.pptxFashion trends before and after covid.pptx
Fashion trends before and after covid.pptxVanshNarang19
 
Kieran Salaria Graphic Design PDF Portfolio
Kieran Salaria Graphic Design PDF PortfolioKieran Salaria Graphic Design PDF Portfolio
Kieran Salaria Graphic Design PDF Portfolioktksalaria
 
3D Printing And Designing Final Report.pdf
3D Printing And Designing Final Report.pdf3D Printing And Designing Final Report.pdf
3D Printing And Designing Final Report.pdfSwaraliBorhade
 
Call Girls in Okhla Delhi 💯Call Us 🔝8264348440🔝
Call Girls in Okhla Delhi 💯Call Us 🔝8264348440🔝Call Girls in Okhla Delhi 💯Call Us 🔝8264348440🔝
Call Girls in Okhla Delhi 💯Call Us 🔝8264348440🔝soniya singh
 
VIP Kolkata Call Girl Gariahat 👉 8250192130 Available With Room
VIP Kolkata Call Girl Gariahat 👉 8250192130  Available With RoomVIP Kolkata Call Girl Gariahat 👉 8250192130  Available With Room
VIP Kolkata Call Girl Gariahat 👉 8250192130 Available With Roomdivyansh0kumar0
 
Cosumer Willingness to Pay for Sustainable Bricks
Cosumer Willingness to Pay for Sustainable BricksCosumer Willingness to Pay for Sustainable Bricks
Cosumer Willingness to Pay for Sustainable Bricksabhishekparmar618
 
PORTFOLIO DE ARQUITECTURA CRISTOBAL HERAUD 2024
PORTFOLIO DE ARQUITECTURA CRISTOBAL HERAUD 2024PORTFOLIO DE ARQUITECTURA CRISTOBAL HERAUD 2024
PORTFOLIO DE ARQUITECTURA CRISTOBAL HERAUD 2024CristobalHeraud
 
A level Digipak development Presentation
A level Digipak development PresentationA level Digipak development Presentation
A level Digipak development Presentationamedia6
 
Cheap Rate ➥8448380779 ▻Call Girls In Iffco Chowk Gurgaon
Cheap Rate ➥8448380779 ▻Call Girls In Iffco Chowk GurgaonCheap Rate ➥8448380779 ▻Call Girls In Iffco Chowk Gurgaon
Cheap Rate ➥8448380779 ▻Call Girls In Iffco Chowk GurgaonDelhi Call girls
 
NO1 Famous Amil Baba In Karachi Kala Jadu In Karachi Amil baba In Karachi Add...
NO1 Famous Amil Baba In Karachi Kala Jadu In Karachi Amil baba In Karachi Add...NO1 Famous Amil Baba In Karachi Kala Jadu In Karachi Amil baba In Karachi Add...
NO1 Famous Amil Baba In Karachi Kala Jadu In Karachi Amil baba In Karachi Add...Amil baba
 
PORTAFOLIO 2024_ ANASTASIYA KUDINOVA
PORTAFOLIO   2024_  ANASTASIYA  KUDINOVAPORTAFOLIO   2024_  ANASTASIYA  KUDINOVA
PORTAFOLIO 2024_ ANASTASIYA KUDINOVAAnastasiya Kudinova
 
VIP Russian Call Girls in Gorakhpur Deepika 8250192130 Independent Escort Ser...
VIP Russian Call Girls in Gorakhpur Deepika 8250192130 Independent Escort Ser...VIP Russian Call Girls in Gorakhpur Deepika 8250192130 Independent Escort Ser...
VIP Russian Call Girls in Gorakhpur Deepika 8250192130 Independent Escort Ser...Suhani Kapoor
 
Design Portfolio - 2024 - William Vickery
Design Portfolio - 2024 - William VickeryDesign Portfolio - 2024 - William Vickery
Design Portfolio - 2024 - William VickeryWilliamVickery6
 
Kurla Call Girls Pooja Nehwal📞 9892124323 ✅ Vashi Call Service Available Nea...
Kurla Call Girls Pooja Nehwal📞 9892124323 ✅  Vashi Call Service Available Nea...Kurla Call Girls Pooja Nehwal📞 9892124323 ✅  Vashi Call Service Available Nea...
Kurla Call Girls Pooja Nehwal📞 9892124323 ✅ Vashi Call Service Available Nea...Pooja Nehwal
 
CALL ON ➥8923113531 🔝Call Girls Aminabad Lucknow best Night Fun service
CALL ON ➥8923113531 🔝Call Girls Aminabad Lucknow best Night Fun serviceCALL ON ➥8923113531 🔝Call Girls Aminabad Lucknow best Night Fun service
CALL ON ➥8923113531 🔝Call Girls Aminabad Lucknow best Night Fun serviceanilsa9823
 
Kala jadu for love marriage | Real amil baba | Famous amil baba | kala jadu n...
Kala jadu for love marriage | Real amil baba | Famous amil baba | kala jadu n...Kala jadu for love marriage | Real amil baba | Famous amil baba | kala jadu n...
Kala jadu for love marriage | Real amil baba | Famous amil baba | kala jadu n...babafaisel
 
How to Be Famous in your Field just visit our Site
How to Be Famous in your Field just visit our SiteHow to Be Famous in your Field just visit our Site
How to Be Famous in your Field just visit our Sitegalleryaagency
 
Call Girls In Safdarjung Enclave 24/7✡️9711147426✡️ Escorts Service
Call Girls In Safdarjung Enclave 24/7✡️9711147426✡️ Escorts ServiceCall Girls In Safdarjung Enclave 24/7✡️9711147426✡️ Escorts Service
Call Girls In Safdarjung Enclave 24/7✡️9711147426✡️ Escorts Servicejennyeacort
 
VIP Call Girl Amravati Aashi 8250192130 Independent Escort Service Amravati
VIP Call Girl Amravati Aashi 8250192130 Independent Escort Service AmravatiVIP Call Girl Amravati Aashi 8250192130 Independent Escort Service Amravati
VIP Call Girl Amravati Aashi 8250192130 Independent Escort Service AmravatiSuhani Kapoor
 

Kürzlich hochgeladen (20)

Call Girls Service Mukherjee Nagar @9999965857 Delhi 🫦 No Advance VVIP 🍎 SER...
Call Girls Service Mukherjee Nagar @9999965857 Delhi 🫦 No Advance  VVIP 🍎 SER...Call Girls Service Mukherjee Nagar @9999965857 Delhi 🫦 No Advance  VVIP 🍎 SER...
Call Girls Service Mukherjee Nagar @9999965857 Delhi 🫦 No Advance VVIP 🍎 SER...
 
Fashion trends before and after covid.pptx
Fashion trends before and after covid.pptxFashion trends before and after covid.pptx
Fashion trends before and after covid.pptx
 
Kieran Salaria Graphic Design PDF Portfolio
Kieran Salaria Graphic Design PDF PortfolioKieran Salaria Graphic Design PDF Portfolio
Kieran Salaria Graphic Design PDF Portfolio
 
3D Printing And Designing Final Report.pdf
3D Printing And Designing Final Report.pdf3D Printing And Designing Final Report.pdf
3D Printing And Designing Final Report.pdf
 
Call Girls in Okhla Delhi 💯Call Us 🔝8264348440🔝
Call Girls in Okhla Delhi 💯Call Us 🔝8264348440🔝Call Girls in Okhla Delhi 💯Call Us 🔝8264348440🔝
Call Girls in Okhla Delhi 💯Call Us 🔝8264348440🔝
 
VIP Kolkata Call Girl Gariahat 👉 8250192130 Available With Room
VIP Kolkata Call Girl Gariahat 👉 8250192130  Available With RoomVIP Kolkata Call Girl Gariahat 👉 8250192130  Available With Room
VIP Kolkata Call Girl Gariahat 👉 8250192130 Available With Room
 
Cosumer Willingness to Pay for Sustainable Bricks
Cosumer Willingness to Pay for Sustainable BricksCosumer Willingness to Pay for Sustainable Bricks
Cosumer Willingness to Pay for Sustainable Bricks
 
PORTFOLIO DE ARQUITECTURA CRISTOBAL HERAUD 2024
PORTFOLIO DE ARQUITECTURA CRISTOBAL HERAUD 2024PORTFOLIO DE ARQUITECTURA CRISTOBAL HERAUD 2024
PORTFOLIO DE ARQUITECTURA CRISTOBAL HERAUD 2024
 
A level Digipak development Presentation
A level Digipak development PresentationA level Digipak development Presentation
A level Digipak development Presentation
 
Cheap Rate ➥8448380779 ▻Call Girls In Iffco Chowk Gurgaon
Cheap Rate ➥8448380779 ▻Call Girls In Iffco Chowk GurgaonCheap Rate ➥8448380779 ▻Call Girls In Iffco Chowk Gurgaon
Cheap Rate ➥8448380779 ▻Call Girls In Iffco Chowk Gurgaon
 
NO1 Famous Amil Baba In Karachi Kala Jadu In Karachi Amil baba In Karachi Add...
NO1 Famous Amil Baba In Karachi Kala Jadu In Karachi Amil baba In Karachi Add...NO1 Famous Amil Baba In Karachi Kala Jadu In Karachi Amil baba In Karachi Add...
NO1 Famous Amil Baba In Karachi Kala Jadu In Karachi Amil baba In Karachi Add...
 
PORTAFOLIO 2024_ ANASTASIYA KUDINOVA
PORTAFOLIO   2024_  ANASTASIYA  KUDINOVAPORTAFOLIO   2024_  ANASTASIYA  KUDINOVA
PORTAFOLIO 2024_ ANASTASIYA KUDINOVA
 
VIP Russian Call Girls in Gorakhpur Deepika 8250192130 Independent Escort Ser...
VIP Russian Call Girls in Gorakhpur Deepika 8250192130 Independent Escort Ser...VIP Russian Call Girls in Gorakhpur Deepika 8250192130 Independent Escort Ser...
VIP Russian Call Girls in Gorakhpur Deepika 8250192130 Independent Escort Ser...
 
Design Portfolio - 2024 - William Vickery
Design Portfolio - 2024 - William VickeryDesign Portfolio - 2024 - William Vickery
Design Portfolio - 2024 - William Vickery
 
Kurla Call Girls Pooja Nehwal📞 9892124323 ✅ Vashi Call Service Available Nea...
Kurla Call Girls Pooja Nehwal📞 9892124323 ✅  Vashi Call Service Available Nea...Kurla Call Girls Pooja Nehwal📞 9892124323 ✅  Vashi Call Service Available Nea...
Kurla Call Girls Pooja Nehwal📞 9892124323 ✅ Vashi Call Service Available Nea...
 
CALL ON ➥8923113531 🔝Call Girls Aminabad Lucknow best Night Fun service
CALL ON ➥8923113531 🔝Call Girls Aminabad Lucknow best Night Fun serviceCALL ON ➥8923113531 🔝Call Girls Aminabad Lucknow best Night Fun service
CALL ON ➥8923113531 🔝Call Girls Aminabad Lucknow best Night Fun service
 
Kala jadu for love marriage | Real amil baba | Famous amil baba | kala jadu n...
Kala jadu for love marriage | Real amil baba | Famous amil baba | kala jadu n...Kala jadu for love marriage | Real amil baba | Famous amil baba | kala jadu n...
Kala jadu for love marriage | Real amil baba | Famous amil baba | kala jadu n...
 
How to Be Famous in your Field just visit our Site
How to Be Famous in your Field just visit our SiteHow to Be Famous in your Field just visit our Site
How to Be Famous in your Field just visit our Site
 
Call Girls In Safdarjung Enclave 24/7✡️9711147426✡️ Escorts Service
Call Girls In Safdarjung Enclave 24/7✡️9711147426✡️ Escorts ServiceCall Girls In Safdarjung Enclave 24/7✡️9711147426✡️ Escorts Service
Call Girls In Safdarjung Enclave 24/7✡️9711147426✡️ Escorts Service
 
VIP Call Girl Amravati Aashi 8250192130 Independent Escort Service Amravati
VIP Call Girl Amravati Aashi 8250192130 Independent Escort Service AmravatiVIP Call Girl Amravati Aashi 8250192130 Independent Escort Service Amravati
VIP Call Girl Amravati Aashi 8250192130 Independent Escort Service Amravati
 

CloudStack Architecture and Refactor

  • 1. CloudStack  Architecture  and  its   evolu4on  –  A  developer’s  view   5/25/2013   Kelven  Yang   Citrix    
  • 2. Outline   •  Overview  of  CloudStack     •  General  architecture  abstrac4on   •  CloudStack  Cloud  architecture   •  CloudStack  Cloud  subsystems   •  CloudStack  Provision-­‐automa4on  ingredients   •  CloudStack  System  VMs   •  Architecture  refactoring   •  Q/A    
  • 4. •  Secure,  mul4-­‐tenant  cloud   orchestra4on  plaOorm   –  Turnkey  plaOorm  for  delivering   IaaS  clouds   –  Hypervisor  agnos4c   –  Scalable,  secure  and  open   –  Open  source,  open  standards   –  Deploys  on  premise  or  as  a  hosted   solu4on   •  Deliver  cloud  services  faster   and  cheaper   What  is  CloudStack?   Build  your  cloud  the  way  the   world’s  most  successful  clouds   are  built  
  • 5.     Compute   CloudStack  Provides  On-­‐demand  Access  to   Infrastructure  Through  a  Self-­‐Service  Portal           Network       Storage   Admin Users Org A Admin Users Org B Users End User Admin
  • 6. Open  Flexible  PlaOorm       Compute       XenServer   VMware   KVM  Oracle  VM   Bare  metal   Hypervisor       Storage       Local  Disk   iSCSI   NFS   Fiber   Channel   SwiY   Block  &  Object       Network       Network   Type   Isola4on   Load   balancer   Firewall   VPN   Network  &  Network  Services   Primary  Storage   Secondary  Storage  
  • 8. General  Architecture  Abstrac4on   •  Resource  Agent   Endpoint  for  CloudStack  to  communicate  with   underlying  virtual  or  physical  resource,  example  of   resource  could  be  a  hypervisor  host  or  a  network   element     •  CloudStack  RPC  (message  bus)   Cross  component  interac4on   Cross  management  server  cluster     •  Asynchronous  job  execu4on   Orchestra4on  work-­‐flow  usually  takes  4me  to  finish,   not  friendly  to  synchronous  API  paradigm      
  • 9. General  Architecture  Abstrac4on   Business  Logic   Modules   Business  Logic   Module   Business  Logic   Module   API  entry     Job   control   ORM   Database   Object  Layer   Agent   Agent   Agent   Agent  
  • 10. General  Architecture  Abstrac4on   Business  Logic   Module   Direct   Agent   Co-­‐located   Agent   Direct  agent  –  agent  running  inside  management  server   Co-­‐located  agent  –  agent  that  is  co-­‐located  with  external  resource  (i.e.  Host)   KVM   XenServer  Host   XAPI  
  • 12. •  Hosts   •  Servers  onto  which  services  will  be  provisioned   •  Primary  Storage   •  VM  storage   •  Cluster   •  A  grouping  of  hosts  and  their  associated  storage   •  Pod   •  Collec4on  of  clusters   •  Network   •  Logical  network  associated  with  service  offerings   •  Secondary  Storage   •  Template,  snapshot  and  ISO  storage   •  Zone   •  Collec4on  of  pods,  network  offerings  and  secondary   storage   •  Management  Server  Farm   •  Responsible  for  all  management  and  provisioning  tasks   Core  CloudStack  Components   Zone   CloudStack  Pod   Cluster     Host     Host   Network   Primary   Storage   VM   VM   CloudStack  Pod   Cluster   Secondary   Storage  
  • 13.                                                                                                             Pod  1   ….   Cluster  N   Access Layer Host 2 Cluster  1   Conceptual  Deployment  Architecture   Host 1 Ø  Hypervisor  is  the  basic  unit  of   scale.     Ø  Cluster  consists  of  one  ore   more  hosts  of  same  hypervisor     Ø  All  hosts  in  cluster  have  access   to  shared  (primary)  storage   Ø  Pod  is  one  or  more  clusters,   usually  with    L2  switches.     Ø  Availability  Zone  has  one  or   more  pods,  has  access  to   secondary  storage.     Ø  One  or  more  zones  represent   cloud    Primary   Storage   Zone  1   ….   L3 core   Secondary   Storage   Pod  N   CloudStack   Management   Server   Internet  
  • 14. Management  Server  Deployment   Architecture    -­‐  Do  Not  Distribute   Managem ent  Server   MySQL   DB   Back  Up   DB   Infrastructure   Resources   User  API   Admin  API   Load   Balancer   Managem ent  Server   Managem ent  Server   Managem ent  Server   MySQL   DB   Infrastructure   Resources   User  API   Admin  API   Single-­‐node   Deployment   Mul4-­‐node   Deployment   Ø  MS  is  stateless.  MS  can  be  deployed   as  physical  server  or  VM   Ø  Single  MS  node  can  manage  up  to   10K  hosts.  Mul4ple  nodes  can  be   deployed  for  scale  or  redundancy   Ø  Commercial:  RHEL  5.4+;  FOSS:   Ubuntu  10.0.4,  Fedora  16   Replica4on  
  • 16. Compute  Subsystem   VirtualMachineGuru   HypervisorGuru   ServerResource   UserVm  Guru   System  VM  Guru   System  VM  Gurus   Hypervisor  Gurus   Hypervisor  Gurus   XenServer  Resource   Vmware  Resource   KVM  Resource   Server  context   Agent  context   Orchestra4on  flow   RPC  (Message  Bus)  
  • 17. Compute  Subsystem   •  VirtualMachineGuru   Defines  pluggable  points  for  various  VM  managers  to  implement  specific   VM  orchestra4on  logic.     UserManagerManager,  ConsoleProxyManager  etc  implements  this     Interface.     •  HypervisorGuru   Defines  pluggable  points  to  insert  hypervisor  specific  logic  into  the   Overall  orchestra4on  flow.     •  ServerResource   Defined  the  abstrac4on  layer  for  various  hypervisor  resource  agent  to     realize  the  ac4on  needed  from  orchestra4on  flow      
  • 18. Storage  Subsystem   •  Subsystem  func4ons   §  Provision  VM  volume  to  storage  devices   §  Manage  volume  snapshots   §  Manage  Templates  and  ISOs   §  Mo4on  service  to  move  storage  content     •  Storage  classifica4on   §  Primary  Storage   Provides  VM  volume  storage  at  all  4me  including  run4me   Demand  high  performance  storage  I/O  for  read/write  access   §  Secondary  Storage  (Backup/Object  store)   Store  ready-­‐only  content  (templates,  ISOs)      
  • 19. •  Primary  Storage   •  Cluster  level  storage  for  VMs   •  Connected  directly  to  hosts   •  NFS,  iSCSI,  FC  and  Local   •  Secondary  Storage   •  Zone  level  storage  for  template,  ISOs  and   snapshots   •  NFS  or  OpenStack  SwiY  via    CloudStack   System  VM   •  Templates  and  ISOs   •  Imported  into  CloudStack   •  Can  be  private  or  public   Understanding  roles  in  Storage     Zone   Secondary  Storage   Pod   Cluster     Host     Host   Primary  Storage   Template  
  • 20. Network  subsystem   •  Subsystem  func4ons   §  Networking  mul4-­‐tenancy   §  Provision  user  logic  network   §  Manage  physical/logical  network  configura4on   §  Provide  pluggable  framework  for  third-­‐party  vendors  
  • 21. CloudStack  Management  Network   Management   Server   System   VM   User   VM   172.16.0.10   172.16.0.15   172.16.0.20   Hypervisor  Host   Management  server  manages  physical  or   virtual  resource  through  management   network(s).     The  network  that  is  used  to  manage   hypervisor  host  can  be  different  to  the   network  that  is  used  to  management  system   VMs    
  • 22. Host  link-­‐local  network   Management   Server   System   VM   User   VM   172.16.0.10   172.16.0.15   Hypervisor  Host   169.254.0.1   169.254.0.10   Why  host  link  local  network?   •  For  hypervisor  hosts  that  have  co-­‐located   agent,  host  link-­‐local  network  can  reduce  IP   address  usage   •  Hypervisor  co-­‐located  agent/plugin  proxy   the  channel  between  virtual  resource   (system  VM)  and  management  server  
  • 23. Mul4-­‐tenancy:  L2  VLAN  isola4on   CloudStack  Management  Server   System   VM   Host   Dom0/ Kernel   Guest  VM   Hypervisor  Host   System   VM   Host   Dom0/ Kernel   Guest  VM   Hypervisor  Host   CloudStack  Management  Server   192.168.10.0/24   10.1.0.0/24  on  VLAN  100   10.1.0.0/24  on  VLAN  200  
  • 24. Mul4-­‐tenancy:  Security  group  isola4on   …   DB     Security   Group   Web   Security   Group   …   …   Web   VM   Web   VM   Web   VM   Web   VM   DB   VM   Web   VM   DB   VM   Web   VM  
  • 25. Network  Provisioning   NeworkGuru   GuestNetworkGuru   NetworkElement   VirtualRouterElement   NetScalarElement   RPC(Message  Bus)   Network  orchestra4on  flow   Network  Offering  DirectNetworkGuru   PhysicalNetwork   Configura4on   NetworkGuru    -­‐  helps  define,  implement  shared  or  a  tenant  guest  network  in  a  lazy  manner,    it  also  helps      perform  resource  (IP,  MAC  address,  SDN  tenant  ID)  management  in  various  orchestra4on      phases   NetworkElement  –  carries  on  network  related  ac4ons     PhysicalNetwork  –  defines  a  mapping  configura4on  to  help  map  logic  network  into  physical  infrastructure   Network  Offering  –  define  a  feature  set  template  for  guest  network,  help  instan4ate  network  instance  in  lazy      construc4on  stage    
  • 27. Offerings   •  Service  Offering   CPU  speed/CPU  core/Memory/HA/Rate  Limit/ Tags   •  Disk  Offering   Disk  size/Local  Storage/Tags   •  Network  Offering   Rate  limit/Traffic  Type/Isola4on  characteris4cs/ feature  masks     All  types  of  offerings  enable  CloudStack  to  instan4ated  related  object  in  a  lazy,     “fluid”  manner  
  • 28. Tags   •  Tagging  resource  objects(Host,  Storage,  etc)   •  Tagging  offering  objects(ServiceOffering,  DiskOffering,  etc)   Perform  loosely-­‐coupled  associa4on  between  objects,  typically  between  offering   Objects  and  resource  objects,  resource  allocators  can  take  advantage  of  the     associa4on  to  influent  alloca4on  affinity    
  • 30. CloudStack  System  VMs   •  System  VMs  op4mize  and  scale  the  data-­‐path  on  behalf  of  CloudStack   –  Stateless,  can  be  destroyed  and  recreated  from  database  state   –  Highly  Available   –  Communicates  with  Management  Server  over  management  network   –  Usually  have  3  interfaces:  control,  guest  and  public   •  Console  Proxy  VM     –  Provides  AJAX-­‐style  HTTP-­‐only  console  viewer   –  Grabs  VNC  output  from  hypervisor   –  Scales  out  (more  spawned)  as  load  increases   –  Java-­‐based  server  Communicates  with  MS  over  message  bus   •  Secondary  Storage  VM   –  Provides  image  (template)  management  services   –  Download  from  HTTP  file  share  or  SwiY   –  Copy  between  zones   –  Scale  out  to  handle  mul4ple  NFS  mounts   –  Java-­‐based  server  communicates  with  MS  over  message  bus  
  • 31. System  VM  contd   •  SSH  keys  and  password  are  unique  to  cloud   installa4on   •  Code  can  be  patched  by  restar4ng  system  vm   –  Mounts  a  special  ISO  file  with  latest  code  at  boot   –  If  ISO  contents  differ,  patch  and  reboot   •  Same  system  vm  works  on  XS,  KVM,  VMWare   –  Bootstrap  step  for  the  cloud  is  to  install  the  template   for  this  system  vm   •  Ready  to  be  re-­‐purposed  for  other  specialized   tasks    
  • 33. Architecture  refactoring   •  Good  about  CloudStack   Ø   Simplicity   Easy  to  understand     Easy  to  setup   Easy  to  operate   Out  of  box  solu4on  to  almost  any  Cloud,  from  private  to  public   cloud   •  Bad  about  CloudStack   Ø Tightly-­‐coupled   This  architecture  complain  is  being  addressed  in  Apache   CloudStack  community  
  • 34. Architecture  refactoring   •  Modular/Componen4za4on  refactoring   –  Build  system  to  maven   –  Adopt  Spring  Framework   •  Make  component  wiring  consistent  and  explicit   •  Loosely-­‐coupling   –  RPC/Message  Bus  improvement   •  Async  programming  model   –  AsyncCallFuture<T>   •  VM  state  sync  
  • 35. Architecture  refactoring   •  RPC/Message  Bus  improvement   –  Interface  binding   AgentManager/Listener    AgentManager  defines  the  RPC/Messaging  API,  users    of  RPC/  Messaging  implement  Listener  interface  and    expliclitly  bind  to    AgentManager   –  Topic  binding   Topic  constants    Users  subscribe  to  topic  itself,  publisher  and  subscriber  are        associated  indirectly  through  topic  constants     –  Hierarchical  topic  naming  conven4on   Topic  to  be  similar  as  DNS  names,  subscribers  at  higher  level  can  be   no4fied  for  down-­‐level  events   –  Transparently  extend  message  bus  to  cross  boundaries    
  • 36. Architecture  refactoring   •  Async  programming  model      public  void  installCallback()  {                    TestContext<String>  context  =  new  TestContext<String>(null);                    AsyncCallbackDispatcher<AsyncSampleEventDrivenStyleCaller,  Object>  caller  =            AsyncCallbackDispatcher.create(this);                     caller.setCallback(caller.getTarget().HandleVolumeCreateAsyncCallback(null,null)).setContext(context);                      String  test  =  "test";                        _ds.createVolumeAsync(test,  caller);                        Assert.assertEquals(test,  context.getResult());            }            protected  Void    HandleVolumeCreateAsyncCallback(AsyncCallbackDispatcher<AsyncSampleEventDrivenStyleCaller,        String>  callback,  TestContext<String>  context)  {                      String  resultVol  =  callback.getResult();                      context.setResult(resultVol);                      return  null;              }    
  • 37. Architecture  refactoring   •  AsyncCallFuture<T>  to  connect  sync  and  async  worlds    public  void  MethodThatWillCallAsyncMethod()  {              String  vol  =  new  String("Hello");            AsyncCallbackDispatcher<AsyncSampleEventDrivenStyleCaller,  Object>  caller  =   AsyncCallbackDispatcher.create(this);                    AsyncCallFuture<String>  future  =  _ds.createVolume(vol);                    try  {                            String  result  =  future.get();                            Assert.assertEquals(result,  vol);                    }  catch  (InterruptedExcepOon  e)  {                            //  TODO  Auto-­‐generated  catch  block                            e.printStackTrace();                    }  catch  (ExecuOonExcepOon  e)  {                            //  TODO  Auto-­‐generated  catch  block                            e.printStackTrace();                    }            }  
  • 38. Architecture  Refactoring   Current  VMSync  implementa?on   •  Basic  sync  unit  at  host/cluster  level   •  ini4alize  sync-­‐scope  at  startup  (full  sync)   •  monitor  and  smoothen  state  changes  and  perform  delta   reports   –  Resource  needs  to  know  about  CloudStack  specific  VM  state  like   migra4ng,  star4ng   –  Resource  needs  to  smoothen  state  report  in  reboo4ng  case,  if   reboot  is  issued  from  guest  OS   •  Threads  from  mul4ple  sources  may  collide  when   performing  state  changes   –  Thread  from  HA/State  recovery  procedure   –  Thread  from  API  request   –  Thread  from  Host  VM  state  report  
  • 39. Architecture  Refactoring   Basic  idea  of  VMSync  refactoring   •  Resource  agent  is  only  required  to  report  VM  raw   power  state   •  CloudStack  VM  state  transi4on  is  driven  by  state-­‐ transi4on  jobs,  avoid  mul4ple  non-­‐coorporated   driving  sources  (from  HA/API/sync  report)   •  Opera4on  job  on  a  VM  is  serialized  for  execu4on   •  Conflict  resolu4on   –  Automa4c  policy  (HA/force  sync)   –  Manual  policy  (Alerts,  Admin  interven4on,  user   acknowledgement  workflow)  
  • 40. Thank  you   •  Q/A   •  For  more  informa4on,  please  visit  h}p:// cloudstack.apache.org/