Cloud Computing in a nutshell
Cloud computing is the practice of using a network of remote servers hosted on the Internet to store, manage, and process data, rather than a local server or a personal computer.
In today's business, IT is changing faster and cloud computing enables organisations to rapidly ramp up to match demands by quickly provisioning the resources, cutting the time and costs for physical hardware and software deployment.
Cloud computing can be broken down into two areas. Provider based and services offered. Here are a few examples of each
Provider based cloud computing
- Public Cloud An organisation utilises public cloud services from an external provider such as Amazon, Google or Microsoft. Access is granted to organisations, on demand resources are provided and provisioning, maintenance, allocation, security is handled by cloud provider. This option is an ideal choice for new companies who wants to scale up quickly to address raising demand of resources but don't want to invest money and time to setup their own infrastructure.
- Private Cloud Private Cloud is hosted privately by local an organisations IT department and not exposed to public and are reliant on the companies IT department for provisioning, allocation, maintenance, security etc. A typical example are banks and financial companies who prefer to keep all the data in its own private cloud.
- Hybrid cloud This is mix of both Public and Private cloud, some application which are general purpose, low risk are hosted in public cloud, whilst others dealing with proprietary and confidential data are hosted internally on a private cloud. For example for a video steaming site the videos can be hosted on the public cloud while the customer information may be stored in private cloud.
Services offered based cloud computing
- Software as a Service (SaaS) SaaS have software applications hosted in the cloud by a provider, clients access and use application based on a subscription model over the internet using a client or browser. Software provider manage application, performance, capacity and security.
- Infrastructure as a Service (IaaS) IaaS offers physical servers, virtual machines, file storage and availability assets to run your custom applications.
- Platform as a Service (PaaS) PaaS offers application platform with all the required software for your custom application so that you don't have to install any extra software or utility.
- Metal as a Service (MaaS) MaaS lets you treat physical servers like virtual machines in the cloud. MaaS turns your bare metal physical servers into an elastic cloud-like resource which can be managed like a cloud.
Here is a list of prominent cloud providers:
- Amazon Web Services (AWS) Pro: provides cost-effective cloud tools for business operations, high scalability and availability. Cons: not recommended for users seeking open-source, operating without internal management.
- Windows Azure Pros: made for enterprise clients familiar with Microsoft products, robust development and deployment. Cons: not for managed cloud, or those unfamiliar with Microsoft products.
- Google Cloud Pros: ideal for developers seeking a streamlined cloud ecosystem for development and deployment. Cons: Not for user seeking a managed cloud platform, simple cloud-based tasks.
- Rackspace Pros: powerful managed hosting with various managed services. Cons: Not ideal for complete cloud ecosystems, interconnected PaaS and IaaS.
- ownCloud Pros: Cons:
- Oracle Cloud Pros: This is for enterprise-grade cloud computing capabilities, including SaaS, IaaS, and PaaS. Cons: Not for single-user or small business user client, simple turnkey cloud solution.
- GoDaddy Pros: Ideal for small businesses seeking website tools such as domains, hosting, and basic cloud services Cons: Not for enterprise clients, those seeking extensive control of cloud services
Common uses of cloud computing
- Emails in the cloud Cloud computing empowers webmail customers to utilise cloud storage and give you the chance to check your messages from wherever on the planet. Microsoft Exchange Online, Google Apps, Zimbra, are some of the popular cloud based email services.
- Storage in the cloud Numerous companies provide online cloud based storage which is used to store, share & retrieve data across multiple devices. Apple iCloud, DropBox, Google Drive, Microsoft OneDrive, all offer cloud storage and file syncing services.
Advantages of Cloud Computing
- Virtually unlimited Capacity Cloud computing gives virtually unlimited capacity. No need to stress over coming up short on capacity or expanding your present storage capacity.
- Simple access By hosting on the cloud you can get to the data from any place, where there is an Internet. Right around 52% of organisations reported expanded information effectiveness and use.
- Enhanced Security Cloud computing gives enhanced information security due to built in security measures by cloud hosts.
- Cost Efficient Cloud computing is presumably the most cost effective strategy to utilise, keep up and maybe upgrade. The cloud is much more accessible at less expensive rates and subsequently, can altogether bring down the organisation's IT costs.
- Easy Backup and Reuse Cloud computing makes it easy to back up and reuse due to easy accessibility as compared to accessing a physical device.
If you look in the press recently, cloud security has some weak points which can be addressed with proper planning and risk analysis before migration to cloud.
Below are some common gotchas and challenges involved with cloud computing:
Server side challenges
- Exposed vulnerabilities Cloud provider should ensure that their systems are patched for all security vulnerabilities as soon as patches are available. Exposed security holes can allows others to gain access to your data.
- Shared Systems Cloud is hosted on shared hosts, network and storage and any issues with any of these component can affect entire cloud & impact everyone hosting on that cloud. Without proper checks and balances any DoS attack, resource intensive application or a injected malware can suck in resources from the pool and make entire pool unable to serve request.
Client (User) side challenges
- Not very secure API APIs are used to access and manage cloud resources and they are exposed in open, if these APIs are not audited and verified for security they may expose authentication and other details. Security details can be used by others to access your data and cause harm.
- Weak, broken or compromised authentication Access to cloud for managing and accessing data need to have a strong authentication mechanism. More often a single factor authentication, weak or compromised password allows hackers to access your cloud data. You need to have strict multi factor authentication used by authorised persons only and proper guide lines not to expose account password details in an email, chat, forums etc.