Businesses around the world are raving about the latest computer application model, which is called “cloud” computing. In the early days of mainframe computers, central processing was the common model used by large enterprises: public and private. Each large entity maintained separate computer systems with software that was designed to meet business requirements.
A single copy of the software resided on a mainframe computer where all users had access through a “dumb terminal” for the completion of daily tasks. The data processing department was responsible for providing new functionality and additional equipment based on the pace set by the business operation. An outage meant a complete work stoppage for all of the customer’s employees.
In the 1990s, the model switched to client/server where the software was pushed closer to the user. Each user had a copy of the latest software on the desktop computer. Software updates were copied to each personal computer at regular intervals. A failure on one desktop computer did not affect other people who were working in the area. Data storage was split between central servers and local hard drives. Work could continue if the central computer failed for some reason.
In the 21st Century, expansion of the Internet is pushing the business world back to its central processing roots. Software maintenance is simplified when the developers have more control over the number of instances of each program. Challenges arise for the developer because programs must work with systems that have been written and installed on other computers located anywhere in the world. An old computer-processing model has emerged with a fancy new name: “Cloud Computing“.
Cloud Computing Defined
The term cloud computing evolved from the diagrams that had a cloud at the top for all of the functionality that would magically appear at some point in the software development project. Usually, a member of the team would write, miracle happens here on the cloud. For users around the globe, the processes that occur inside the cloud are miraculous. Developers view the cloud as a box of tricks that makes them look like geniuses. Various cloud service models exist including Cloud SaaS, Cloud PaaS and Cloud LaaS. All of the models have the same characteristics that create a cloud of convenience for the users.
- On-demand self-service – Server time and network storage are provided at the request of the user’s application. This unilateral approach to provision transfers space and speed decisions to another party in the delivery chain.
- Network access – Any user can access the cloud from a mobile phone, laptop, PC or PDA device. Providers and customers leverage the contents of the cloud for innumerable uses.
- Resource pooling – A service provider allows access to storage, processing and software for the consumers who are located anywhere on the globe. The customer does not know the exact location of the resources.
- Rapid elasticity – As the user’s needs expand, the cloud provides resources rapidly. Reductions in consumer’s needs allow the cloud to reduce the allocation for that specific consumer without impact on the others.
- Measured service – Processing, storage, bandwidth and active user accounts are some of the resources that are provisioned through the metered service provider.
Benefits of Cloud Computing
Businesses receive a constant stream of marketing materials that lists the innumerable benefits realized through cloud computing. For each of the benefits, there are risks that can interrupt normal business operations. Wise decision makers will select the right combination of computing applications that will support the business without introducing unnecessary risks. Developers strive to create programs and systems that will offer noticeable advantages over the competition. Continuous improvements will retain customer loyalty, which supports the existence of the cloud.
- Lower IT costs – Equipment and software costs can be reduced through selecting the cloud service provider with the best combination of data hosting and applications. Problem diagnosis is more complex when the IT staff developers do not control the composition of the applications used in the organization.
- Metered-service provides functionality – Applications and storage used throughout the course of a month of business are paid for according to the metered usage report. Flat fees or metered services provide cost control measures for customers and steady revenue for providers.
- Improved business agility – Business decisions are supported by the resources that are available within the cloud. Business expansion is supported quickly and easily through the contents of the cloud.
- Application enhancements – Software updates are provided by the service providers who place applications in the cloud for use by consumers. Developers will make changes in a central system. All users will receive the updates concurrently.
- New functionality -The client’s IT staff is no longer responsible for the computer system functionality. Applications offered by the cloud provider are maintained and enhanced in a constant effort to keep up with market demands and competition. Developers will provide additional functionality that benefits multiple clients.
- Automated backups – Customers rely on the service provider to backup the data that is stored on servers in the cloud. The service provider recovers from failures without the consumer’s knowledge.
- System security – Service providers promise to use the highest levels of network and system security. Users will access the systems through a series of user IDs coupled with appropriate passwords.
- Unlimited storage – Expanding businesses will choose cloud computing to house the vast quantities of data that support the business operation. The cloud service provider is tasked with staying ahead of demand for storage space.
- Any number of users – Service providers will allow users to access the cloud according to the multi-user agreement. Cloud computing allows the business to add more users easily without extra effort.
- Reliability – Network and application reliability are paramount to the healthy business operation of the cloud customer.
- Uninterrupted service – Most service providers avoid signing service level agreements but strive for reliable service. A general statement from the provider will be included in the agreements and might state, 99.95 percent availability. For the consumer, this translates into unplanned downtime of the service inside the cloud for approximately 12 minutes per month.
Delivery Chain in Cloud Computing
For decades, the IT staff of companies large and small has managed the stack with apparent ease. Every layer of equipment and connections must work together seamlessly at all times for the user to receive the expected result from the computer system. Cloud computing extends the complexity of the stack to include external systems that are outside the reach of the dedicated IT professionals in the organization.
- User device – The PC, laptop, mobile phone or PDA can reach into the cloud to use the storage space or software that is available for completion of work tasks. With proper security clearance, the user is allowed to move around the cloud uninhibited.
- Cloud – Private clouds, community clouds, public clouds, and hybrid clouds are in Cyberspace for use by entities of every type. One service might be accessed in the private cloud while another is reached over the Internet in a community cloud.
- Enterprise – All of the equipment that makes the internal network interact with printers, fax machines and the Internet provider comprise the enterprise solution. Companies must have this set of equipment to complete internal work processes for final deliverables.
- Network – Equipment, cables and connectors work together to provide communication between devices that are located in the office, next door or around the globe.
- Data center – Large groups of computers and servers are available for the use of the customers of the cloud provider. Storage space and applications are available for authorized use according to contractual agreements.
- Service provider – Cloud services are offered by companies that assemble a useful set of applications and sufficient storage space. Consumers rely on these entities to stay ahead of demand and never encounter a misstep.
Failures Occur in Cloud Computing
With the number of possible problems, cloud users should be amazed that the system is available every day. Any point along the way, a significant outage can occur that is caused by one of the following events. Diagnosis of the problem is more difficult than ever before because of the size of the cloud. Developers and IT staff realize that diagnostic tools must be created as systems are designed and written.
- Equipment – Electrical components in a computer, printer, server or communication router can fail without warning. The component’s role within the cloud will determine how noticeable the failure is to users.
- Data loss – Even with regular backups, business data can be lost through incorrect procedures or equipment failure. Developers will include safeguards that capture critical data multiple times within a function.
- Communications – The Internet is a web of communications devices of every kind that spans every corner of the world. Smart routers attempt to avoid segments that are unavailable, but there are times that the user will encounter inaccessible parts of the cloud. Developers will become adept at intercepting these attempts and providing guidance for the user.
- Loss of power – Electricity is the lifeblood of every network. Power interruptions happen even when backup systems are in place.
- Response time – Distance from the servers will increase the response time for the user. Peak usage times during the business day can reduce the ability of users to complete work tasks until the network traffic subsides.
- Last mile performance – Internet providers monitor the connections between the Internet and the customer. Issues in the last mile occur more often than most users realize.
- Unplanned downtime – Everyone has heard the story about Amazon’s cloud failure in 2011. This type of issue can happen at any point. Companies must be prepared to continue revenue-generating work without the cloud for any length of time.
- Misdiagnosis of failure – Once a failure occurs, IT professionals at all points along the delivery chain scramble to find the cause. Most take the elimination approach to make certain their own links are up and running. A bad guess will extend the length of time the cloud is unavailable to the users.
Mitigate Risks at Every Stage
Wise business leaders will have other means of completing revenue-generating tasks to reduce the business impacts caused by an outage in the cloud. There are some basic steps that will improve the chances that failures in cloud computing will have minimal effect.
- Closest available occurrence – All cloud users must select the closest location for software usage and storage. Distances matter for the end user in terms of response time for every mouse click. Milliseconds add up quickly in a frustratingly slow application.
- Avoid peak usage hours – Schedule computer work hours in the early and late hours of the workday to avoid traffic peaks on the network.
- Acquire diagnostic tools – Helpful software dashboards are available for assistance with efforts to diagnose the problems that can occur in the cloud. Clients can use these helpful tools to find issues that interrupt workflow and reduce productivity.
- Business recovery plans – Only twenty percent of all businesses survive a significant loss of business data. All wise business owners plan for this issue and never trust a cloud provider to create a comprehensive recovery plan.
Developers Hold the Keys
Cloud computing provides an excellent selection of applications and vast amounts of storage space for users in any location around the globe. Developers will learn to think globally as designs encompass the needs of thousands of users. Customized programs will fall away as the user base changes work processes to match the functionality inside the cloud. New functions will grow out of common needs where the users will move another local function into the cloud. Changes to programs within the cloud will save time for users and minimize the learning curve that is required following updates.
Developers will anticipate risks that cause businesses to lose valuable work time. Redundancy will be built into the architectural design for each geographical location. Large entities will be spread across the cloud to prevent network slowdowns. Client needs will dictate which system changes gain attention. Minimally used functions will be phased out of the system to reduce the maintenance activities.
Image Credits – bigstockphoto.com