Making Stuff Better ThroughMaking Stuff Better Through
CloudstackCloudstack
Deploying cloud-based phone systems
• IT Service Provider
• Mobile, WAN, Telephony, Datacentres, Managed Services
• One of the UK’s largest Mitel Phone System resellers
• Lead Data Analytics Team
– Software Development
– Monitoring & Data
– IT Architecture
• Built our ACS platform in 2013
• Areas of Interest
– Making things better through technology
– Building great teams
• Member of the Data Analytics Team (joined in January)
• Proud father of two
• Ph.D. in Computer Science
• Areas of interest
– Software Engineering
– Security/Data Privacy
– Automation/Integration
– Scalability
– System Architecture
• New to cloudstack
• Mitel licensing changes allowed for consumption-based
usage
• Using a 3rd
party to host cloud-based Mitel systems
• Decided to host in-house
• Needed to be VMWare
• Existing Cloudstack platform was chosen
– more because we had high hopes for the possibilities rather than us
actually knowing how we would do things 
• Apache Cloudstack
• (with support from Shape Blue)
• VMWare ESXi (Xen too)
• Brocade Switches
• Netapp Storage
• Mitel virtual appliances
– Custom Linux builds
– Some Windows
• Our own MPLS network plus direct carrier integration
• VPC per customer
• Or across two Zones for a resilient option
• Up to 25 virtual machines across two Zones
• SIP and WAN networks delivered to each VPC
• 180+ firewall rules
• Hosted on traditional VMWare
• Required lots of resource
– Network x2
– Virtualisation
– Mitel
– PM
• Too many handoffs between teams
• Manual builds
• Too much TIME!
• API driven deployments
• Simple UI for Mitel Engineers to do the (almost) full deploy
• Cut down on handoffs
• Build in repeatability
• Simplify the options
• Hosted on Cloudstack
• Requires LESS resource
– Network x 1
– Mitel
• Automated infrastructure builds (mostly)
• Automation of core network
• Configuration of Mitel appliances
• Replication
• Modifications
• Upgrades
• Fast
• Consistent
• Cost-effective (less people, faster)
• Autonomy for the Mitel team
• Driving Innovation
– Automation
– Challenging existing thought processes
• Breaking down tech silos
• Written in PHP
• Running against cloudstack 4.5
• Based on: https://github.com/qpleple/cloudstack-php-client
code stats
integration tests
unit tests
• API-driven model is awesome
• API documentation covers all API services and their fields
• Asynchronous calls
• Resilient API service
• Use of identifier everywhere but for account
• API-driven but it is getting messy
– Create a VM: 33 fields
– List VMs: 62 fields (top level only)
• Documentation:
– No definition of each type of field
– individual APIs do not state whether they are async or not
– Basic description per field (typos)
• We would still use
cloudstack but …
• Handles thecreationofmost cloudstackcomponents
• Handles thedependencies among resources
• Allows modifications of deployments
• Run as a daemon/service (cli application instead)
• Manage:
– domains
– accounts
– users
• Report progress during a run (feed UI)
• Any Questions?

CloudStack EU User Group - Making stuff better through CloudStack

  • 1.
    Making Stuff BetterThroughMaking Stuff Better Through CloudstackCloudstack Deploying cloud-based phone systems
  • 2.
    • IT ServiceProvider • Mobile, WAN, Telephony, Datacentres, Managed Services • One of the UK’s largest Mitel Phone System resellers
  • 3.
    • Lead DataAnalytics Team – Software Development – Monitoring & Data – IT Architecture • Built our ACS platform in 2013 • Areas of Interest – Making things better through technology – Building great teams
  • 4.
    • Member ofthe Data Analytics Team (joined in January) • Proud father of two • Ph.D. in Computer Science • Areas of interest – Software Engineering – Security/Data Privacy – Automation/Integration – Scalability – System Architecture • New to cloudstack
  • 5.
    • Mitel licensingchanges allowed for consumption-based usage • Using a 3rd party to host cloud-based Mitel systems • Decided to host in-house • Needed to be VMWare • Existing Cloudstack platform was chosen – more because we had high hopes for the possibilities rather than us actually knowing how we would do things 
  • 6.
    • Apache Cloudstack •(with support from Shape Blue) • VMWare ESXi (Xen too) • Brocade Switches • Netapp Storage • Mitel virtual appliances – Custom Linux builds – Some Windows • Our own MPLS network plus direct carrier integration
  • 7.
    • VPC percustomer • Or across two Zones for a resilient option • Up to 25 virtual machines across two Zones • SIP and WAN networks delivered to each VPC • 180+ firewall rules
  • 8.
    • Hosted ontraditional VMWare • Required lots of resource – Network x2 – Virtualisation – Mitel – PM • Too many handoffs between teams • Manual builds • Too much TIME!
  • 9.
    • API drivendeployments • Simple UI for Mitel Engineers to do the (almost) full deploy • Cut down on handoffs • Build in repeatability • Simplify the options
  • 10.
    • Hosted onCloudstack • Requires LESS resource – Network x 1 – Mitel • Automated infrastructure builds (mostly)
  • 11.
    • Automation ofcore network • Configuration of Mitel appliances • Replication • Modifications • Upgrades
  • 12.
    • Fast • Consistent •Cost-effective (less people, faster) • Autonomy for the Mitel team • Driving Innovation – Automation – Challenging existing thought processes • Breaking down tech silos
  • 16.
    • Written inPHP • Running against cloudstack 4.5 • Based on: https://github.com/qpleple/cloudstack-php-client code stats integration tests unit tests
  • 17.
    • API-driven modelis awesome • API documentation covers all API services and their fields • Asynchronous calls • Resilient API service
  • 18.
    • Use ofidentifier everywhere but for account • API-driven but it is getting messy – Create a VM: 33 fields – List VMs: 62 fields (top level only) • Documentation: – No definition of each type of field – individual APIs do not state whether they are async or not – Basic description per field (typos)
  • 20.
    • We wouldstill use cloudstack but …
  • 21.
    • Handles thecreationofmostcloudstackcomponents • Handles thedependencies among resources • Allows modifications of deployments
  • 23.
    • Run asa daemon/service (cli application instead) • Manage: – domains – accounts – users • Report progress during a run (feed UI)
  • 24.