Our Cloud Technology page will provide a brief explanation of our implementation of Cloud, but I wanted to dig deeper and go into some technical explanations as to what Cloud must contain to be truly considered Cloud. The economics, billing methodologies, compute measurements, deployment models, and provisioning of a customer’s environment can vary—without taking away from the meaning of Cloud—so we’re going to focus on the architecture and key features.
The first and most important requirement of Cloud is the architecture. This is both the front and back end of the infrastructure. Let’s talk about the back end, as this is not what you will see as a consumer, and may only know how your provider does this by asking them. The back end consists of the Data Center, networking, servers, storage, and operating software.
Data Centers, much like cars or houses, can vary greatly in price, quality, location, and various other factors. What Tier rating is the Data Center? Does it have redundant and backup power? Is it providing that redundant and backup power directly to the servers or do you only have a single primary power feed? How about multiple independent carrier and distribution paths? Dual powered chillers, heating, and HVAC systems? Biometric security access control with 24/7/365 staffed security? Are there caged and cabinet enclosures to prevent unauthorized parties from accessing the equipment? Is it located in an area with a low probability of natural disasters and extreme weather conditions such as hurricanes and earthquakes? Or is it located in an area without the ability to expand and grow as needs are being met? These are just a few of the questions to help determine the quality of the first piece of infrastructure.
Networking is another important component of an infrastructure, Cloud especially. With increased reliability and redundancy inherent in a Cloud infrastructure networking challenges are now even more important to ensure continuity and avoid single points of failure. Are there redundant network providers with redundant routes? How about the quality of those networks and providers? What kind of equipment and routing methodologies are they using? Are they just counting the number of hops or is the routing considering packet loss, lag, jitter, latency, and other network conditions to ensure the fastest and most reliable connections to all users? Are the servers in the Cloud connected to redundant, high available switches? Many considerations need to be made when building a Cloud infrastructure so as we are learning, knowledge is power and as a consumer you should be aware of these things.
The next one to discuss is probably going to be the most common technology for people to understand, and that is the servers themselves. These are your computers that make up the pool of resources that are provided to the Cloud’s users. Just like your own computer, there is a wide variety of components and technologies that make this up. How good the chassis are at cooling? If the Data Center loses its ability to keep cool will your servers be capable of keeping themselves cool to prevent data loss, corruption, and downtime? What kind of processor and RAM are the systems using? If a provider advertises “2GHz,” then it’s important to know what 2GHz is. A 2GHz early generation Intel Xeon is not equal to a later generation Intel Xeon processor. In fact, 2GHz in a later model can be more than 4x as fast, clock for clock. Does the server have any redundant components? Is it using ECC ram? How about the network cards? What about the storage in that server?
The storage architecture is one of the most important components to a cloud, arguably the most important single component if you look at things independently. The most basic storage methods a Cloud can consist of is local (drives used in each server itself), SAN, or even remote data storage. The technology of those drives is of great importance to as IO can quickly become a problem if a Cloud is not built to proper specifications. Are the drive’s 5400, 7200, 10000, or 150000 RPM? SATA? SCSI? SAS? Or even SSD? If they are using local storage is that storage pooled into a network SAN to create high availability and redundancy? If they are using SANs are there multiple SANs for high availability and redundancy? How are the SANs connected to the servers? InfiniBand, Fiber Channel, iSCSI, gigE? How many Cloud servers are using each one to ensure proper utilization and avoid overload? If its remote storage how far away is the storage as you need to be aware of latency and connectivity concerns as storage is highly bandwidth sensitive. Is the data truly ha/synchronous? How about Intelligent caching? There are many things to be considered with the storage architecture of a Cloud as they will directly relate to the overall performance, scalability, and reliability of your services. If the storage architecture is not built properly and everything else is in line, your application can face serious performance degradations.
Finally, there’s the operating software of the Cloud itself. This is the engine of the Cloud that will usually be built around some type of virtualization technology as its starting platform, such as Xen for example. This engine will be responsible for the management of the infrastructure, scalability, security, metering, QoS, provisioning, data continuity, client interface, among other things. Is the engine replicated among multiple servers and environments in the event one fails? This was a common problem among many early Cloud implementations creating a single point of failure. How efficient is the engine? Is it wasting 8% of resources or 20% requiring further compensation of the other components to make up for its shortcoming? Is it truly vertically scalable, beyond a single physical server? This is the single biggest challenge of a Cloud infrastructure to date as many of the providers do not present a way for a single application to scale above and beyond one server’s resources. Can you manage the Cloud from the Web? If a server crashes will it require any manual intervention to restart an application that is running on that server onto another one? Can an application scale on its own as needed?
As you can see there is a lot to a back end of a Cloud, and even a Web Hosting provider in general. It is important to know what kind of technologies your provider is using, and their capabilities in designing, building, operating, and maintaining them. Be sure the provider is at the very least providing you with a scalable, redundant, and highly available environment. If the provider just states they are Cloud because they use a special operating system, they are not true Cloud. If a provider states they are Cloud because they simply mirror your data on two servers with load balancing, they are not true Cloud either. InnoScale however has spent significant time, energy, and resources to ensure we are true Cloud and go above and beyond by providing the highest quality technologies and infrastructure that are available to us.