Posts Tagged ‘Service’

Hosting : Managed Hosting to innovate or to buy

Friday, March 23rd, 2012

It has been some time since I have written some commentary around the Managed Hosting and cloud industry in Australia. The following article is a follow up based on feedback about my previous article that can be seen here : Managed Hosting Innovate or Die.

So much of the feedback about the previous article focused on or around the following statement.. “if we are a small organisation we cannot afford to innovate. We can’t wait for customers to understand the technology, we have to have products that customers want today and let others innovate and develop markets and then compete on service quality”. It is a fair comment or statement about small businesses and innovation. I want to address that in detail with the following article. Then address the side issues around that stream of discussion. Particularly is it cheaper to innovate or to buy a solution to fit into an already mature market?.

It is unlikely that I will be breaking any new ground around what is innovation so I will be quick to clear up the specifics around this industry.. Innovation can take many forms and does not always mean that you have to write software or develop your own custom platform.. In this article I will focus on the customer service and platform areas.

“We are a small organisation, we cannot afford to innovate”

I find these types of statements a knee jerk reaction to not really understanding the different ways that organisations can innovate and stay in front of the market. Small businesses are generally much more agile and more capable to make strategic changes to their business. A small business should be able to adjust their customer support models to really grow with customers very easily. As organisations increase in size the ability to change quickly or develop new support models becomes increasingly difficult. It’s one thing to have a new product set, its another thing entirely to have the support team to support it. The saying, “You can’t teach an old dog new tricks” really sums up the problem that many large organisations have when adapting to new markets. It’s often far easier for large organisations to acquire a competitor than to develop the products internally simply because they are not geared for the innovation happening at speed in the smaller organisations. See IBM’s purchase of Softlayer or Verizon’s purchase of Terremark as further evidence.

“We can’t wait for customers to understand the technology”

This really depends on the market place that you and your customers are in. If you want to be in the industry hosting mobile web services, or other emerging markets then often your customers will understand the technology before you do.. The challenge is to know which battles you need to fight. As a small organisation so many of the technology choices that your customers want will have viable production ready open source products already in that market space. The challenge is finding the one that you can use and make your own. It’s inexpensive to outsource the development of a new web interface to an existing product using services like eLancer or Freelancer. Most good quality open source products use API’s to make the integration with other software easy.. Back to the point.. knowing your market and customers is critical to know that you have demand. As a small organisation you should be able to still have personal contact with your customers.. use that to anticipate their requirements.

“we have to have products that customers want today and let others innovate and develop markets and then compete on service quality”

This is really the follow on from the above point. If you can anticipate your customers need then they could be there for you when you have your products ready. Once you start to have customers asking for technology the time-to-deliver that technology is often 6months+ for most organisations. If your customers have to wait 6 months for their platform to work they will go elsewhere. Allowing others to develop the market means that it’s very hard for your customers to return once they have left. Companies like Amazon have proprietary tools and services that make it very difficult to move away, it is both a strength and a weakness of developing your applications for Amazon. It is exactly this reason why OpenStack is so important in the industry.. It forces organisations to compete on service because the base product is the same. At any time customers can move providers and leverage the same tools and API’s. OpenStack is to the cloud what a standard electrical plug is to the house hold. The ability to swap out the appliance or move provider (in this analogy power plug) is a critical part of the industry becoming very competitive. OpenStack will force providers to differentiate on service, performance, bandwidth, security or whatever else.. This opens up a whole set of niche markets to smaller players which can be very profitable. It’s these types of open source projects which are changing the industry. In this particular scenario you are leveraging thousands of other peoples innovation at the platform level so that you can focus on providing an awesome service that your customer will want to buy.. Having the competition in the market place gives you an edge to take customers from competitors if you do an awesome job.

With that in mind.. Do you innovate, build your own market or do you buy your platform off the shelf and then innovate with service levels. That’s an age old question and something that I will not be able to tell you the right or wrong answer for your business. What I can hopefully do is provide you with some additional insights into where the market is going and the questions you need to ask.

Managed hosting as a concept is really now about Managed Cloud. That comes in several different forms but the reality is most people have the following definitions of what that means.. Here are the three main ones.

  • Managed platform as a service (PaaS), they provide the visualization layer and the operating system. You support the OS and application stack. (Amazon)
  • Fully Managed hosting, they provide the visualization layer, the operating system and support and monitor your application stack. (Rackspace)
  • Software as a Service (SaaS).. This is where someone will provide you with an application as a part of their service. (BitBucket) you just pay to have your requirement and they manage everything else.

There is one thing that all of these companies have in common.. despite being in completely separate markets.. they have all built their own platform that leverages open source. So you can’t build your own platform from the ground up? you Don’t have a large team of expert developers?.. so what can you do.. The answer is buy and off the shelf product or leverage an open source product to build your own platform.. This strategy results in it’s own set of problems which I will outline now.. skills

Understanding the skill set that your organisation has is critical to making the right choice about innovation. I will paint a quick picture which may give you a better idea of why the skills question should be the first one that you ask yourself… What if staff member x gets hit buy a bus, can we continue to operate our business.. it’s an often overlooked question when talking about technology.. In any good business with multiple staff members it’s critical to have redundancy, if you have one person in the organisation that knows everything that is a huge risk.. if you have two people then the risk is reduced.. Once you have established that you have the skills that can build, maintain, scale and support the platform then you need to have staff that know how to sell the platform with a clear go to market strategy. If you have the right skills the next question is.. do we need to have someone to call as an escalation point when something breaks. If the answer is yes then you almost certainly have to buy an off the shelf product.. If you have the skills to build and support the platform yourself then the likely hood is that your staff are capable of being able to fix the problems yourself.. If they are problems with the software then your staff should be able to raise bugs and or find contractors to fix the problems themselves.

