We can argue what the cloud is and when it was actually created but this guy does a good job giving a quick history of cloud computing. In summary, in 2002 Amazon started their web services offering with just storage and computation. It wasn’t until 2006 when they launched their elastic compute cloud and revolutionized the way everything works on the Internet today. To me, cloud means a subscription based service that has unlimited scalability.
Since 2006, a lot of others have been trying to compete with Amazon and bring a competitive cloud offering to market. Some have been successful and some have failed but to this date Amazon is by far the leader in this space. Many enterprises and even government is starting to slowly adapt the cloud while others want complete control of their environment and are trying to build a private cloud.
Regardless if you’re trying to build a public, private, or hybrid cloud, there are 3 key components needed to make this happen:
1) Hypervisor or Virtual Machine. This component takes care of bootstrapping the virtual servers. Examples are Xen, KVM, VMWare and Hyper-V used in Amazon, Cloudstack, Openstack, and VMWare.
2) Configuration Management tool. This component takes care of configuring the newly bootstrapped virtual server to make sure all the required software is properly installed and configured to play nicely with the other existing virtual servers of the same cluster. If you have a complex configuration you can use Chef or Puppet to ensure it is properly loaded.
3) Auto-scale tool. This component monitors the SLA through metrics (or KPIs) like the CPU usage, memory usage, overall service latency, etc and decides when to launch a new virtual server using the hypervisor and then configures it according to the instructions in the configuration manager. This tool is more of an orchestrator of the two previous components, similar to the role of a maestro.
Sounds pretty straightforward right? Why is this such a challenge to all those competing with Amazon? The challenge is the auto-scale component. Using something that is intelligent enough to know when to scale up and down virtual instances is the key feature of a viable cloud offering. Most of the auto scaling tools on the market are looking at indicators such as CPU and Memory usage which don’t paint the entire picture of what the end user is experiencing.
Anyone providing a Something as a Service (SaaS, PaaS, IaaS, etc) needs to meet high availability Service Level Agreements (SLA) that are often tied to their business Key Performance Indicators (KPIs). This could be an availability or performance SLA. For example, when the engineers at Realtime.co were tasked to build a highly scalable Pub/Sub messaging platform offering the lowest latency across the globe, they took a look at all the auto scaling tools on the market but couldn’t find one that was customizable to their specific KPIs such as latency, number of concurrent users, and number of messages. So they decided to build their own auto-scaling tool and this is when Dynamic Cloud Manager (DCM) was born.
DCM is the only real-time dynamic cloud manager that can scale your application infrastructure based on the KPIs that are important to your business. DCM is the missing piece to build a truly scalable Infrastructure as a Service (IaaS) cloud offering that could compete with the best of them.
To learn more about DCM, feel free to reach out to me and my team of cloud experts. Email me here.