Resource Allocation in the Cloud, Semantic Clouds, Clouds and Mobile Devices and Apps
Cloud computing is changing the way we think about technology. Cloud is a data processing model that provides web on demand software, middleware and computing resources. Simply put, cloud computing is computing based on the internet. Where in the past, people would run applications or programs from software downloaded on a physical computer or server in their building, cloud computing allows people access the same kinds of applications through the internet By implementing technology as a service, giving users access only to the resources they need for a particular task. In this way no longer company have to pay for unused computing resources. But cloud computing is not just about reducing costs and allowing users access to the latest offers and infrastructure software, enabling business innovation. It is about the future, and how data storage and information will be stored.
2. Presentation and illustration of the main notions and concepts
2.1. Cloud History
The origin of the term cloud computing is unclear. The expression cloud is commonly used in science to describe a large agglomeration of objects that visually appear from a distance as a cloud and describes any set of things whose details are not inspected further in a given context.
In analogy to above usage the word cloud was used as a metaphor for the Internet and a standardized cloud-like shape was used to denote a network on telephony schematics and later to depict the Internet in computer network diagrams. With this simplification, the implication is that the specifics of how the end points of a network are connected are not relevant for the purposes of understanding the next diagram. The cloud symbol was used to represent the Internet as early as 1994,in which servers were then shown connected to, but external to, the cloud. References to cloud computing in its modern sense appeared early as 1996, with the earliest known mention in a Compaq internal document. The popularization of the term can be traced to 2006 when Amazon.com introduced the Elastic Compute Cloud.
Figure 1 Cloud Computing
2.2. How Cloud Computing Works
The goal of cloud computing is to apply traditional supercomputing, or high-performance computing power, normally used by military and research facilities, to perform tens of trillions of computations per second, in consumer-oriented applications such as financial portfolios, to deliver personalized information, to provide data storage or to power large, immersive computer games.
To do this, cloud computing uses networks of large groups of servers typically running low-cost consumer PC technology with specialized connections to spread data-processing chores across them. This shared ITinfrastructure contains large pools of systems that are linked together. Often, virtualization techniques are used to maximize the power of cloud computing.
Cloud computing is a model for enabling ubiquitous, convenient, on-demand network access to a shared pool of configurable computing resources (networks, servers, storage, applications, and services) that can be rapidly provisioned and released with minimal management effort or service provider interaction. This cloud model is composed of five essential characteristics, three service models, and four deployment models.
Cloud computing means storing and accessing data and programs over the Internet instead of computer’s local hard drive. The cloud is just a metaphor for the Internet. It goes back to the days of flowcharts and presentations that would represent the gigantic server-farm infrastructure of the Internet as nothing but a puffy, white cumulonimbus cloud, accepting connections and doling out information as it floats. Cloud computing is taking services (“cloud services”) and moving them outside an organizations firewall on shared systems. Applications and services are accessed via the Web, instead of hard drive. In cloud computing, the services are delivered and used over the Internet and are paid by cloud customer — typically on an “as-needed, pay-per-use” business model. Cloud computing is computing in which large groups of remote servers are networked to allow centralized data storage and online access to computer services or resources. Clouds can be classified as public, private or hybrid.
Cloud computing, or in simpler shorthand just “the cloud”, also focuses on maximizing the effectiveness of the shared resources. Cloud resources are usually not only shared by multiple users but are also dynamically reallocated per demand. This can work for allocating resources to users. For example, a cloud computer facility that serves European users during European business hours with a specific application (email) may reallocate the same resources to serve West American users during West America’s business hours with a different application (web server). This approach should maximize the use of computing power thus reducing environmental damage as well since less power, air conditioning, rack space, etc. are required for a variety of functions. With cloud computing, multiple users can access a single server to retrieve and update their data without purchasing licenses for different applications.
2.3. Services Model
Cloud computing providers offer their services according to several fundamental models:
Software as a Service (SaaS) The capability provided to the consumer is to use the provider’s applications running on a cloud infrastructure. The applications are accessible from various client devices through either a thin client interface, such as a web browser (web-based email), or a program interface. The consumer does not manage or control the underlying cloud infrastructure including network, servers, operating systems, storage, or even individual application capabilities, with the possible exception of limited user specific application configuration settings.
Platform as a Service (PaaS) The capability provided to the consumer is to deploy onto the cloud infrastructure consumer-created or acquired applications created using programming languages, libraries, services, and tools supported by the provider.3 The consumer does not manage or control the underlying cloud infrastructure including network, servers, operating systems, or storage, but has control over the deployed applications and possibly configuration settings for the application-hosting environment.
Infrastructure as a Service (IaaS) The capability provided to the consumer is to provision processing, storage, networks, and other fundamental computing resources where the consumer is able to deploy and run arbitrary software, which can include operating systems and applications. The consumer does not manage or control the underlying cloud infrastructure but has control over operating systems, storage, and deployed applications; and possibly limited control of select networking components (e.g., host firewalls).
2.4. Deployment models
Cloud providers offers several methods of implementing the services, the most important are:
Private cloud – The cloud infrastructure is provisioned for exclusive use by a single organization comprising multiple consumers (e.g., business units). It may be owned, managed, and operated by the organization, a third party, or some combination of them, and it may exist on or off premises. Undertaking a private cloud project requires a significant level and degree of engagement to virtualize the business environment, and requires the organization to reevaluate decisions about existing resources. When done right, it can improve business, but every step in the project raises security issues that must be addressed to prevent serious vulnerabilities.
Public cloud – The cloud infrastructure is provisioned for open use by the general public. It may be owned, managed, and operated by a business, academic, or government organization, or some combination of them. It exists on the premises of the cloud provider. Technically there may be little or no difference between public and private cloud architecture, however, security consideration may be substantially different for services (applications, storage, and other resources) that are made available by a service provider for a public audience and when communication is effected over a non-trusted network. Generally, public cloud service providers like Amazon AWS, Microsoft and Google own and operate the infrastructure at their data center and access is generally via the Internet.
Hybrid cloud – The cloud infrastructure is a composition of two or more distinct cloud infrastructures (private, community, or public) that remain unique entities, but are bound together by standardized or proprietary technology that enables data and application portability (e.g., cloud bursting for load balancing between clouds) .
A hybrid cloud service crosses isolation and provider boundaries so that it can’t be simply put in one category of private, public, or community cloud service. It allows one to extend either the capacity or the capability of a cloud service, by aggregation,integration or customization with another cloud service.
3. Detailed presentation of Public Cloud implementation model
Public cloud is one based on the standard cloud computing model, in which a service provider makes resources, such as applications and storage, available to the general public over the Internet. Public cloud services may be free or offered on a pay-per-usage model.
The most recognisable model of cloud computing to many consumers is the public cloud model, under which cloud services are provided in a virtualised environment, constructed using pooled shared physical resources, and accessible over a public network such as the internet. To some extent they can be defined in contrast to private clouds which ring-fence the pool of underlying computing resources, creating a distinct cloud platform to which only a single organisation has access. Public clouds, however, provide services to multiple clients using the same shared infrastructure.
The most salient examples of cloud computing tend to fall into the public cloud model because they are, by definition, publicly available. Software as a Service (SaaS) offerings such as cloud storage and online office applications are perhaps the most familiar, but widely available Infrastructure as a Service (IaaS) and Platform as a Service (PaaS) offerings, including cloud based web hosting and development environments, can follow the model as well (although all can also exist within private clouds). Public clouds are used extensively in offerings for private individuals who are less likely to need the level of infrastructure and security offered by private clouds. However, enterprise can still use public clouds to make their operations significantly more efficient, for example, with the storage of non-sensitive content, online document collaboration and webmail.
The public model offers the following features and benefits:
- Ultimate scalability; cloud resources are available on demand from the public clouds’ vast pools of resource so that the applications that run on them can respond seamlessly to fluctuations in activity
- Cost effective; public clouds bring together greater levels of resource and so can benefit from the largest economies of scale. The centralised operation and management of the underlying resources is shared across all of the subsequent cloud services whilst components, such as servers, require less bespoke configuration. Some mass market propositions can even be free to the client, relying on advertising for their revenue.
- Utility style costing; public cloud services often employ a pay-as-you-go charging model whereby the consumer will be able to access the resource they need, when they need it, and then only pay for what they use; therefore avoiding wasted capacity
- Reliability; the sheer number of servers and networks involved in creating a public cloud and the redundancy configurations mean that should one physical component fail, the cloud service would still run unaffected on the remaining components. In some cases, where clouds draw resource from multiple data centres, an entire data centre could go offline and individual cloud services would suffer no ill effect. There is, in other words, no single point of failure which would make a public cloud service vulnerable
- Flexibility; there are a myriad of IaaS, PaaS and SaaS services available on the market which follow the public cloud model and that are ready to be accessed as a service from any internet enabled device. These services can fulfil most computing requirements and can deliver their benefits to private and enterprise clients alike. Businesses can even integrate their public cloud services with private clouds, where they need to perform sensitive business functions, to create hybrid clouds
- Location independence; the availability of public cloud services through an internet connection ensures that the services are available wherever the client is located. This provides invaluable opportunities to enterprise such as remote access to IT infrastructure (in case of emergencies) or online document collaboration from multiple locations.
4. Significant research centers and theme, conferences and industry-specific journals
There are few specialized centers in cloud computing. Among the most popular centers we can remind International Journal of Cloud Computing. IJCC is a refereed as International publication featuring with the latest research findings and industry solutions involving all aspects of cloud computing. IJCC’s major topics include but not limited to architecture, modeling, development, deployment, analytics, optimization, outsourcing, delivery model, consulting, and solutions of Cloud Computing.
There are also many publications that focus on the subject Cloud Computing field. The latest news, discoveries and other topics are discussed by passionate writers. The most popular publications currently are:
- IEEE Cloud Computing (http://cloudcomputing.ieee.org) The IEEE Cloud Computing Initiative (CCI), launched in April 2011, has picked up momentum since it received significant funding from the IEEE New Initiative Committee. Several products and services that have been in the works for months are now being introduced, including conferences, continuing education courses, publications, standards, and a platform for testing cloud computing applications
- CloudAve (www.cloudave.com) – CloudAve seeks to be the preeminent location for commentary and analysis on all things relating to Cloud computing and SaaS. CloudAve provides general commentary on business related trends, tips and tricks for users, reviews of different work related applications, detailed analysis of releases, and strategies to increase the uptake of SaaS.
- Cloud Computing World (http://cloudcomputing.blogspot.ro) – Blog focused on leading-edge enterprise technologies Cloud Computing and Big Data
- Alltop Cloud Computing (http://cloud-computing.alltop.com)
- Cnet Clout Computing (http://cloud-computing.tmcnet.com/)
Cloud computing offers many benefits. It allows you to set up what is essentially a virtual office to give you the flexibility of connecting to your business anywhere, any time. With the growing number of web-enabled devices used in today’s business environment (e.g. smartphones, tablets), access to your data is even easier. Scalability, Business continuity, Collaboration efficiency, Flexibility of work practices and Access to automatic updates are most important benefits if you move your business to the cloud.