If you do not have the skills then there are a whole heap of questions that you need to have answers to before you proceed down the path of developing a new product. Are the vendors that you are using to supply your platform scalable, and do they have high quality support that you can leverage 24/7 (remember the Internet does not sleep). A big challenge that I have seen for many off the shelf products is that they are not economical to scale. Products like vmware esx and virtual center become increasingly expensive as they need to scale. For those of you familiar with these products and disagree here is my logic. If I buy a few ESX servers I can manage them individually.. Once the number increases I need to buy virtual center licenses which requires a Microsoft Windows Server 2008 R2 license and Microsoft SQL Server licenses for the database. Once you have that you can manage a certain number of systems before you need to increase the size of those systems to accommodate for the additional load caused by increased demand. As you have increased demand you need to start looking at Microsoft Clustering which requires enterprise licenses. To be a true cloud provider you need to provide your customers with an API/Web based GUI for them manage their infrastructure. So you need to have vCloud which is an additional licensed component. To integrate all the authentication you also need to now have a Microsoft Active Directory which needs to run on separate infrastructure. All these licenses all quickly add up to being a very significant investment. That does not even include the hardware layer which underpins the whole environment/platform.  Let’s compare that to the Microsoft Hyper-V based vitalization platform you have a copy of Windows 2008 data-center edition which gives you the hypervisor and unlimited* virtual machines that can run Windows.. That is a huge saving in itself but you still need to have Microsoft’s management tools to replace the functionality of Virtual Center and the patching infrastructure that comes with Virtual Center.. Once you have all of that the upfront costs work out to be fairly similar. The saving comes in the overall platform cost because your Windows guest licensing is significantly reduced. However there is a better solution which says good bye to the traditional mind set and leverages open source entirely.

Using open source gives you a foot print and scale that is impossible with the off the shelf technologies. It is optional to buy support for most high quality open source products. Using OpenStack you have a full function, fully featured free replacement to Virtual Center. It is not the only option there is Eucalyptus, OpenQRM, CloudStack and many more. You then need to chose your hypervisor to integrate. Redhat have a highly supported RHEV product which is significantly more competitive in price than ESX. However there are numerous free ones which integrate just as well. Ubuntu LTS is probably the best choice for most people as it is backed by a company and has extensive testing so you do not have to take a gamble. If you need support you can buy support for that system. Once you have Ubuntu LTS there are two different visualization technologies that you can use XEN or KVM. Using KVM is probably a better bet given that there is increased development focus within the Linux community. Total software costs to setup a minimum viable product $0. With that saving you can then invest in buying high quality servers and storage to underpin your platform. You are already ahead of the organisation that has just spent $10,000+ on their software stack. Your minimum viable product is now more functional and significantly cheaper to launch. There are cloud platforms using OpenStack low end HP DL series servers with local disk out performing competing solutions leveraging vmware and EMC Storage… Additionally if you leverage open stack you have the capability to really deliver a functional Amazon competitor very easily.

This then introduces the question.. What is cloud? There is a whole world of marketing hype that adds to the confusion about what is cloud.. here we define cloud as utility computing built by components that can plug together to create services. Utility computing is the same as buying electricity off the grid.. when you need it, you can get it.. You need more you buy more.. that is a key differentiator when compared to traditional managed hosting. To make cloud work you need to shift the paradigm in the way that you think about solutions from a traditional monolithic design to one that is component driven. What does that mean? A traditional monolithic application has a core web page, generally a database and a place to store files that users or content creators upload. The problem with the monolithic design is that it is very expensive to scale because the application needs to be designed to scale up not out. It’s generally much cheaper to buy 4 x servers with 4core processors than to buy a 1 x 4 socket 4 core system. In the scale out design you now have 4 servers to manage, but you also have n+3 for redundancy. The way that this works in the cloud is to leverage three or four different components that all plug together to scale out rather than scale up.. these components are compute, object storage, load balancers and databases. So what you ask? They are the similar logical components to a monolithic application.. lets look at the following list to describe it

  • Compute = A server with an OS
  • Object Storage = a place to write attachments and other content
  • Load balancers = to distribute the load across multiple servers
  • Database = to create a place to link all the data together and store other relational information

So what has changed? The key components here is that in the monolithic application you would have to keep scaling out the cost of your compute and storage to continually manage the load that your end users give you. Cloud changes that in that if you design your application to leverage the cloud technology you no longer write to a file system.. you write to an object store which is via a web api (usually REST). Instead of having to manage a database server you write to a database service.. Instead of having to manage a load balancer you simply buy a virtual IP. It’s this flexibility that allows you to keep your costs to a minimum by scaling out not up. Using technology like Cloud files or Object storage it means that you can easily burst up and add more web servers and not have to copy the files across to every new server. It gives you a single point of contact for your content without the need to keep buying more disks and managing the failures. If you are smart you can write your application to leverage these technologies and at the same time keep your costs and operational overheads to a minimum. Why does this matter for the Innovation discussion.. the answer is simple.. When you are looking to buy an off the shelf product that makes a cloud you need to know what use cases your customers have and the skill level of your engineers, support staff and sales teams. There is no single off the shelf solution that gives you a turn key cloud platform.. no matter what happens you will need to integrate differing technologies to create a platform that customers will want to buy.. It’s down to your choice to find out what balance of off the shelf vs build that you can handle successfully and that your customers will love to use.