Normally, computer services are usually installed, stored, and deployed from a particular infrastructure. Companies have to spend huge sums of money to procure computer hardware, hire skilled staff to keep the facility running, and periodically maintain/upgrade infrastructure. This results in high operating costs, under-utilization, diminished efficiency, and inflexibility. What all that simply means is that a small company with a big asset is using it to do small things that look like big deal. Imagine a teenager across any continent driving a Lamborghini or a flying a private jet like Richie Rich. The justifications for these vast personal IT expenditures are almost always privacy concerns, security concerns, control concerns, and so many other things. And yes, these are valid concerns. But here is the good news: Cloud computing allows applications to be deployed onto the various infrastructures at appropriate runtime. This flexible aspect of the Cloud allows deployed applications to scale and be utilized on-demand without needing traditional service supports or upgrades.
VMware Training – Resources (Intense)
Cloud computing is the technology that enables the use of ICT resources over the Internet. It allows individuals and businesses to use hardware and software that are owned and managed by third parties at remote locations. It allows accessibility to information and computer-based resources from anywhere, as long as a network connection is available. Cloud computing provides a shared pool of resources, including data storage space, computer processing service, networks, and specialized corporate and user programs. By providing on-demand access to shared pools of computing resources, Cloud computing offers competitive advantages in terms of cost, speed, and efficiency.
While a traditional computer setup requires one to be in the same location where one’s data is stored, the Cloud removes that need. The Cloud provider may own both the hardware and software program applications. One is only required to initiate an Internet or network connection before accessing the Cloud. This means that if one wants to view a file previously saved in the Cloud, one must first dial an Internet connection from an electronic device to the Cloud to access that document from anywhere with any connected device. Cloud Computing is often referred to as a stack because it offers a broad range of services built on top of one another.
The Cloud has learned to exploit virtualization and amass computing resources, and is therefore able to offer economies of scale that were not available before. So, with a small upfront investment, the Cloud has added global reach to their service offerings through an elastic, multipurpose computing environment that supports on-demand scalability. It can also offer prebuilt solutions and services, and the much needed skills necessary to operate them; this goes a long way toward lowering the risk of clientele organizations and removing the need for a clientele organization to recruit or retain highly scarce skilled IT personnel.
A good example of how Cloud computing works is with email service providers and social networks such as Yahoo, Google, Facebook, etc. They provide all the hardware and software necessary to support your personal account. When we want to access our mail, we open our web browser, go to the email client, and log in. The mailbox is not housed on our computers, so we have to access it through an Internet connection, and we can access it from anywhere. An email service is similar to how Cloud computing works. In addition, we can also access a plethora of other web-based services within the Cloud.
In this era of fierce competition that demands innovation and higher processing power at lower costs, companies are looking for ways to focus on their core mandates and outsource non-strategic functions to specialist companies. ICT services are being transferred from support centers to strategic partners that can provide cost saving advantage to the small business units. Cloud computing therefore presents a great opportunity for companies to achieve profitability and run their businesses at lower cost.
Characteristics of Cloud Computing
This facilitates the provision of services based on current demand requirements. Cloud services such as server time, network storage, and data processing are provided automatically as needed without the customer interacting with the service provider. Whether the application serves the users of social networking sites, websites, or large online retail companies, users expect them to be up and running every second of every day. This is automatically done through software automation, enabling the expansion and contraction of service capability, as needed.
Cloud services available over the network must be accessible through standard mechanisms that promote use by various device platforms, such as mobile devices, laptops, and even ‘unconventional’ devices such as automobiles.
Applications are required to provide access only to authenticated users. This is very important, whether the application is a messaging or banking application. Application security is featured through the use of network confirmation, authentication, and fail-proofing of operating systems, servers, and application software. Security must be infused into every aspect of an application’s development and deployment processes.
Companies have to adapt quickly to changing tends by updating their services and providing more innovative applications to the end users. Cloud computing involves getting applications to market very quickly by using the most appropriate building blocks to get the applications built and running as fast as possible. To customers, the resources often appear to be unlimited and can be requested at any time.
Cloud computing pools a service provider’s infrastructure to serve multiple users with different physical system and different virtual system resources assigned and reassigned according to each user’s demand. The Cloud infrastructure, regardless of deployment mode, tries to share the available infrastructure across a number of users. Examples of resources include storage, processing, and network bandwidth.
Cloud services and resources are automatically optimized through the use of advanced metering programs suitable for the type of service being provided. Service providers and customers can monitor, control, and report on services with transparency. In this way, users are billed for services based on how much they have actually used during the billing period.
Applications used in Cloud computing need to adapt and scale with demands so that performance and compliance with service levels remain as programmed. In order to achieve this, applications and their data must be properly coded to maximize scalability. They must be ready to scale up when demand is high and scale down when demand is low so as to balance server load and reduce operating costs.
Reliability means that system components rarely fail and can be replaced without disruption to the service. In other words, reliability means that applications do not crash and, most important, they do not lose data. The applications are designed so that they continue to operate and transmit data in event of failure of one or more servers on which they are hosted.
Types of Clouds
Cloud computing gives computer users the opportunity to conveniently access fully featured applications, computing infrastructures, data storage, and processing. There are many considerations when moving from traditional computer enterprise application system mode to one based on Cloud computing. When considering the move to Cloud computing, a home user or small business owner will likely prefer public Cloud services while larger organizations may evaluate the different configurations, and determine the specific parts of the Cloud computing spectrum that meet their requirements. Some Clouds have limited private computing resources, space, and processing power while others have large quantities of remotely accessed resources.
This is set up by a large industry service provider and is available to the public on a commercial basis. Public Clouds are run by third parties and applications from different users are likely to be seamed together on the Cloud’s servers, storage systems, and networks. Public Clouds are most often hosted in places the users are not aware of. One of the main advantages of public Clouds is that they are usually much larger than private Clouds and therefore offer the ability to scale up and down based on demand while shifting infrastructure expenses and risks from the user to the Cloud service provider. Portions of a public Cloud can be demarcated for the exclusive use of a single client. A public Cloud can be accessed by users with the aid of an Internet-connected device. This enables a user to upload and download service from the Cloud with very little resources required compared to the capital requirements normally associated with other deployment models.
A private Cloud is specifically built for the exclusive use of a company or group. The company owns the infrastructure and has total control over data, security, and quality of service and how applications are deployed and used on it. It may be managed by the company or a technical third party partner and may exist on premise or off premise. This model gives companies a high level of control over the use of Cloud resources while bringing in the expertise needed to set up and run the infrastructure.
A community Cloud is shared among two or more organizations that have similar Cloud interests and requirements (e.g., mission, security requirements, policy, and compliance considerations). This may help limit the capital expenditure costs for its establishment as the costs are shared among the organizations. The operation may be managed by the organizations on premise or off premise or by a third party.
A hybrid Cloud is essentially a combination of at least two Clouds, where the Clouds included are a mixture of public, private, or community. The Clouds through an interface have the ability to allow data and other applications to be transferred from one Cloud to another. They are bound together by standardized or proprietary technology, enabling data and application portability. The ability to supplement a private Cloud with the resources of a public Cloud can be used to maintain service levels in the face of rapid workload fluctuations. A hybrid Cloud also can be used to handle surges in workload.
Cloud Telemetry Components
Telemetry is the wireless transmission and reception of data from a remote source to a receiving station or server for analysis. Organizations desiring to use Cloud-based services will have to determine the RTU (remote terminal unit) devices they intend to use to connect to the Cloud. The RTU devices communicate with a gateway through GSM/GPRS and the Internet. The device should support a broad range of interfaces, including XML-based interfaces, Web 2.0 APIs, Java interfaces, and media control interfaces, and should also cater to a wide range of application and service creation developers. These interfaces, available over media and signaling capabilities, support the scalability needed in a Cloud-based environment while still being easy to deploy and run without requiring local server infrastructure.
The Cloud architecture is mainly based on a master and slave design. Slave nodes request of master nodes which applications they are running and report to master nodes how much resources each running application has been using over a period of time. Master nodes keep track of available slave node capacity and the applications running on it. Master node also acts as a Web portal and Web service so that the end users can request to use applications installed and run on slave nodes. More precisely, all information required to rebuild a slave node is stored in the master node so that, in the event of failure of a slave node, a backup slave node can be programmed with the same data. To deliver on the scalability requirements for Cloud-based deployments, the communications software should be capable of running virtually. This allows for easily increasing and decreasing session densities based on the needs at the time, while keeping the resource pressure on servers to a minimum.
Cloud Parties, Principles, and Guidelines
- The physical equipment that makes up the Cloud infrastructure and the logical layer that seams the infrastructural resources together.
- The Cloud builder that builds, own and operates the Cloud infrastructure.
- The application builder that develops applications needed by the Cloud and deploys them.
- The users that consume the Cloud’s services. Cloud applications support multiple users. The Consumer may also use a hybrid model in which some functionality is provided by the public Cloud and some provided by private Cloud or traditional computer systems.
- The Cloud management supporting both the Cloud builder and Cloud application builder.
- The binding terms between the Cloud builder and the application builder and users cover the following terms as applicable:
- Domain Separation: Users of the system have no exposure to the adverse consequences of other consumers’ inappropriate use of the system.
- A workload specification that defines what will and what will not run on the Cloud platform.
- Technical tools and standards must be agreed upon to ensure that the platform and the application deployed are compatible.
- Interface specifications that specify the application program interface (API) or user interface (UI) specifications and functionality offered to the users.
- Availability should not be limited by unforeseen server failures.
- Automatic operations: Users’ runtime of the Cloud’s services and platform should involve minimal manual input.
- Cloud interface and formats must conform to relevant industry standards.
- The system must present only the information required to perform each specific task.
- The Cloud provider’s reliability, performance, availability, and security must be directly verifiable.
- Subscription terms that include billing, pricing, and revenue-sharing terms.
- The architecture should provide tools that will monitor of all aspects of resources usage of both the service provider and the users.
- Assured Data Protection: Users are assured of compliance with data privacy standards and regulations and have confidence that deleting of data is absolute.
More details on Cloud management principles are specified in the ORA Cloud document.
Each Cloud service provider serves a specific function, giving users more or less control over their Cloud, depending on the type. When choosing a service provider, the user compares the needs to the Cloud services available. Cloud service is usually on pay-as-you-go basis so, if the user’s needs change at any point in time, the user can subscribe to more or fewer services from the Cloud service provider.
1. Software as a Service (SaaS) is when the subscriber makes use of the service provider’s applications software that is deployed over the Cloud. SaaS makes it unnecessary to have a physical copy of the software installed on one’s system. Users are not required to perform software upgrades and patches. The users do not manage or control the underlying Cloud infrastructure, including servers, network, storage, or operating systems. The users may, however, be able to specify application configuration settings. In a SaaS, the subscriber has the least control over the Cloud. Also, where the applications require extremely fast processing or the company terms forbid external hosting of software, SaaS may not be the best model to choose.
2. Platform as a Service (PaaS): PaaS can be defined as a Cloud platform that allows the subscriber to create applications conveniently without having to buy, assemble, and maintain the software and infrastructure required to create the applications. A PaaS provider gives subscribers access to the components that they require to develop and operate applications over the Internet. Rather than being software delivered over the web, as with SaaS, PaaS is a platform for the creation of software over the Internet. The subscriber does not manage or control the underlying Cloud infrastructure but has control over the deployed applications and possibly over applications hosting environment configurations. PaaS may not be ideal in certain situations where application performance requires customization of the underlying hardware and software or where proprietary languages might impact on the development process. Some examples of PaaS service providers include Microsoft Azure Services and Google App Engine.
3. Infrastructure as a Service (IaaS): IaaS deals primarily with Cloud computing infrastructure. In an IaaS agreement, the subscriber completely outsources the resources that they need. This service enables the subscriber to use the Cloud’s processing, networks, storage, and other fundamental computing resources, and to deploy and run other software, including operating systems and applications, as an on-demand service. Rather than acquiring servers, software, datacenter space, or network equipment, clients instead buy those resources as fully outsourced services. The client does not manage or control the underlying Cloud infrastructure but has control over operating systems, storage, deployed applications, and host firewalls. IaaS makes sense in a number of situations for new organizations without the capital to invest in hardware; trial or temporary infrastructural needs; or when there is pressure on the company to limit capital expenditure.
Advantages of Cloud Computing
The following are some of the possible benefits for those who offer Cloud computing-based services and applications:
Reduce Run Time: For applications that use the Cloud essentially for running batch workloads, Cloud computing makes it easy to use 1000 servers to accomplish a task all at once instead of using a single server. For applications that need to offer fast response time to their customers, the tasks can be outsourced to virtual machines, which may help to optimize response time while scaling to meet customer demands.
Cost efficiency: Cloud computing is very cost-effective to use and maintain. Traditional desktop software costs and license fees for multiple users can prove to be very expensive for the company. The Cloud, on the other hand, is available at cheaper rates and can significantly lower the company’s IT expenses. Companies can reduce their capital expenditures on IT infrastructure and also reduce the in-house resources needed to provide system support.
Lower cost of entry: Because infrastructure is rented, not acquired, the cost is minimal with no capital investment. Also, applications are developed more by assembly than by programming. This rapid application development helps to reduce the application’s development time, potentially giving programmers deploying applications in the Cloud a competitive advantage.
Scalability/Flexibility: This makes it easier for users to scale their service according to the demand. They can subscribe to more or fewer services, based on need. Companies can start with a small deployment and grow to a large deployment rapidly, and then reduce scale if necessary. The flexibility of Cloud computing allows companies to use extra resources at peak times, enabling them to satisfy their customer demands.
Unlimited Storage, Backup, and Recovery: Storing information in the Cloud provides unlimited storage capacity. Since the data is stored in the Cloud, backing it up and restoring it is much easier than storing the data on a physical device. Furthermore, most Cloud service providers usually have the tools required to handle data recovery. This makes the process of backup and recovery much simpler than recovery from traditional methods of data storage.
Ease of Access: Once the users save data in the Cloud, they can access the information from anywhere there is an Internet connection. This convenient feature lets users move around without time zone or geographic location issues.
Quick Deployment: Cloud computing offers the advantage of quick deployment. Once kick-started, the entire system can be fully functional in a matter of a few minutes.
Deliver new services and Innovations: Cloud computing can help to increase the pace of innovation. The low cost of entry to new markets provides a level playing field, allowing small companies to deploy new products quickly and at low cost so they can compete more effectively with large organizations that have data processing centers. Many new ICT products are being created through the use of open source infrastructure and the entire industry serves to benefit from the increased pace of innovation that Cloud computing offers.
Minimize infrastructure risk: IT companies can use the Cloud to reduce the risk associated with purchasing physical servers. If a program is in trial stage, the company is experimenting with new products, or the application would be idle most of the time, investing huge sums to acquire large infrastructure could be risky. When pushing an application out to the Cloud, scalability and the risk of purchasing too much or too little infrastructure becomes the Cloud provider’s problem. However, Cloud providers have massive amount of infrastructure that can conveniently absorb the growth and workload surges of individual customers, thereby reducing the financial risk the customers face.
Automatic software integration: In the Cloud, software integration usually happens automatically and seamlessly. This means that Cloud users don’t need to take additional efforts to customize and integrate their applications as they prefer.
Disadvantages of Cloud Computing
In spite of its many benefits, Cloud computing also has its drawbacks. The following are some of the notable challenges associated with Cloud computing.
Lack of support: Most Cloud-based services make it difficult to get customer service promptly or no service at all. For example, during email account recovery, most users go through frustrating programmed interface instead of standard customer care service.
Security and privacy: A major disadvantage of the Cloud is security. Before adopting this technology, users should know that they will be surrendering all their private and sensitive information to a third-party Cloud service provider. Storing information in the Cloud could make the companies vulnerable to external hack attacks and threats. Also, Cloud computing makes the small business dependent on the reliability of their Internet connection. This could potentially pose a great risk to some companies. Users should ensure that they choose the service provider who will keep their information totally secure.
Technical Issues: Though it is true that information and data on the Cloud can be accessed anytime and anywhere, there are exceptions when the system could crash or malfunction. Some services available in one region may not be available in the other, thereby leaving the subscriber stranded. Subscribers should be aware that technology is always prone to outages and other technical issues. Even the biggest Cloud service providers can run into glitches.
Inflexibility: Choosing a Cloud service provider often means tying up one’s works to their proprietary applications or formats. The service providers view each other as rivals and hence won’t allow the processing or viewing of others’ files on their platforms.
Cloud infrastructures are different from traditional IT infrastructure because of the size, processing power, and level of automation required. Building a robust Cloud infrastructure requires extensive planning and precise execution to ensure that resources are not under- or over-utilized. Cloud computing provides many options for computer users as well as large and small businesses. It opens up the world of computing to a broader range of uses and increases the ease of accessing one’s data through Internet connection. However, these appealing features also come with drawbacks. We have no control over who has access to our information and little control over where our data is stored. We also have to be conscious of the security risks of having data stored on the Cloud. Companies who intend to move to Cloud Computing should evaluate the different models of Cloud Computing and assess their own objectives and decide which types of solutions are appropriate for their needs. Additionally, individual users should know the options in terms of what type of Cloud will be most suitable, the service provider’s reliability, and the cost per service unit before signing up.