Cloud, Virtualization and Mobile Computing: Why They Work So Well Together
The promise of mobile technology to improve productivity and yield significant business results has been very clear to conceptualize yet fairly difficult to realize. This is a direct result of the way that technology infrastructures have been deployed in most organizations. At its core, mobile computing requires an infrastructure that is adaptable, flexible, and ubiquitous while traditional implementations are rigid, inflexible and intended to be used while physically at work.
Most current infrastructure deployments were built on the premise that employees would work at a specific location, such as an office or cubicle. In some instances, an employee may need to travel to a secondary business location, or facility, and still require access to needed resources, however it is usually to locations that share the same network domain. Exceptions can be made for “mobile” workers by giving them access to the company network via a Virtual Private Network (“VPN”), essentially extending the network domain to an endpoint. While this model has allowed workers to be somewhere other than their desk to get work done, it is a fairly restrictive technology solution, although arguably a step in the right direction.
An additional aspect causing difficulty for companies attempting to implement a mobile strategy is the fact that most existing applications were not designed for mobile devices; getting access to resources on any device other than a standard computer is often unsatisfactory or impossible.
In any cloud, virtual and mobile environment, the key is flexibility in design, appropriateness of solution to function, and the ability to provide access irrespective of user’s location
Meeting the needs of mobile computing requires that the methods, applications, and infrastructure become far more flexible than what exists in most companies today. The overhead of a VPN solution, limited access to resources once connected, and applications not designed for the purpose of being on a mobile platform combined with the lack of flexibility inherent in this architecture have inhibited both the adoption and benefits of a truly mobile workforce. Successful mobile implementations will require that applications used on the mobile device are suited for the actual device being used and means that traditional office applications need to be redesigned from the ground up.
There are examples of mobile applications that are successful today that we rarely think of in terms of having been redesigned for the mobile environment. Arguably, the most common example is the sending and receiving of email on a smartphone. In today’s workforce, the ability to use email on a mobile device is generally considered a simple request and is expected by many (especially younger) workers. The smartphone version of the mail application is a simplified version of the fully deployed mail application one uses while in the office. No matter which mail application is used it will have been specifically designed for the user interface and resources available on the mobile device. Another example that is becoming much more common is hosted voice services, essentially getting rid of the PBX and associated infrastructure, outsourcing it to a third party voice provider and simply subscribing to voice services on a per user basis.
The enabling technologies required to successfully deploy mobile applications (“apps”) are the implementation of a cloud based infrastructure and the virtualization of the resources required to interact from the mobile device. Virtualization allows for resources (servers, storage) to be quickly created and/or sized to meet the needs of most companies, specifically accommodating the mobile user community when properly implemented. Hosting the virtualized resources in the cloud, provides for ubiquitous access largely independent of location so that well designed apps can interact with hosted resources in ways that are specific since the versions are generally single purpose in design (as in the email example).
Often companies choose to build a form of hybrid cloud and virtualization infrastructure. Outsourcing data center(s), virtualizing server(s) in racks, and providing access via the public internet with security handled in the data center are straightforward steps toward implementing a type of hybrid cloud. A further step in this model is to eliminate the notion of a data center and use a provider of cloud services for virtualizing, in software, the servers and storage platforms needed to run the business; the advantage of this model is that all future upgrades, hardware and software, are offloaded to the cloud provider. It is important to understand the pricing model for such an arrangement, while also considering the offset costs when deciding what type of cloud / virtualization model to implement. Most companies will choose among multiple cloud providers for specific purposes; an accounting package may host the databases in its cloud, a voice provider will host the PBX in its cloud, while the company may host their own document in its private cloud.
In any cloud, virtual and mobile environment, the key is flexibility in design, appropriateness of solution to function, and the ability to provide access irrespective of user’s location. Of course, cost, security and other considerations must be taken into account but these are variations on the same considerations that exist in traditional infrastructure implementations.
Cloud computing is a model for enabling ubiquitous access to a network of shared, configurable computing resources, enabling users and organizations with capabilities, depending on need, to process, store and manage their data in third-party data centers. Clouds may be private (owned and maintained by the company), public or a hybrid of both models, but, in any configuration allows for the sharing of resources to achieve economies of scale.
Virtualization means to create a virtual instance of a device or other resource (servers, storage devices, networks or operating systems) providing a framework that divides the resource into one or more environments to provide the capability of the intended device. Virtualization has been used since 1960s.