SlideShare a Scribd company logo
1 of 58
Download to read offline
CloudStack-UI
Ilya Zolotukhin, Product Team Leader, Bitworks
mailto: zolotukhin_ii@bitworks.software
https://bitworks.software/
CSEUUG Meetup, August 17, 2017
Apache CloudStack user self-service web interface for IaaS and
application delivery services
Agenda
1. About the speaker
2. Origins - how and why we decided to
develop the product
3. Current problems of the native ACS UI as
our users and helpdesks see them
4. Comparison - native vs CloudStack-UI
5. UX Goals: Simplicity, Early Errors
Detection, Intuitive Navigation, Less Steps
6. Domains
7. Where the project moves
8. The role of tags for the product
9. Pluggable infrastructure
a. Shell In A Box plugin
b. Pulse plugin
c. Vault plugin
10. Application delivery (and CICD)
development
11. Development process - work on
features, bugs, release cycles
12. Development roadmap
13. Product difficulties and ACS advices
14. Team
15. About Bitworks
16. Thank you slide
2
1. Team Leader at Bitworks
a. 3 Years of full-stack development
b. 3 Years of front-end development for
AdTech Industry
2. Front-End consultant
About the Speaker
Who is it?
3
Why We Develop CloudStack-UI
1. Educational “Incubator” for new teammates
2. Our affiliate ISP company uses ACS and has collected broad
experience over 3 years of service delivery:
a. We have a Project Sponsor
b. We have an understanding of what shortcomings the
current UI has and what features and UX our competitors
provide (AWS, DO, etc.)
c. Affiliate company plans to launch new ACS-based cloud
3. As a software development company, we understand jQuery is
not a good choice any longer for current web UI and new
adopters try to stay away from it (why not just change the
current layout?).
4
Current Problems of Native ACS
UI From User’s Perspective
1. Difficult to learn and remember how to run operations (even for
Basic Zone). E.g. to make a template from a snapshot
2. Old-fashioned (competes poorly against AWS, DO, GCP)
3. First glance disappointments
a. rookie administrators (who deploy ACS for the first time)
b. newbie users who come from AWS, DO, GCP, etc
5
Current Problems of Native ACS
UI From HelpDesk Perspective
1. Difficult to learn and remember how to run operations (even for
Basic Zone). E.g. to make a template from a snapshot
2. Troublesome phone-based consultations (it’s difficult to explain
where to navigate, what input to find, and change)
3. Troublesome ticket-based consultations (no way to remember
the state)
6
CloudStack-UI vs Native ACS UI (I)
Feature CS-UI Native
UI Credo 1. Better UX
2. User’s needs first
3. Simplify navigation
1. Reflect API fully
2. ER-based navigation design
3. Administrator needs first
Purpose Cloud Users Cloud Administrators
Cloud Users
Care Helpful, protective. Advanced client-side
logic. Tries to avoid error situations and
explains errors if possible.
Careless (let’s try it and see what happens).
Almost server-side error detection.
Business
logic
“Thinks” about cloud from the business
logic point of view (e.g. default service
offerings)
Just reflects technology to UI
7
CloudStack-UI vs Native ACS UI (II)
Feature CS-UI Native
Look & Feel Modern Material (Google) design,
responsive (PC, Tablets), fits great for
“tap-ish” devices.
Custom design, sometimes old-fashioned,
designed for PC.
Redesign proposal (ACS 4.3 - 2013, not implemented):
https://cwiki.apache.org/confluence/display/CLOUDST
ACK/Update+UI+visual+appearance
Navigation State reflection to URL (History API) No reflection (makes life of HelpDesk difficult)
Technology 1. Angular v4 https://angular.io/
2. TypeScript
3. Material Design (Look & Feel)
https://material.angular.io/
1. No framework
2. JavaScript
3. jQuery
Deployment Dockerized SPA Embedded
8
CloudStack-UI vs Native ACS UI (III)
Feature CS-UI Native
Future
Supportability
Uses modern Angular
framework which is expected to
be used for the next 6-7 years
(angular.js - 2009-2016)
Custom jQuery-based framework
Maturity Rookie Mature
Adoption None High
License Apache License v2 Apache License v2
9
Native UI VM Creation
10
Every State is Represented with a Permalink
11
https://cs.ui/instances?
zones=031a55bb-5d6b-4336-ab93-d5dead28a887&groups=www&states=Running&groupings=zones&groupings=groups
UX Goals: Simplicity, Early Errors Detection,
Intuitive Navigation, Less Steps
12
UX Goals: Simplicity, Early Errors Detection,
Intuitive Navigation, Less Steps
13
UX Goals: Simplicity, Early Errors Detection,
Intuitive Navigation, Less Steps
14
UX Goals: Simplicity, Early Errors Detection,
Intuitive Navigation, Less Steps
15
UX Goals: Simplicity, Early Errors Detection,
Intuitive Navigation, Less Steps
16
UX Goals: Simplicity, Early Errors Detection,
Intuitive Navigation, Less Steps
17
UX Goals: Simplicity, Early Errors Detection,
Intuitive Navigation, Less Steps
18
UX Goals: Simplicity, Early Errors Detection,
Intuitive Navigation, Less Steps
19
UX Goals: Simplicity, Early Errors Detection,
Intuitive Navigation, Less Steps
20
UX Goals: Simplicity, Early Errors Detection,
Intuitive Navigation, Less Steps
21
UX Goals: Simplicity, Early Errors Detection,
Intuitive Navigation, Less Steps
22
UX Goals: Simplicity, Early Errors Detection,
Intuitive Navigation, Less Steps
23
UX Goals: Simplicity, Early Errors Detection,
Intuitive Navigation, Less Steps
24
Security Group Review: Single SG per VM -
Useful For Average Cloud Users
25
Security Group Review: Single SG per VM -
Useful For Average Cloud Users
26
Security Group Review: Single SG per VM -
Useful For Average Cloud Users
27
Domain
Improvements
28
3 ways to specify a default domain:
1. URL Query params
2. Config (config.json)
(deployment)
3. Type it on the Login Page
The Role of ACS Tags in CloudStack-UI
29
Tags are widely used
1. user - preferences, localization, theming, plugins
2. vm - helpers, colors, description, grouping, plugins
3. volume - marking for removal
4. SG - distinguish between SG templates and actual SGs,
marking for removal
5. template - helpers
Suffer from:
1. tag values are too short (255 chars max)
2. no account tags
The Role of ACS Tags in CloudStack-UI
Where do we use tags?
1. VM
a. Instance group
b. UI-specific settings. i.e. color, description
2. Snapshot description
3. Template download URL
4. User
a. Language
b. Time format
c. Interface color
5. Volume description
6. Plugins
a. WebShell
b. Pulse
30
The Role of ACS Tags in CloudStack-UI
[cloudstack-ui-cleaner]
31
Current cleaner implementation is naive. Need to
reimplement with event subscription.
The Role of ACS Tags in CloudStack-UI:
[cloudstack-ui-cleaner]
32
Lack of delete chain operations for VM:
1. for SGs
2. Snapshots
3. Disks
4. Anything else?
markResourceAutoExpunge?resource=sg&id=<sgid>&vm=<vmid>
Suggestion:
The Role of ACS Tags in CloudStack-UI.
An Example of Tags Usage for VMs
33
Suggestion:
Add option to API to copy tags from template to VM
Extensions Ecosystem: ACS Umbrella
34
Extension Plugin: Pulse
35
Extension Plugin: Pulse
36
Pulse:
CPU/RAM
37
38
Disk: read/write/errors Network: read/write/errors/drops
Extension Plugin: Shell In A Box
39
Shell In A Box: Benefits
40
● High Interactivity
● Copy & Paste
● Automatic session termination on inactivity
timeout
● No out-of-band access
TODO:
● Vault plugin integration (passwordless SSH)
● Control-centre (SSH-sessions multiplexor)
Shell In A Box: Use of Tags
41
Shell In A Box: Console View
42
Extension (Vault) = Philosophy
43
Vault: Purpose
44
● CMDB (Configuration Management Database) implementation
● Tag service replacement for native ACS (because native ACS
tags lack functionality)
● Two-way secure communication for VM <-> CMDB (via Vault’s
tokens, scopes, ACLs)
● One-time tokens for Webshell (private SSH keys storage,
passwordless SSH access)
● The basis for Applications plugin
Vault: Technology
45
Thoughts on Project Direction
46
Project Direction - Traditional IaaS vs IaC
(CCA). More and More Users Don’t Need
VMs - They Need:
47
Applications
1. deployed (templates)
2. configured (templates)
3. upgraded (seamlessly)
4. monitored (visually)
5. troubleshot (visually)
6. backed up and restored (automatically)
7. optimized (performance / price optimization)
Decrease costs and simplify all mentioned above (DIY approach)
OK. Sure, traditional users are still here (corporate users)
Development Process
1. Agile + Scrum + ZenHub
2. 2-week sprints
3. peer-to-peer code review
48
Development Process
49
Development Process
50
Development Process
1. Public:
a. Docker hub releases ( https://hub.docker.com/r/bwsw/cloudstack-ui )
■ docker pull bwsw/cloudstack-ui:latest
■ docker pull bwsw/cloudstack-ui:[version]
b. Travis CI
2. Private: Jenkins
a. Docker per-branch testing and deployment
■ http://sandbox-url/[branch-name]
51
Difficulties: ACS Advices
1. Missing fields in responses
a. RestoreVM - missing jobinstancetype and jobinstanceid
2. Lowercase
a. <jobstatus>
b. <jobprocstatus>
c. <jobresultcode>
d. <jobresulttype>
3. Some responses contain <success>true</success> , while others contain entity
4. No Error codes
5. Strange naming
a. UserVm instead of VirtualMachine (tags)
b. getVMPassword, cleanVMReservationsCleanups
52
Difficulties: ACS Advices
1. Schedule format in createSnapshot is confusing
2. Results don't contain all necessary fields:
3. templatefilter is required in listTemplates, while isofilter is
optional in listIsos
4. Tag operations are asynchronous (require polling)
5. Arrays in "list" responses are named inconsistently. For example,
listVirtualMachines returns <virtualmachine>, while
listAsyncJobs returns <asyncjobs>
6. Some of trues in { success: true } are strings “true” and some are
booleans
53
Core Development Team
1. Ivan Kudryavtsev - Product Owner
2. Elena Ershova - Project Manager
3. Ilya Zolotukhin - me (technical consulting, review, PM)
4. Developers:
a. Andrey Bents
b. Vladimir Shakhov
(3 more developers and a QA-engineer help when available)
54
About Bitworks Software
55
● Telecommunications
(ISP, XaaS, HPC)
● AdTech
● FinTech (NASDAQ
technologies)
● Pharmaceutical (medical
data processing, machine
learning models)
● IoT
● Backend (Scala, Java,
Python, Go)
● Frontend (Angular.js,
Angular, React)
● QA (automation, manual)
● ML/ETL (Apache Spark,
TensorFlow, etc.)
● Project Management
(Scrum)
About Bitworks Software
56
WWW:
https://bitworks.software/en
Corporate Presentation:
https://goo.gl/uYCzGu
Please, ask for a free USB flash stick
with the presentation if you are
interested (we have some)
E-mail:
info@bitworks.software
Many Thanks to Organizers
57
The End
Questions?
58

More Related Content

What's hot

CCNA17 KVM and CloudStack
CCNA17 KVM and CloudStackCCNA17 KVM and CloudStack
CCNA17 KVM and CloudStackShapeBlue
 
CCCNA17 Reliable Host Fencing
CCCNA17 Reliable Host FencingCCCNA17 Reliable Host Fencing
CCCNA17 Reliable Host FencingShapeBlue
 
CCNA17 CloudStack and NFV
CCNA17 CloudStack and NFVCCNA17 CloudStack and NFV
CCNA17 CloudStack and NFVShapeBlue
 
CloudStack EU user group - Trillian
CloudStack EU user group - TrillianCloudStack EU user group - Trillian
CloudStack EU user group - TrillianShapeBlue
 
Paul Angus - CloudStack Backup and Recovery Framework
Paul Angus - CloudStack Backup and Recovery FrameworkPaul Angus - CloudStack Backup and Recovery Framework
Paul Angus - CloudStack Backup and Recovery FrameworkShapeBlue
 
CloudStack usage service
CloudStack usage serviceCloudStack usage service
CloudStack usage serviceShapeBlue
 
Customising the CloudStack UI - CloudStack European User Group Virtual, May 2...
Customising the CloudStack UI - CloudStack European User Group Virtual, May 2...Customising the CloudStack UI - CloudStack European User Group Virtual, May 2...
Customising the CloudStack UI - CloudStack European User Group Virtual, May 2...ShapeBlue
 
New stuff in CloudStack!
New stuff in CloudStack!New stuff in CloudStack!
New stuff in CloudStack!ShapeBlue
 
Giles Sirett: Introduction and CloudStack news
Giles Sirett: Introduction and CloudStack news   Giles Sirett: Introduction and CloudStack news
Giles Sirett: Introduction and CloudStack news ShapeBlue
 
Boris Stoyanov - some new features in Apache cloudStack
Boris Stoyanov - some new features in Apache cloudStackBoris Stoyanov - some new features in Apache cloudStack
Boris Stoyanov - some new features in Apache cloudStackShapeBlue
 
Paul Angus – Backup & Recovery in CloudStack
Paul Angus – Backup & Recovery in CloudStackPaul Angus – Backup & Recovery in CloudStack
Paul Angus – Backup & Recovery in CloudStackShapeBlue
 
Monitoring CloudStack and components
Monitoring CloudStack and componentsMonitoring CloudStack and components
Monitoring CloudStack and componentsShapeBlue
 
Cloudstack container service
Cloudstack container serviceCloudstack container service
Cloudstack container serviceShapeBlue
 
CloudStack news
CloudStack newsCloudStack news
CloudStack newsShapeBlue
 
Introduction and CloudStack news
Introduction and CloudStack newsIntroduction and CloudStack news
Introduction and CloudStack newsShapeBlue
 
Dag Sonstebo - CloudStack usage service
Dag Sonstebo - CloudStack usage serviceDag Sonstebo - CloudStack usage service
Dag Sonstebo - CloudStack usage serviceShapeBlue
 
CloudStack and testing
CloudStack and testingCloudStack and testing
CloudStack and testingShapeBlue
 
CloudStack Container Service
CloudStack Container ServiceCloudStack Container Service
CloudStack Container ServiceShapeBlue
 
Using the KVMhypervisor in CloudStack
Using the KVMhypervisor in CloudStackUsing the KVMhypervisor in CloudStack
Using the KVMhypervisor in CloudStackShapeBlue
 
Paul Angus: CloudStack new UI (Primate)
Paul Angus: CloudStack new UI (Primate)Paul Angus: CloudStack new UI (Primate)
Paul Angus: CloudStack new UI (Primate)ShapeBlue
 

What's hot (20)

CCNA17 KVM and CloudStack
CCNA17 KVM and CloudStackCCNA17 KVM and CloudStack
CCNA17 KVM and CloudStack
 
CCCNA17 Reliable Host Fencing
CCCNA17 Reliable Host FencingCCCNA17 Reliable Host Fencing
CCCNA17 Reliable Host Fencing
 
CCNA17 CloudStack and NFV
CCNA17 CloudStack and NFVCCNA17 CloudStack and NFV
CCNA17 CloudStack and NFV
 
CloudStack EU user group - Trillian
CloudStack EU user group - TrillianCloudStack EU user group - Trillian
CloudStack EU user group - Trillian
 
Paul Angus - CloudStack Backup and Recovery Framework
Paul Angus - CloudStack Backup and Recovery FrameworkPaul Angus - CloudStack Backup and Recovery Framework
Paul Angus - CloudStack Backup and Recovery Framework
 
CloudStack usage service
CloudStack usage serviceCloudStack usage service
CloudStack usage service
 
Customising the CloudStack UI - CloudStack European User Group Virtual, May 2...
Customising the CloudStack UI - CloudStack European User Group Virtual, May 2...Customising the CloudStack UI - CloudStack European User Group Virtual, May 2...
Customising the CloudStack UI - CloudStack European User Group Virtual, May 2...
 
New stuff in CloudStack!
New stuff in CloudStack!New stuff in CloudStack!
New stuff in CloudStack!
 
Giles Sirett: Introduction and CloudStack news
Giles Sirett: Introduction and CloudStack news   Giles Sirett: Introduction and CloudStack news
Giles Sirett: Introduction and CloudStack news
 
Boris Stoyanov - some new features in Apache cloudStack
Boris Stoyanov - some new features in Apache cloudStackBoris Stoyanov - some new features in Apache cloudStack
Boris Stoyanov - some new features in Apache cloudStack
 
Paul Angus – Backup & Recovery in CloudStack
Paul Angus – Backup & Recovery in CloudStackPaul Angus – Backup & Recovery in CloudStack
Paul Angus – Backup & Recovery in CloudStack
 
Monitoring CloudStack and components
Monitoring CloudStack and componentsMonitoring CloudStack and components
Monitoring CloudStack and components
 
Cloudstack container service
Cloudstack container serviceCloudstack container service
Cloudstack container service
 
CloudStack news
CloudStack newsCloudStack news
CloudStack news
 
Introduction and CloudStack news
Introduction and CloudStack newsIntroduction and CloudStack news
Introduction and CloudStack news
 
Dag Sonstebo - CloudStack usage service
Dag Sonstebo - CloudStack usage serviceDag Sonstebo - CloudStack usage service
Dag Sonstebo - CloudStack usage service
 
CloudStack and testing
CloudStack and testingCloudStack and testing
CloudStack and testing
 
CloudStack Container Service
CloudStack Container ServiceCloudStack Container Service
CloudStack Container Service
 
Using the KVMhypervisor in CloudStack
Using the KVMhypervisor in CloudStackUsing the KVMhypervisor in CloudStack
Using the KVMhypervisor in CloudStack
 
Paul Angus: CloudStack new UI (Primate)
Paul Angus: CloudStack new UI (Primate)Paul Angus: CloudStack new UI (Primate)
Paul Angus: CloudStack new UI (Primate)
 

Similar to Apache CloudStack UI With Modern UX

Single page applications
Single page applicationsSingle page applications
Single page applicationsDiego Cardozo
 
Spring boot microservice metrics monitoring
Spring boot   microservice metrics monitoringSpring boot   microservice metrics monitoring
Spring boot microservice metrics monitoringOracle Korea
 
Spring Boot - Microservice Metrics Monitoring
Spring Boot - Microservice Metrics MonitoringSpring Boot - Microservice Metrics Monitoring
Spring Boot - Microservice Metrics MonitoringDonghuKIM2
 
Scaling Application
Scaling ApplicationScaling Application
Scaling ApplicationAlaor Bianco
 
Operational Visibiliy and Analytics - BU Seminar
Operational Visibiliy and Analytics - BU SeminarOperational Visibiliy and Analytics - BU Seminar
Operational Visibiliy and Analytics - BU SeminarCanturk Isci
 
JSS build and deployment
JSS build and deploymentJSS build and deployment
JSS build and deploymentDavid Szöke
 
Application cloudification with liberty and urban code deploy - UCD
Application cloudification with liberty and urban code deploy - UCDApplication cloudification with liberty and urban code deploy - UCD
Application cloudification with liberty and urban code deploy - UCDDavide Veronese
 
Cloud-native Java EE-volution
Cloud-native Java EE-volutionCloud-native Java EE-volution
Cloud-native Java EE-volutionQAware GmbH
 
PratheshBV_Resume
PratheshBV_ResumePratheshBV_Resume
PratheshBV_Resumepradeesh bv
 
Jak nie zwariować z architekturą Serverless?
Jak nie zwariować z architekturą Serverless?Jak nie zwariować z architekturą Serverless?
Jak nie zwariować z architekturą Serverless?The Software House
 
Bring-your-ML-Project-into-Production-v2.pdf
Bring-your-ML-Project-into-Production-v2.pdfBring-your-ML-Project-into-Production-v2.pdf
Bring-your-ML-Project-into-Production-v2.pdfLiang Yan
 
Sergey Ilinsky Presentation Ample Sdk
Sergey Ilinsky Presentation Ample SdkSergey Ilinsky Presentation Ample Sdk
Sergey Ilinsky Presentation Ample SdkAjax Experience 2009
 
The Happy Path: Migration Strategies for Node.js
The Happy Path: Migration Strategies for Node.jsThe Happy Path: Migration Strategies for Node.js
The Happy Path: Migration Strategies for Node.jsNicholas Jansma
 
20211202 NADOG Adapting to Covid with Serverless Craeg Strong Ariel Partners
20211202 NADOG Adapting to Covid with Serverless Craeg Strong Ariel Partners20211202 NADOG Adapting to Covid with Serverless Craeg Strong Ariel Partners
20211202 NADOG Adapting to Covid with Serverless Craeg Strong Ariel PartnersCraeg Strong
 
dan_labrecque_web_resume
dan_labrecque_web_resumedan_labrecque_web_resume
dan_labrecque_web_resumeDan Labrecque
 
Synopsis on online shopping by sudeep singh
Synopsis on online shopping by  sudeep singhSynopsis on online shopping by  sudeep singh
Synopsis on online shopping by sudeep singhSudeep Singh
 
Azure presentation nnug dec 2010
Azure presentation nnug  dec 2010Azure presentation nnug  dec 2010
Azure presentation nnug dec 2010Ethos Technologies
 
What's new in Portal and WCM 8.5
What's new in Portal and WCM 8.5What's new in Portal and WCM 8.5
What's new in Portal and WCM 8.5Vinayak Tavargeri
 

Similar to Apache CloudStack UI With Modern UX (20)

Single page applications
Single page applicationsSingle page applications
Single page applications
 
Spring boot microservice metrics monitoring
Spring boot   microservice metrics monitoringSpring boot   microservice metrics monitoring
Spring boot microservice metrics monitoring
 
Spring Boot - Microservice Metrics Monitoring
Spring Boot - Microservice Metrics MonitoringSpring Boot - Microservice Metrics Monitoring
Spring Boot - Microservice Metrics Monitoring
 
micro-frontends-with-vuejs
micro-frontends-with-vuejsmicro-frontends-with-vuejs
micro-frontends-with-vuejs
 
Scaling Application
Scaling ApplicationScaling Application
Scaling Application
 
Operational Visibiliy and Analytics - BU Seminar
Operational Visibiliy and Analytics - BU SeminarOperational Visibiliy and Analytics - BU Seminar
Operational Visibiliy and Analytics - BU Seminar
 
Chinnasamy Manickam
Chinnasamy ManickamChinnasamy Manickam
Chinnasamy Manickam
 
JSS build and deployment
JSS build and deploymentJSS build and deployment
JSS build and deployment
 
Application cloudification with liberty and urban code deploy - UCD
Application cloudification with liberty and urban code deploy - UCDApplication cloudification with liberty and urban code deploy - UCD
Application cloudification with liberty and urban code deploy - UCD
 
Cloud-native Java EE-volution
Cloud-native Java EE-volutionCloud-native Java EE-volution
Cloud-native Java EE-volution
 
PratheshBV_Resume
PratheshBV_ResumePratheshBV_Resume
PratheshBV_Resume
 
Jak nie zwariować z architekturą Serverless?
Jak nie zwariować z architekturą Serverless?Jak nie zwariować z architekturą Serverless?
Jak nie zwariować z architekturą Serverless?
 
Bring-your-ML-Project-into-Production-v2.pdf
Bring-your-ML-Project-into-Production-v2.pdfBring-your-ML-Project-into-Production-v2.pdf
Bring-your-ML-Project-into-Production-v2.pdf
 
Sergey Ilinsky Presentation Ample Sdk
Sergey Ilinsky Presentation Ample SdkSergey Ilinsky Presentation Ample Sdk
Sergey Ilinsky Presentation Ample Sdk
 
The Happy Path: Migration Strategies for Node.js
The Happy Path: Migration Strategies for Node.jsThe Happy Path: Migration Strategies for Node.js
The Happy Path: Migration Strategies for Node.js
 
20211202 NADOG Adapting to Covid with Serverless Craeg Strong Ariel Partners
20211202 NADOG Adapting to Covid with Serverless Craeg Strong Ariel Partners20211202 NADOG Adapting to Covid with Serverless Craeg Strong Ariel Partners
20211202 NADOG Adapting to Covid with Serverless Craeg Strong Ariel Partners
 
dan_labrecque_web_resume
dan_labrecque_web_resumedan_labrecque_web_resume
dan_labrecque_web_resume
 
Synopsis on online shopping by sudeep singh
Synopsis on online shopping by  sudeep singhSynopsis on online shopping by  sudeep singh
Synopsis on online shopping by sudeep singh
 
Azure presentation nnug dec 2010
Azure presentation nnug  dec 2010Azure presentation nnug  dec 2010
Azure presentation nnug dec 2010
 
What's new in Portal and WCM 8.5
What's new in Portal and WCM 8.5What's new in Portal and WCM 8.5
What's new in Portal and WCM 8.5
 

More from ShapeBlue

CloudStack Authentication Methods – Harikrishna Patnala, ShapeBlue
CloudStack Authentication Methods – Harikrishna Patnala, ShapeBlueCloudStack Authentication Methods – Harikrishna Patnala, ShapeBlue
CloudStack Authentication Methods – Harikrishna Patnala, ShapeBlueShapeBlue
 
CloudStack Tooling Ecosystem – Kiran Chavala, ShapeBlue
CloudStack Tooling Ecosystem – Kiran Chavala, ShapeBlueCloudStack Tooling Ecosystem – Kiran Chavala, ShapeBlue
CloudStack Tooling Ecosystem – Kiran Chavala, ShapeBlueShapeBlue
 
Elevating Cloud Infrastructure with Object Storage, DRS, VM Scheduling, and D...
Elevating Cloud Infrastructure with Object Storage, DRS, VM Scheduling, and D...Elevating Cloud Infrastructure with Object Storage, DRS, VM Scheduling, and D...
Elevating Cloud Infrastructure with Object Storage, DRS, VM Scheduling, and D...ShapeBlue
 
VM Migration from VMware to CloudStack and KVM – Suresh Anaparti, ShapeBlue
VM Migration from VMware to CloudStack and KVM – Suresh Anaparti, ShapeBlueVM Migration from VMware to CloudStack and KVM – Suresh Anaparti, ShapeBlue
VM Migration from VMware to CloudStack and KVM – Suresh Anaparti, ShapeBlueShapeBlue
 
How We Grew Up with CloudStack and its Journey – Dilip Singh, DataHub
How We Grew Up with CloudStack and its Journey – Dilip Singh, DataHubHow We Grew Up with CloudStack and its Journey – Dilip Singh, DataHub
How We Grew Up with CloudStack and its Journey – Dilip Singh, DataHubShapeBlue
 
What’s New in CloudStack 4.19, Abhishek Kumar, Release Manager Apache CloudSt...
What’s New in CloudStack 4.19, Abhishek Kumar, Release Manager Apache CloudSt...What’s New in CloudStack 4.19, Abhishek Kumar, Release Manager Apache CloudSt...
What’s New in CloudStack 4.19, Abhishek Kumar, Release Manager Apache CloudSt...ShapeBlue
 
CloudStack 101: The Best Way to Build Your Private Cloud – Rohit Yadav, VP Ap...
CloudStack 101: The Best Way to Build Your Private Cloud – Rohit Yadav, VP Ap...CloudStack 101: The Best Way to Build Your Private Cloud – Rohit Yadav, VP Ap...
CloudStack 101: The Best Way to Build Your Private Cloud – Rohit Yadav, VP Ap...ShapeBlue
 
How We Use CloudStack to Provide Managed Hosting - Swen Brüseke - proIO
How We Use CloudStack to Provide Managed Hosting - Swen Brüseke - proIOHow We Use CloudStack to Provide Managed Hosting - Swen Brüseke - proIO
How We Use CloudStack to Provide Managed Hosting - Swen Brüseke - proIOShapeBlue
 
Enabling DPU Hardware Accelerators in XCP-ng Cloud Platform Environment - And...
Enabling DPU Hardware Accelerators in XCP-ng Cloud Platform Environment - And...Enabling DPU Hardware Accelerators in XCP-ng Cloud Platform Environment - And...
Enabling DPU Hardware Accelerators in XCP-ng Cloud Platform Environment - And...ShapeBlue
 
Zero to Cloud Hero: Crafting a Private Cloud from Scratch with XCP-ng, Xen Or...
Zero to Cloud Hero: Crafting a Private Cloud from Scratch with XCP-ng, Xen Or...Zero to Cloud Hero: Crafting a Private Cloud from Scratch with XCP-ng, Xen Or...
Zero to Cloud Hero: Crafting a Private Cloud from Scratch with XCP-ng, Xen Or...ShapeBlue
 
KVM Security Groups Under the Hood - Wido den Hollander - Your.Online
KVM Security Groups Under the Hood - Wido den Hollander - Your.OnlineKVM Security Groups Under the Hood - Wido den Hollander - Your.Online
KVM Security Groups Under the Hood - Wido den Hollander - Your.OnlineShapeBlue
 
How to Re-use Old Hardware with CloudStack. Saving Money and the Environment ...
How to Re-use Old Hardware with CloudStack. Saving Money and the Environment ...How to Re-use Old Hardware with CloudStack. Saving Money and the Environment ...
How to Re-use Old Hardware with CloudStack. Saving Money and the Environment ...ShapeBlue
 
Use Existing Assets to Build a Powerful In-house Cloud Solution - Magali Perv...
Use Existing Assets to Build a Powerful In-house Cloud Solution - Magali Perv...Use Existing Assets to Build a Powerful In-house Cloud Solution - Magali Perv...
Use Existing Assets to Build a Powerful In-house Cloud Solution - Magali Perv...ShapeBlue
 
Import Export Virtual Machine for KVM Hypervisor - Ayush Pandey - University ...
Import Export Virtual Machine for KVM Hypervisor - Ayush Pandey - University ...Import Export Virtual Machine for KVM Hypervisor - Ayush Pandey - University ...
Import Export Virtual Machine for KVM Hypervisor - Ayush Pandey - University ...ShapeBlue
 
DRaaS using Snapshot copy and destination selection (DRaaS) - Alexandre Matti...
DRaaS using Snapshot copy and destination selection (DRaaS) - Alexandre Matti...DRaaS using Snapshot copy and destination selection (DRaaS) - Alexandre Matti...
DRaaS using Snapshot copy and destination selection (DRaaS) - Alexandre Matti...ShapeBlue
 
Mitigating Common CloudStack Instance Deployment Failures - Jithin Raju - Sha...
Mitigating Common CloudStack Instance Deployment Failures - Jithin Raju - Sha...Mitigating Common CloudStack Instance Deployment Failures - Jithin Raju - Sha...
Mitigating Common CloudStack Instance Deployment Failures - Jithin Raju - Sha...ShapeBlue
 
Elevating Privacy and Security in CloudStack - Boris Stoyanov - ShapeBlue
Elevating Privacy and Security in CloudStack - Boris Stoyanov - ShapeBlueElevating Privacy and Security in CloudStack - Boris Stoyanov - ShapeBlue
Elevating Privacy and Security in CloudStack - Boris Stoyanov - ShapeBlueShapeBlue
 
Transitioning from VMware vCloud to Apache CloudStack: A Path to Profitabilit...
Transitioning from VMware vCloud to Apache CloudStack: A Path to Profitabilit...Transitioning from VMware vCloud to Apache CloudStack: A Path to Profitabilit...
Transitioning from VMware vCloud to Apache CloudStack: A Path to Profitabilit...ShapeBlue
 
Hypervisor Agnostic DRS in CloudStack - Brief overview & demo - Vishesh Jinda...
Hypervisor Agnostic DRS in CloudStack - Brief overview & demo - Vishesh Jinda...Hypervisor Agnostic DRS in CloudStack - Brief overview & demo - Vishesh Jinda...
Hypervisor Agnostic DRS in CloudStack - Brief overview & demo - Vishesh Jinda...ShapeBlue
 
What’s New in CloudStack 4.19 - Abhishek Kumar - ShapeBlue
What’s New in CloudStack 4.19 - Abhishek Kumar - ShapeBlueWhat’s New in CloudStack 4.19 - Abhishek Kumar - ShapeBlue
What’s New in CloudStack 4.19 - Abhishek Kumar - ShapeBlueShapeBlue
 

More from ShapeBlue (20)

CloudStack Authentication Methods – Harikrishna Patnala, ShapeBlue
CloudStack Authentication Methods – Harikrishna Patnala, ShapeBlueCloudStack Authentication Methods – Harikrishna Patnala, ShapeBlue
CloudStack Authentication Methods – Harikrishna Patnala, ShapeBlue
 
CloudStack Tooling Ecosystem – Kiran Chavala, ShapeBlue
CloudStack Tooling Ecosystem – Kiran Chavala, ShapeBlueCloudStack Tooling Ecosystem – Kiran Chavala, ShapeBlue
CloudStack Tooling Ecosystem – Kiran Chavala, ShapeBlue
 
Elevating Cloud Infrastructure with Object Storage, DRS, VM Scheduling, and D...
Elevating Cloud Infrastructure with Object Storage, DRS, VM Scheduling, and D...Elevating Cloud Infrastructure with Object Storage, DRS, VM Scheduling, and D...
Elevating Cloud Infrastructure with Object Storage, DRS, VM Scheduling, and D...
 
VM Migration from VMware to CloudStack and KVM – Suresh Anaparti, ShapeBlue
VM Migration from VMware to CloudStack and KVM – Suresh Anaparti, ShapeBlueVM Migration from VMware to CloudStack and KVM – Suresh Anaparti, ShapeBlue
VM Migration from VMware to CloudStack and KVM – Suresh Anaparti, ShapeBlue
 
How We Grew Up with CloudStack and its Journey – Dilip Singh, DataHub
How We Grew Up with CloudStack and its Journey – Dilip Singh, DataHubHow We Grew Up with CloudStack and its Journey – Dilip Singh, DataHub
How We Grew Up with CloudStack and its Journey – Dilip Singh, DataHub
 
What’s New in CloudStack 4.19, Abhishek Kumar, Release Manager Apache CloudSt...
What’s New in CloudStack 4.19, Abhishek Kumar, Release Manager Apache CloudSt...What’s New in CloudStack 4.19, Abhishek Kumar, Release Manager Apache CloudSt...
What’s New in CloudStack 4.19, Abhishek Kumar, Release Manager Apache CloudSt...
 
CloudStack 101: The Best Way to Build Your Private Cloud – Rohit Yadav, VP Ap...
CloudStack 101: The Best Way to Build Your Private Cloud – Rohit Yadav, VP Ap...CloudStack 101: The Best Way to Build Your Private Cloud – Rohit Yadav, VP Ap...
CloudStack 101: The Best Way to Build Your Private Cloud – Rohit Yadav, VP Ap...
 
How We Use CloudStack to Provide Managed Hosting - Swen Brüseke - proIO
How We Use CloudStack to Provide Managed Hosting - Swen Brüseke - proIOHow We Use CloudStack to Provide Managed Hosting - Swen Brüseke - proIO
How We Use CloudStack to Provide Managed Hosting - Swen Brüseke - proIO
 
Enabling DPU Hardware Accelerators in XCP-ng Cloud Platform Environment - And...
Enabling DPU Hardware Accelerators in XCP-ng Cloud Platform Environment - And...Enabling DPU Hardware Accelerators in XCP-ng Cloud Platform Environment - And...
Enabling DPU Hardware Accelerators in XCP-ng Cloud Platform Environment - And...
 
Zero to Cloud Hero: Crafting a Private Cloud from Scratch with XCP-ng, Xen Or...
Zero to Cloud Hero: Crafting a Private Cloud from Scratch with XCP-ng, Xen Or...Zero to Cloud Hero: Crafting a Private Cloud from Scratch with XCP-ng, Xen Or...
Zero to Cloud Hero: Crafting a Private Cloud from Scratch with XCP-ng, Xen Or...
 
KVM Security Groups Under the Hood - Wido den Hollander - Your.Online
KVM Security Groups Under the Hood - Wido den Hollander - Your.OnlineKVM Security Groups Under the Hood - Wido den Hollander - Your.Online
KVM Security Groups Under the Hood - Wido den Hollander - Your.Online
 
How to Re-use Old Hardware with CloudStack. Saving Money and the Environment ...
How to Re-use Old Hardware with CloudStack. Saving Money and the Environment ...How to Re-use Old Hardware with CloudStack. Saving Money and the Environment ...
How to Re-use Old Hardware with CloudStack. Saving Money and the Environment ...
 
Use Existing Assets to Build a Powerful In-house Cloud Solution - Magali Perv...
Use Existing Assets to Build a Powerful In-house Cloud Solution - Magali Perv...Use Existing Assets to Build a Powerful In-house Cloud Solution - Magali Perv...
Use Existing Assets to Build a Powerful In-house Cloud Solution - Magali Perv...
 
Import Export Virtual Machine for KVM Hypervisor - Ayush Pandey - University ...
Import Export Virtual Machine for KVM Hypervisor - Ayush Pandey - University ...Import Export Virtual Machine for KVM Hypervisor - Ayush Pandey - University ...
Import Export Virtual Machine for KVM Hypervisor - Ayush Pandey - University ...
 
DRaaS using Snapshot copy and destination selection (DRaaS) - Alexandre Matti...
DRaaS using Snapshot copy and destination selection (DRaaS) - Alexandre Matti...DRaaS using Snapshot copy and destination selection (DRaaS) - Alexandre Matti...
DRaaS using Snapshot copy and destination selection (DRaaS) - Alexandre Matti...
 
Mitigating Common CloudStack Instance Deployment Failures - Jithin Raju - Sha...
Mitigating Common CloudStack Instance Deployment Failures - Jithin Raju - Sha...Mitigating Common CloudStack Instance Deployment Failures - Jithin Raju - Sha...
Mitigating Common CloudStack Instance Deployment Failures - Jithin Raju - Sha...
 
Elevating Privacy and Security in CloudStack - Boris Stoyanov - ShapeBlue
Elevating Privacy and Security in CloudStack - Boris Stoyanov - ShapeBlueElevating Privacy and Security in CloudStack - Boris Stoyanov - ShapeBlue
Elevating Privacy and Security in CloudStack - Boris Stoyanov - ShapeBlue
 
Transitioning from VMware vCloud to Apache CloudStack: A Path to Profitabilit...
Transitioning from VMware vCloud to Apache CloudStack: A Path to Profitabilit...Transitioning from VMware vCloud to Apache CloudStack: A Path to Profitabilit...
Transitioning from VMware vCloud to Apache CloudStack: A Path to Profitabilit...
 
Hypervisor Agnostic DRS in CloudStack - Brief overview & demo - Vishesh Jinda...
Hypervisor Agnostic DRS in CloudStack - Brief overview & demo - Vishesh Jinda...Hypervisor Agnostic DRS in CloudStack - Brief overview & demo - Vishesh Jinda...
Hypervisor Agnostic DRS in CloudStack - Brief overview & demo - Vishesh Jinda...
 
What’s New in CloudStack 4.19 - Abhishek Kumar - ShapeBlue
What’s New in CloudStack 4.19 - Abhishek Kumar - ShapeBlueWhat’s New in CloudStack 4.19 - Abhishek Kumar - ShapeBlue
What’s New in CloudStack 4.19 - Abhishek Kumar - ShapeBlue
 

Recently uploaded

Pigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping ElbowsPigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping ElbowsPigging Solutions
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonetsnaman860154
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationMichael W. Hawkins
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountPuma Security, LLC
 
Hyderabad Call Girls Khairatabad ✨ 7001305949 ✨ Cheap Price Your Budget
Hyderabad Call Girls Khairatabad ✨ 7001305949 ✨ Cheap Price Your BudgetHyderabad Call Girls Khairatabad ✨ 7001305949 ✨ Cheap Price Your Budget
Hyderabad Call Girls Khairatabad ✨ 7001305949 ✨ Cheap Price Your BudgetEnjoy Anytime
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slidespraypatel2
 
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure serviceWhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure servicePooja Nehwal
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking MenDelhi Call girls
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesSinan KOZAK
 
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Patryk Bandurski
 
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersEnhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersThousandEyes
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024Scott Keck-Warren
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticscarlostorres15106
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Scott Keck-Warren
 
Pigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions
 
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsMemoori
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsEnterprise Knowledge
 
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024BookNet Canada
 

Recently uploaded (20)

Pigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping ElbowsPigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping Elbows
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 
The transition to renewables in India.pdf
The transition to renewables in India.pdfThe transition to renewables in India.pdf
The transition to renewables in India.pdf
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
Vulnerability_Management_GRC_by Sohang Sengupta.pptx
Vulnerability_Management_GRC_by Sohang Sengupta.pptxVulnerability_Management_GRC_by Sohang Sengupta.pptx
Vulnerability_Management_GRC_by Sohang Sengupta.pptx
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path Mount
 
Hyderabad Call Girls Khairatabad ✨ 7001305949 ✨ Cheap Price Your Budget
Hyderabad Call Girls Khairatabad ✨ 7001305949 ✨ Cheap Price Your BudgetHyderabad Call Girls Khairatabad ✨ 7001305949 ✨ Cheap Price Your Budget
Hyderabad Call Girls Khairatabad ✨ 7001305949 ✨ Cheap Price Your Budget
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slides
 
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure serviceWhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen Frames
 
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
 
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersEnhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024
 
Pigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food Manufacturing
 
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial Buildings
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
 
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
 

Apache CloudStack UI With Modern UX

  • 1. CloudStack-UI Ilya Zolotukhin, Product Team Leader, Bitworks mailto: zolotukhin_ii@bitworks.software https://bitworks.software/ CSEUUG Meetup, August 17, 2017 Apache CloudStack user self-service web interface for IaaS and application delivery services
  • 2. Agenda 1. About the speaker 2. Origins - how and why we decided to develop the product 3. Current problems of the native ACS UI as our users and helpdesks see them 4. Comparison - native vs CloudStack-UI 5. UX Goals: Simplicity, Early Errors Detection, Intuitive Navigation, Less Steps 6. Domains 7. Where the project moves 8. The role of tags for the product 9. Pluggable infrastructure a. Shell In A Box plugin b. Pulse plugin c. Vault plugin 10. Application delivery (and CICD) development 11. Development process - work on features, bugs, release cycles 12. Development roadmap 13. Product difficulties and ACS advices 14. Team 15. About Bitworks 16. Thank you slide 2
  • 3. 1. Team Leader at Bitworks a. 3 Years of full-stack development b. 3 Years of front-end development for AdTech Industry 2. Front-End consultant About the Speaker Who is it? 3
  • 4. Why We Develop CloudStack-UI 1. Educational “Incubator” for new teammates 2. Our affiliate ISP company uses ACS and has collected broad experience over 3 years of service delivery: a. We have a Project Sponsor b. We have an understanding of what shortcomings the current UI has and what features and UX our competitors provide (AWS, DO, etc.) c. Affiliate company plans to launch new ACS-based cloud 3. As a software development company, we understand jQuery is not a good choice any longer for current web UI and new adopters try to stay away from it (why not just change the current layout?). 4
  • 5. Current Problems of Native ACS UI From User’s Perspective 1. Difficult to learn and remember how to run operations (even for Basic Zone). E.g. to make a template from a snapshot 2. Old-fashioned (competes poorly against AWS, DO, GCP) 3. First glance disappointments a. rookie administrators (who deploy ACS for the first time) b. newbie users who come from AWS, DO, GCP, etc 5
  • 6. Current Problems of Native ACS UI From HelpDesk Perspective 1. Difficult to learn and remember how to run operations (even for Basic Zone). E.g. to make a template from a snapshot 2. Troublesome phone-based consultations (it’s difficult to explain where to navigate, what input to find, and change) 3. Troublesome ticket-based consultations (no way to remember the state) 6
  • 7. CloudStack-UI vs Native ACS UI (I) Feature CS-UI Native UI Credo 1. Better UX 2. User’s needs first 3. Simplify navigation 1. Reflect API fully 2. ER-based navigation design 3. Administrator needs first Purpose Cloud Users Cloud Administrators Cloud Users Care Helpful, protective. Advanced client-side logic. Tries to avoid error situations and explains errors if possible. Careless (let’s try it and see what happens). Almost server-side error detection. Business logic “Thinks” about cloud from the business logic point of view (e.g. default service offerings) Just reflects technology to UI 7
  • 8. CloudStack-UI vs Native ACS UI (II) Feature CS-UI Native Look & Feel Modern Material (Google) design, responsive (PC, Tablets), fits great for “tap-ish” devices. Custom design, sometimes old-fashioned, designed for PC. Redesign proposal (ACS 4.3 - 2013, not implemented): https://cwiki.apache.org/confluence/display/CLOUDST ACK/Update+UI+visual+appearance Navigation State reflection to URL (History API) No reflection (makes life of HelpDesk difficult) Technology 1. Angular v4 https://angular.io/ 2. TypeScript 3. Material Design (Look & Feel) https://material.angular.io/ 1. No framework 2. JavaScript 3. jQuery Deployment Dockerized SPA Embedded 8
  • 9. CloudStack-UI vs Native ACS UI (III) Feature CS-UI Native Future Supportability Uses modern Angular framework which is expected to be used for the next 6-7 years (angular.js - 2009-2016) Custom jQuery-based framework Maturity Rookie Mature Adoption None High License Apache License v2 Apache License v2 9
  • 10. Native UI VM Creation 10
  • 11. Every State is Represented with a Permalink 11 https://cs.ui/instances? zones=031a55bb-5d6b-4336-ab93-d5dead28a887&groups=www&states=Running&groupings=zones&groupings=groups
  • 12. UX Goals: Simplicity, Early Errors Detection, Intuitive Navigation, Less Steps 12
  • 13. UX Goals: Simplicity, Early Errors Detection, Intuitive Navigation, Less Steps 13
  • 14. UX Goals: Simplicity, Early Errors Detection, Intuitive Navigation, Less Steps 14
  • 15. UX Goals: Simplicity, Early Errors Detection, Intuitive Navigation, Less Steps 15
  • 16. UX Goals: Simplicity, Early Errors Detection, Intuitive Navigation, Less Steps 16
  • 17. UX Goals: Simplicity, Early Errors Detection, Intuitive Navigation, Less Steps 17
  • 18. UX Goals: Simplicity, Early Errors Detection, Intuitive Navigation, Less Steps 18
  • 19. UX Goals: Simplicity, Early Errors Detection, Intuitive Navigation, Less Steps 19
  • 20. UX Goals: Simplicity, Early Errors Detection, Intuitive Navigation, Less Steps 20
  • 21. UX Goals: Simplicity, Early Errors Detection, Intuitive Navigation, Less Steps 21
  • 22. UX Goals: Simplicity, Early Errors Detection, Intuitive Navigation, Less Steps 22
  • 23. UX Goals: Simplicity, Early Errors Detection, Intuitive Navigation, Less Steps 23
  • 24. UX Goals: Simplicity, Early Errors Detection, Intuitive Navigation, Less Steps 24
  • 25. Security Group Review: Single SG per VM - Useful For Average Cloud Users 25
  • 26. Security Group Review: Single SG per VM - Useful For Average Cloud Users 26
  • 27. Security Group Review: Single SG per VM - Useful For Average Cloud Users 27
  • 28. Domain Improvements 28 3 ways to specify a default domain: 1. URL Query params 2. Config (config.json) (deployment) 3. Type it on the Login Page
  • 29. The Role of ACS Tags in CloudStack-UI 29 Tags are widely used 1. user - preferences, localization, theming, plugins 2. vm - helpers, colors, description, grouping, plugins 3. volume - marking for removal 4. SG - distinguish between SG templates and actual SGs, marking for removal 5. template - helpers Suffer from: 1. tag values are too short (255 chars max) 2. no account tags
  • 30. The Role of ACS Tags in CloudStack-UI Where do we use tags? 1. VM a. Instance group b. UI-specific settings. i.e. color, description 2. Snapshot description 3. Template download URL 4. User a. Language b. Time format c. Interface color 5. Volume description 6. Plugins a. WebShell b. Pulse 30
  • 31. The Role of ACS Tags in CloudStack-UI [cloudstack-ui-cleaner] 31 Current cleaner implementation is naive. Need to reimplement with event subscription.
  • 32. The Role of ACS Tags in CloudStack-UI: [cloudstack-ui-cleaner] 32 Lack of delete chain operations for VM: 1. for SGs 2. Snapshots 3. Disks 4. Anything else? markResourceAutoExpunge?resource=sg&id=<sgid>&vm=<vmid> Suggestion:
  • 33. The Role of ACS Tags in CloudStack-UI. An Example of Tags Usage for VMs 33 Suggestion: Add option to API to copy tags from template to VM
  • 38. 38 Disk: read/write/errors Network: read/write/errors/drops
  • 39. Extension Plugin: Shell In A Box 39
  • 40. Shell In A Box: Benefits 40 ● High Interactivity ● Copy & Paste ● Automatic session termination on inactivity timeout ● No out-of-band access TODO: ● Vault plugin integration (passwordless SSH) ● Control-centre (SSH-sessions multiplexor)
  • 41. Shell In A Box: Use of Tags 41
  • 42. Shell In A Box: Console View 42
  • 43. Extension (Vault) = Philosophy 43
  • 44. Vault: Purpose 44 ● CMDB (Configuration Management Database) implementation ● Tag service replacement for native ACS (because native ACS tags lack functionality) ● Two-way secure communication for VM <-> CMDB (via Vault’s tokens, scopes, ACLs) ● One-time tokens for Webshell (private SSH keys storage, passwordless SSH access) ● The basis for Applications plugin
  • 46. Thoughts on Project Direction 46
  • 47. Project Direction - Traditional IaaS vs IaC (CCA). More and More Users Don’t Need VMs - They Need: 47 Applications 1. deployed (templates) 2. configured (templates) 3. upgraded (seamlessly) 4. monitored (visually) 5. troubleshot (visually) 6. backed up and restored (automatically) 7. optimized (performance / price optimization) Decrease costs and simplify all mentioned above (DIY approach) OK. Sure, traditional users are still here (corporate users)
  • 48. Development Process 1. Agile + Scrum + ZenHub 2. 2-week sprints 3. peer-to-peer code review 48
  • 51. Development Process 1. Public: a. Docker hub releases ( https://hub.docker.com/r/bwsw/cloudstack-ui ) ■ docker pull bwsw/cloudstack-ui:latest ■ docker pull bwsw/cloudstack-ui:[version] b. Travis CI 2. Private: Jenkins a. Docker per-branch testing and deployment ■ http://sandbox-url/[branch-name] 51
  • 52. Difficulties: ACS Advices 1. Missing fields in responses a. RestoreVM - missing jobinstancetype and jobinstanceid 2. Lowercase a. <jobstatus> b. <jobprocstatus> c. <jobresultcode> d. <jobresulttype> 3. Some responses contain <success>true</success> , while others contain entity 4. No Error codes 5. Strange naming a. UserVm instead of VirtualMachine (tags) b. getVMPassword, cleanVMReservationsCleanups 52
  • 53. Difficulties: ACS Advices 1. Schedule format in createSnapshot is confusing 2. Results don't contain all necessary fields: 3. templatefilter is required in listTemplates, while isofilter is optional in listIsos 4. Tag operations are asynchronous (require polling) 5. Arrays in "list" responses are named inconsistently. For example, listVirtualMachines returns <virtualmachine>, while listAsyncJobs returns <asyncjobs> 6. Some of trues in { success: true } are strings “true” and some are booleans 53
  • 54. Core Development Team 1. Ivan Kudryavtsev - Product Owner 2. Elena Ershova - Project Manager 3. Ilya Zolotukhin - me (technical consulting, review, PM) 4. Developers: a. Andrey Bents b. Vladimir Shakhov (3 more developers and a QA-engineer help when available) 54
  • 55. About Bitworks Software 55 ● Telecommunications (ISP, XaaS, HPC) ● AdTech ● FinTech (NASDAQ technologies) ● Pharmaceutical (medical data processing, machine learning models) ● IoT ● Backend (Scala, Java, Python, Go) ● Frontend (Angular.js, Angular, React) ● QA (automation, manual) ● ML/ETL (Apache Spark, TensorFlow, etc.) ● Project Management (Scrum)
  • 56. About Bitworks Software 56 WWW: https://bitworks.software/en Corporate Presentation: https://goo.gl/uYCzGu Please, ask for a free USB flash stick with the presentation if you are interested (we have some) E-mail: info@bitworks.software
  • 57. Many Thanks to Organizers 57