Sunday, April 29, 2012

The Business Oriented Perspective of IaaS


Infrastructure as a service (IaaS) really is ready for wide-spread adoption. Of course businesses are being founded constantly based around the IaaS vendor model. Companies such as Rackspace and Amazon Web Services offer the promise of being able to host your physical network infrastructure and make it accessible to you via the Internet. Essentially what this means to you is a complete outsourcing of all the servers and data stores, switches and routers, and to guarantee an above average uptime for your entire infrastructure.

Though IaaS has so much momentum the only real impediment to its total effectiveness is the weakest link in the entire, end-to-end model. Based upon a link between the IaaS vendor and the client company, quick access time is immediately dependent on the often times limited Internet connection.

In an attempt to clarify this challenge suppose that we take the buzzword “cloud” literary. Imagine for a moment that this mass of water vapor is actually a desirable destination. Everyone can see it and we are all under its comforting shade, its presence affects us. We all want access to it because it holds the means to the end of total peer-to-peer connectivity. Once this destination is reached the most powerful entities in the world (computationally speaking) are figuratively right next door to every participant in this cloud. This is the general idea that people are referring to behind this comparison, ultimate connectivity. To continue, if we view contact with the cloud as a means to simplify our access to big data crunchers and powerful, reliable infrastructure hosting companies, then truly a large part of the cloud model is that critical link through the sky, from our lowly point on earth to the nebulous heavenly wonders.

If you feel your company is ready (as it most assuredly is) then the two objectives you have are: one, implement a plan for moving your existing infrastructure from the physical servers you probably already own to the virtual servers hosting by companies like Rackspace and Amazon Web Services, and two, to buy, lease, or build the fastest connection possible between your business and the your Internet Service Provider(s).  Both tasks challenges, both also critical and universal enough to now have thousands of success stories paving every step of your potential path.

Essentially cloud computing and IaaS means that you retain the reins of your precisely chosen team. How are your resources allocated? Perhaps your company desires an actual separation between development and production environments. Such a setup can easily be accommodated, simply acquire two licenses and instantly you’re able to quickly spawn two virtual servers. Do you have network segmentation occurring at a virtual local area network (VLAN) layer? Great, because IaaS will even virtualize this tricky setup.

Even at such a high level, there comes a trade-off between admittedly critical and thus highly important aspects of your business. A capital element that must be considered is the cost of information privacy when traded for reliability, fault-tolerance, and convenience.

Perhaps routine and general processes can be virtualized in the cloud. For instance, companies are devising ways and finding methods for pushing a great deal of their number crunching processes onto servers hosted by cloud computing companies. This allows them to lease disk space, processing time, and otherwise predefined “packages” of resources.

Essentially this “pay as you go” business model revolves around the promise that not everyone will need access to 100% of the resources at any given moment, thus making IaaS an elastic computing model. Ultimately the aim is to minimize costly computer resources and maximize efficiency. The development that must occur in resource shifting logic for such progress to be made in managing great volumes of computer resources will be invaluable in other fields as well, such as working with resources on a more minute scale or in a technologically instable environment.

Many of the extensive strides in IssA development have already been taken. As a formal business and computing mainstay, we have reached the point where now IaaS must be optimized and streamlined for use in markets other than the highly technical and Fortune 500. Instead an important and practical market that IaaS could flourish in is the small business and localized. Groupings of small businesses where the majority of the population resides would represent the greatest return on effort investment. Through addressing these areas where the subject matter and difficulty coincide, efficiency could be attained.

Sunday, March 25, 2012

Infrastructure as a Service: The Software Fabric

The theory and application of Infrastructure as a Service (IaaS) has become a leading pioneer in the advancement and development of the software being the distributed platform. Resting solidly on the shoulders of giants, IaaS is essentially a software package. The various components have been assembled, organized, and configured to operate as a powerful, multi-purpose service

IaaS offers a diverse number of functions, generally represented as modules, which span several areas of focus. By mixing and matching these various modules, specialized IaaS configurations are possible which place emphasis on certain key areas.

