A few posts ago I spoke on attending a Cloud Computing seminar put on by NetSuite. Since then I have looked into this a little more and hope to dispel some of the misconceptions of Cloud Computing. The idea sounds great, and it’s certainly the buzzword of the week if we believe the hype. "But hang on," I hear some of you saying, "Cloud Computing is just having apps on the Internet and we’ve had that for years. Why should it be different just because someone wanted to get their PhD by coming up with a new name for old technology?" …and you’d be right in asking that, its a pretty legitimate question in my book. Definition So let’s define Cloud Computing precisely, even more than we did in my post of a few days ago. To be considered a true Cloud Computing system, an application must satisfy all of the following criteria: Application on the Internet. It must reside on the publically available Internet. Publically available does not mean anyone has access to your systems, you will still need to log in. Now there is such a thing as an Internal Cloud, and even a Private Cloud, but for the purposes of this paper I’m going to limit this to full public access applications. That is: externally hosted applications where you can use and store your information on the externally provided system (e.g. salesforce.com). Data on the Internet. The data you place into it must reside on the Internet, although obviously it must also be secure so that only you have access to your Data. No to little up-front costs. You are not purchasing software licences or additional hardware. Sometimes you may purchase consulting services to assist in converting your systems and data. In some extreme cases like perhaps a corporate wide accounting system, additional consulting and training may be necessary. Nothing is installed on your computer apart from a web browser and perhaps some browser additions like adobe PDF viewer. Costs are consumption based. In other words pricing is charged per hour; gigabyte; or hits per month. The less you use it the less it should cost you, and the reverse is also true. On-demand. The service should, in its minimum configuration, be able to be set up by the user for use that day. Of course in very large and complex corporate systems this may take planning and often highly specialised consulting services. Scalable. As far as the user is concerned they shouldn’t have to worry about infrastructure at all. They should be able to increase from megabytes to terabyte throughput without having to organise storage or backups, extra staff, servers, or any of the other hassles. Advantages of Cloud Computing This definition of Cloud Computing shows up a number of areas of cost savings, reduced hassles, and sometimes increased functionality over in-house systems. These include: Costs can be avoided or deferred. In most cases, increasing both functionality and capacity should be totally transparent process. No server purchases or increased IT management. The regular billing cycles of the Cloud Computing model allow businesses to accurately forecast their IT budget based on known consumption levels. Increases a business ability to change. The on-demand model inherent in Cloud Computing enables organisations to increase or decrease computing capacity without hardware, or IT management concerns resulting in no lag time while IT management orders the new hardware; installs the appropriate drivers; sets up the new cabling; tests the newly raided disks; increases the tape backup facilities; increases rack space; sets up active directory; and all the project work that comes with installing new capacity. The ability to then, just as quickly reduce that capacity without worrying about costly hardware lying idle is one compelling reason for the Cloud Computing model. Faster ROI. The Cloud Computing model allows businesses to pay for only the resources it consumes and only as it consumes them. Businesses are able to see a faster return on their IT investment because there is no need to wait for the resources to be procured, provisioned, and managed. Increased mobile workforce access. Your users will be able to access required business functionality without the overhead of network hardware, VPN software, and network management. Users will also be able to access their applications and data while at home, on the road, or in the office from any computer. Some Cloud Computing vendors (some through third party software vendors) allow access via mobile devices like the Blackberry or iPhone. Additional expert IT staff. Highly-skilled professionals are available through the Cloud Computing SaaS (Software as a Service) company to operate and maintain their (your) service. Increases business continuity by providing inexpensive disaster recovery options:. In some cases, cloud computing can be utilized as a viable disaster recovery option—especially for storage—thereby increasing business continuity. On the definition of Cloud Computing given in the last section, businesses and individuals should never be concerned about backups, infrastructure, server space, firewalls, upgrades, storage, daily security patches or any of the plethora of other things that are nothing to do with running their business. In summary, the ROI (return on investment) should be greater without the large up-front costs of infrastructure; software purchase and installation; and the manpower costs to manage it all. The infrastructure changes need no longer be a concern of the business allowing for both business growth and business reduction to occur without the penalty of either time lag and up front purchases or costly redundant and idle hardware. Also, business can plan their financial outlay with known, regular payments rather than up front large purchases. It is also the nature of some businesses that sometimes additional infrastructure and computing power may be needed for short periods of time. Cloud Computing will be able to accommodate these bursts without the huge infrastructure and set up time costs required for something that will not be needed after the task has been completed. Pitfalls All of this of course sounds like a utopian situation but to the consumer there are pitfalls that they should take into consideration before embarking down that path. These can be summarized as the following: Be sure of the SLAs. It is up to the consumer to be happy that the SLA will cover their requirements and that they can survive any unforeseen downtime or lack of service. Of course this downtime may also occur even when they have the best server rooms and the best of staff so normal disaster management plans should always be in place anyway. Consider the SLA that you provide to your customers. Will holding their data off-line hold up if a customer questions an SLA they hold with you? This is often overlooked in the rush for the savings and ease of adopting Cloud Computing. Vendor lock-in. Will the provider allow you to access your data and how soon can they get it to you if you ask for it? Will they work with another provider to transfer your data if you ask for it? How easy will it be to transfer? Even if you could download your data, will it be accessible to you or will it be in a proprietary format only available from the provider? How secure is your data from other eyes. It is possible that your closest competitor is, or will in the future be, using the same service that you are using and perhaps even shared resources. How will you know if your data has been stolen or hacked? Perhaps one way is to review the audit trail – if there is one. This may be able to let you know if someone is using an old forgotten login to access your data or if someone is having too much access that should be investigated (it may be a very valued employee so care must be taken as others may have obtained their login). How can you tell if a sysadmin has copied your data? What security is in place at the SaaS provider to ensure this does not happen? Are they open to an external audit of their security? Backups. What backups are taken? If your data is found to be corrupt, how far back can you go to obtain valid data? Deleted data. If you permanently remove some sensitive information, has it truly been removed? On what other systems has it been stored? Can you download your own data? Even if you can, will you ever be able to access it or is it in a proprietary format only available from your provider? Security. Many companies don’t even know how many computers connect to their data now, or what data reside on those computers and how and when they are accessed. None of these items should stop you investigating Cloud Computing for your own organisation, however you should not abdicate your responsibilities to a third party provider. It is your data and your business that you are dealing with. It is up to you to not only obtain the cost savings that might ensure a good profitable business model for your company (or your employer’s company), but to ensure business continuity in the event of the unforeseen. Many nay-sayers cite a few instances of data corruption or downtimes, however these must be put into perspective of supplying the service in-house. If an external audit was performed on your current in-house systems, would it pass muster? Have you complete security that your systems are safe and up to date with all patches? Do you know (I mean really know) who access your data now? If you had a disaster or fire on your premises that totally destroyed your server room and office, from an IT perspective would your business survive? Although Cloud Computing has been around for a number of years, only recently under that name, it is still seemingly in its infancy. The take-up has not been rapid in some cases. While customers can hand over CRM and email systems to the Cloud, handing over the full enterprise system to the Cloud may be a little hard for most of us right now.
Embarcadero: Firemonkey OOP
Embarcadero: Firemonkey C++