In our previous posts we’ve examined a specific segment of the Asterisk Business eco-system – the long distance calling services (calling cards, callback, etc). While we’ve examined 2 specific models of operation, indicating the pros and cons of this business case – we shall now talk not about a specific case, but more about the requirements for building a specific type of voip business.
The cloud movement
Businesses world wide are moving to cloud based infastructure. To be completely open about it, the entire world is looking at the cloud model with great revrence and sometimes I don’t see what they see. When it comes to IaaS platforms, like Amazon, GCE, Digital Ocean – I can totally see it. When it comes to SaaS or PaaS, to an old IBM Main Frame guy like myself – I’m truly getting CICS and SNA flashbacks. Regardless of my personal thoughts, it is clear the world is moving rapidly into cloud based services and telephony is no different. IP Centrex, VoIP Cloud, Cloud PBX, all of the above had become day to day concepts and paradigm in the ever shifting world of telecommunications. Thus, many entrapanours are looking to open their own VoIP Cloud offering – sometimes without even understanding what the task may require of them.
Cloud Telephony Services – here is your lineup
The main categories of cloud telephony include the following (while excluding ifbyphone/tropo/twilio style services):
- 1. Dedicated Hosted PBX
- 2. Shared Hosted PBX
- 3. IP Centrex
To the naked eye, the functionality is very much similar – however, from an operational and backoffice point of view – these differ emensly.
Dedicated Hosted vs. Shared Hosted
It may seem totally redundant to discuss this, however, the difference between the two is crucial. Unlike the difference between dedicated servers and VPS servers, the primary discussion here would be – what type of resources are allocated to our PBX systems and how these are controlled. In order to distinguish between the two, lets put some basic guidelines for our comparison (in order to make our comparison fair):
- 1. Both platforms are hosted via a virtualization container (VMWARE, XEN, Amazon EC2, Azure, Digital Ocean, etc)
- 2. Both platforms are capable of allocating shared resources and dedicated resources as required
- 3. Both platforms are based on relatively similar commodity available hardware
- 4. Both platforms utilize the same type of storage device (regardless of its actual type)
At this point, we need to discuss the primary difference between a shared environment and a dedicated environment. When a virtualization platform creates an instance, it will usually allocate it resources from a pre-defined resource allocation pool. Depending on the platform, this pool may define what resources are available to the grand pool or at the singular instance level. For the sake of argument, let us assume that our resource pool has the following resource allocation to it:
- 1. 256GB of RAM
- 2. 32 Physical Processor Cores (equal to 64 Virtual Cores – as a rule of thumb)
- 3. 2TB of storage
- 4. 4Gbps of network uplink
- 5. 100Mbps of internet uplink
So, let’s imagine we would like to build a shared hosted PBX environment. We know that in order to support a medium size PBX system (100 extensions), if we would have used real hardware, a dual-core processor would be enough, with 4GB RAM and at least 80GB of hard drive. Let’s say that we don’t over allocate our resources in the shared virtual space, thus, we would be able to host at least 32 PBX systems. These will consume 64GB out of the 256GB available – so basically, apart from processor power – we are very much in lined with the platform.It’s a fact, most shared PBX providers will over-book their systems, normally by at least 40%, sometimes by even 100%. They do that because they know that not all systems will utilize all power at the same time, thus, statistically speaking, they should be just fine.
So, in a shared environment, according to the above we’ll be able to host 64 PBX systems – or maybe even more, while in a dedicated resources sceanrio we’ll be able to use 32 PBX systems, or less, depending on the requirements for each PBX system.
Pick your schtick!
Now, it is very easy to fall into the “over subscription” state of mind, as most ISPs in the world operate. “Over subscription” is very much similar to air lines methodology of over booking your flight, they sell too many tickets for the same flight – under the assumption that a few people may not show up, a few may cancel, a few would be willing to wait for the next day for some compensation (depending on flights class), etc, etc, etc. When you think about it, over-booking is acutally a type of SLA and revenue assurance, not from the customer’s point of view, but from the provider’s point of view. “I over subscribe, so even if I need to compensate someone, I’m always at a profit gain”. The problem with online services, voice related ones specifically is, we never really know when we might need those dedicated resources, or what is our service providers ability to supply more resources. As a potential “Asterisk Business” – you must take these into account and make sure that your ability to allocate resources is sufficiant and easy.
Let’s face it, rendering a good service is hard, rendering an amazing service is virtually impossible. It is all a question of planning, business model and most importantly – staying candid with your customers. For example, if you give them a Hosted PBX for 5$ a month, but your overall bandwidth is already 400% over subscribed, your virtualization environment is 350% over subscribed – you are basically taking their money, but are only able to supply a full services only 25% of the time – at best. Staying true means the following, set yourself with some specific guidelines as to how you utilize your systems, make sure you stick to those and don’t let anything allow you to go under these.