The following example contrasts two instances where IaaS should be customized for practical and technically strategic reasons. A federal agency may require total network isolation due to the sensitive nature of the work undertaken. Such a feature is generally not required by a software development company. Instead the software development company might have a specialized need for peak computational performance and outstanding resource availability uptime.

One such aspect is whether the IaaS package supports multiple tenants. This essentially means that a single IaaS setup can play host to several customers. Each customer would be separately billed for their own time and usage. This function of an IaaS would be attractive to a company specializing in providing IaaS hosting for various enterprise customers.

Through the availability of tenant modules, custom IaaS packages can be delivered that allow the possibility of actually developing a viable business model around hosting other IaaS providers. Separately monitoring the usage of multiple IaaS packages while simultaneously applying appropriate and accurate billing for each client ensures a functional business model; this is a widely used industry practice which results in a competitive IaaS marketplace.

Another aspect of IaaS is the inherently constructed nature of the various software packages and the availability and accessibility of the code behind the project. A main difference between similar software is whether the code behind the software is available for modification. By making available the source code that drives a piece of software, the company or project group developing the software is essentially “open-sourcing” its product. When this is performed the software can be referred to as being open source. Open source software can generally be taken by other developers and modified to add desired features or remove unwanted ones.

This open source model that some software projects follow is actually directly indicative of just how the IaaS model really operates. Because an array of software components are used as required or desired in various IaaS implementations, the companies assembling these implementations are in a way creating an entirely custom complete solution by “programming” in different software modules. The concept of levels can be used to illustrate the scenario. Instead of programming a software solution to achieve a desired goal at the program level, multiple pieces of pre-written open and closed source software are used in conjunction with one another to meet this goal.

A third aspect of IaaS customization is how officially supported the final shipped product actually is. Generally large corporations instrumental in the assembly and development of certain IaaS implementations offer the option of purchasing support. This value is usually a large percentage of the company’s income and offsets the high initial cost of development.

A dynamic of support is the level and personalization that is available to customers. Ranging from a simple, straightforward knowledgebase to a complete 24/7 direct phone support line up through actual on-site technician visits the level of support can vary drastically. This broad range of customer support can actually be seen throughout the computer IT software and hardware industry. By offering such a diverse array of technical support options, more power of choice and customization is given to the enterprise customer. This determination can then be used to base other decisions from, such as the budget and employee base of in-house technicians.

Some of the larger IaaS projects are Eucalyptus, HP CloudSystem, IBM CloudBurst, RackSpace’s own OpenStack, and VMware vCloud. Each of the companies behind these IaaS implementations differs in some way, in fact oftentimes significantly.

For instance, with OpenStack’s development being fundamentally open source, several other companies have been able to leverage the substantial technological strides that RackSpace has accomplished through their ongoing product development. This lends itself to specialized, often commercially supported, variations of OpenStack, such as Project Olympus, developed by Citrix.

With the multitude of IaaS products available on the market it really is no wonder why the entire industry has accelerated to the velocity that it is at. With such critical mass the field of IaaS can only be expected to at some point plateau, at which point it will become an established standard. As discussed previously, essentially what IaaS actually has become is yet another layer in the technological stack of computing power. Designed to facilitate ease of use when working within a cloud-based environment, IaaS will soon assume its permanent location alongside the likes of computational layers such as content management systems and virtualization platforms.

Sunday, February 26, 2012

Infrastructure as a Service

Cloud computing is everywhere. The concept is difficult to grasp and encompasses a multitude of varying technologies. It is built upon strange and complex mathematically based systems that have been in development for decades and yet are still vaguely understood at a fundamental level by a vast percentage of those who use them. It is easier for a novice (as most of us are) to approach comprehending the meaning of cloud computing by developing arbitrary, umbrella terms to describe the multiple of layers of technological abstraction.

Another angle to understanding cloud computing is to look at the historical trend of computing in general. Akin to a centralized powerhouse of processing power, computers were originally contained in mainframes housed in a single location and administered by a team of highly-trained technicians. Over time technology became increasingly affordable. This led to corporations establishing their own fragmented and secular systems not exhibiting the benefits of cloud computing.

Critical to the sustainability of always-on and accessible computing power, characteristics like high performance, reliability, scalability, and a standard application programming interface (API) were never always promised. Attempting to ensure each of these characteristics inflated the cost of ownership and maintenance by an astronomical margin. Even with the best practices and most enviable budgets, entire divisions dedicated to guaranteeing maximum uptime of the critical systems fell short of providing a failsafe infrastructure.

Recently the advancement of cloud computing seems to have placed the final piece of the puzzle into the picture and solved the problem of chronically unreliable systems. By promising the fulfillment of each cited characteristic and simultaneously delivering a solution for a price that rivals singularly owned physical computer systems, cloud computing delivers a product with an affordable cost now readily accessible to virtually every government, corporate, and personal entity with a project and a plan.

To understand the importance of cloud computing, we might look at one technological aspect. Several models of cloud computing have been developed and represent a layered approach to offering a solution tailored to the needs of the customer. This focus of this blog post is Infrastructure as a Service (IaaS). IaaS can be thought of as a container term encompassing two other progressively more specialized models, Platform as a Service (contained within IaaS) and Software as a Service (contained within SaaS).

The ability of companies like Amazon Web Services and RackSpace to offer software virtualized versions of traditionally hardware devices such as firewalls, routers, and entire network infrastructures defines the IaaS product. Adhering to the requirements of high performance, reliability, scalability, and a standard API, virtual representations of these hardware devices means that physical issues which have plagued their deployment and daily use in the past no longer matter. If a computer glitch does occur and causes the “router” to fault, instantly another virtual copy can be generated. Likewise the unwise modification of a virtual firewall’s access control lists resulting in a “hardware” lock-up and failure can be instantly reverted simply by restoring from backup the entire virtual device.

One such suite of virtualization technologies has been developed by RackSpace, they call it OpenStack. OpenStake is comprised of three distinct modules, Compute (codenamed Nova), Object Storage (codenamed Swift), and Image Service (codenamed Glance). These three components represent individually powerful and necessary processes to facilitate a fully-functioning IaaS system.

Compute is software that has been designed to initiate and administer massive networks comprised of pseudo-hardware, such virtual components as mentioned above. The ability to quickly deploy virtual hardware and network systems is the reason Compute exists. Compute also offers the underlying scalability aspect required when handling involved processing requests, such as those that might be found when running complex database queries and critical financial transaction processing.

Object Storage excels in offering a strong, highly redundant and scalable storage system that can be used to house giant caches of files as objects. The importance of data that can persist through crippling hardware loss is integral to a system that uses it. Because a system transforms this data into useful and valuable information, OpenStack Object Storage is developed, maintained, and kept separately from the main Compute module.

Finally OpenStack Image Service allows for virtualization programs to quickly access operating systems which have been stored in a variety of formats and installed to a file container. The capability to swap out entire operating system images is imperative in the IaaS industry. Due to critical systems requiring maximum uptime, frequent backups of the entire operating system is vital. The occasional restoration is also needed and therefore the ability to revert the entire operating system to an earlier backed-up version is a crucial requirement.

Another strongpoint of OpenStack is that it is essentially open source. What this means is that publically available code, such as that from NASA and RackSpace’s Cloud Files platform, has been used to assemble an ensemble of compatible software products into a comprehensive cloud computing fabric. Being able to do this means the OpenStack software can in turn be redistributed freely and installed on another company’s own mainframes. Thus the technology is leveraged to ensure a higher-quality, more advanced underlying computing infrastructure.

Cloud computing can be seen as a developing technology, not yet perfected but well on its way to being so. Due to projects like OpenStack, up-and-coming, enterprising companies can integrate the software into their own product offerings and further develop a unique enhancement that eventually impacts and betters the entire industry. This is actually the idea behind the much larger concept of open source. Perhaps in the next entry I will discuss how open source has become a movement within the whole global information and communications technology industry.