the nist definition of cloud computing cloud computing research paper

12
Cloud Computing Research Khan Faimin Shakeel ,Nikhil Singh Chandrashekhar M. H. Saboo Siddik College of Engineering Saboo Siddik Polytechnic Road Byculla (west),Mumbai-08 [email protected] [email protected] Abstract- Cloud computing is a better way to run your business. Instead of running your apps yourself, they run on a shared data center. The underlying concept of cloud computing dates back to 1960, when John McCarthy opined that "computation may someday be organized as a public utility"; indeed it shares characteristics with service bureaus that date back to the 1960s.The actual term "cloud" borrows from telephony in that telecommunications companies, who until the 1990s primarily offered dedicated point-to-point data circuits, began offering “VIRTUAL PRIVATE NETWORK (VPN)” services with comparable qualityof service but at a much lower cost. The cloud symbol was used to denote the demarcation point between that which was the responsibility of the provider from that of the user. Cloud computing extends this boundary to cover servers as well as the network infrastructure.Cost is claimed to be greatly reduced and capital expenditure is converted to operational expenditure. Device and location independence enable users to access systems using a webbrowser regardless of their location or what device they are using. The NIST Definition of Cloud Computing Cloud computing is a model for enabling ubiquitous, convenient, on-demand network access to a shared pool of configurable computing resources (e.g., networks, servers, storage, applications, and services) that can be rapidly provisioned and released with minimal management effort or service provider interaction. Essential Characteristics: 1. On-demand self-service. A consumer can unilaterally provision computing capabilities, such as server time and network storage, as

Upload: faimin-khan

Post on 12-Apr-2017

78 views

Category:

Technology


2 download

TRANSCRIPT

Page 1: The Nist definition of cloud computing cloud computing Research Paper

Cloud Computing ResearchKhan Faimin Shakeel ,Nikhil Singh Chandrashekhar

M. H. Saboo Siddik College of Engineering

Saboo Siddik Polytechnic Road

Byculla (west),Mumbai-08

[email protected]

[email protected]

Abstract- Cloud computing is a better way to run your business. Instead of running your apps yourself, they run on a shared data center. The underlying concept of cloud computing dates back to 1960, when John McCarthy opined that "computation may someday be organized as a public utility"; indeed it shares characteristics with service bureaus that date back to the 1960s.The actual term "cloud" borrows from telephony in that telecommunications companies, who until the 1990s primarily offered dedicated point-to-point data circuits, began offering “VIRTUAL PRIVATE NETWORK (VPN)” services with comparable qualityof service but at a much lower cost. The cloud symbol was used to denote the demarcation point between that which was the responsibility of the provider from that of the user. Cloud computing extends this boundary to cover servers as well as the network infrastructure.Cost is claimed to be greatly reduced and capital expenditure is converted to operational expenditure. Device and location independence enable users to access systems using a webbrowser regardless of their location or what device they are using.

The NIST Definition of Cloud Computing

Cloud computing is a model for enabling ubiquitous, convenient, on-demand network access to a shared pool of configurable computing resources (e.g., networks, servers, storage, applications, and services) that can be rapidly provisioned and released with minimal management effort or service provider interaction.

Essential Characteristics:

1. On-demand self-service. A consumer can unilaterally provision computing capabilities, such as server time and network storage, as needed automatically without requiring human interaction with each service provider.

2. Broad network access. Capabilities are available over the network and accessed through standard mechanisms that promote use by heterogeneous thin or thick client platforms (e.g., mobile phones, tablets, laptops, and workstations).

3. Resource pooling. The provider’s computing resources are pooled to serve multiple consumers using a multi-tenant model, with different physical and virtual resources dynamically assigned and reassigned according to consumer demand. There is a sense of location independence in that the customer generally has no control or knowledge over the exact location of the provided resources but may be able to specify location at a

Page 2: The Nist definition of cloud computing cloud computing Research Paper

higher level of abstraction (e.g., country, state, or datacenter). Examples of resources include storage, processing, memory, and network bandwidth. Rapid elasticity. Capabilities can be elastically provisioned and released, in some cases automatically, to scale rapidly outward and inward commensurate with demand. To the consumer, the capabilities available for provisioning often appear to be unlimited and can be appropriated in any quantity at any time.

4. Measured service. Cloud systems automatically control and optimize resource use by leveraging a metering capability1 at some level of abstraction appropriate to the type of service (e.g., storage, processing, bandwidth, and active user accounts). Resource usage can be monitored, controlled, and reported, providing transparency for both the provider and consumer of the utilized service.

Service Models:

1. 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 (e.g., 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 userspecific application configuration settings.

2. 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.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.

3. 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).

Deployment Models:

1. 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.

2. Community cloud.

Page 3: The Nist definition of cloud computing cloud computing Research Paper

The cloud infrastructure is provisioned for exclusive use by a specific community of consumers from organizations that have shared concerns (e.g., mission, security requirements, policy, and compliance considerations). It may be owned, managed, and operated by one or more of the organizations in the community, a third party, or some combination of them, and it may exist on or off premises.

3. 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.

4. 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)

Advantages of Cloud Computing

1) Low Cost -- Entering the cloud is a low-cost proposition. It does not require a large capital investment up front for hardware, equipment and infrastructure. You will need to have desktops, laptops or some type of device to access the Internet and utilize your data. But, the investment in implementing and maintaining your own in-house network is minimal. For many small businesses, this is important. The cost of maintaining an in-house network is enormous and seems to be increasing every day. With an in-house network, there are the costs of software and hardware upgrades as well as maintaining and training of an IT staff. Because these responsibilities are with the cloud services provider, those costs are theirs. The best way to think of the cost of cloud computing is to think in terms of renting vs. owning. The cloud provider owns and maintains all of the resources and the business client begins to use it for a monthly or annual fee. This is similar to what is commonly referred to as the Software-as-a-Service (or SaaS) model. You pay as you go. This type of model gives the business owner more predictability in budgeting for these costs.

2) Flexibility -- With cloud computing, because you only pay for what you use, you have the flexibility to only use what you need. This means if you are a small business in a start-up mode, you can start small. As the business grows, you simply use more computing resources as needed. It can be very fast to set up, implement, and bring into operation. Some cloud providers are set up to automatically scale for your resource demands. The infrastructure can usually be customized to your needs. It can be a private network, public, or a combination of both. In addition, the cloud supports multi-platform development environments.

3) Simple, Fast, Easy -- The beauty of cloud computing is that it's easy. Using cloud computing can streamline many parts of your business. Your business can run more efficiently when you tap into web-based applications that are available in the cloud. Everything from prospect management applications to customer billing and invoicing can be moved out of your shop and into the cloud. This gives you the ability to focus on what you do best in your business and excel at your strengths while someone else handles the administrative functions.

Page 4: The Nist definition of cloud computing cloud computing Research Paper

4) Accessibility -- Regardless of where you are in the world, you can access your cloud based applications. Gone are the complicated remote login procedures required for your in-house network. The only thing required is a device that can access the web and an Internet connection. This means your staff can have access anywhere and at anytime, from home, office or on the road at a client's office.

5) Sustainability -- Should a natural disaster strike your business, the good news is that your computing capability resides somewhere else. Obviously, this is a disadvantage if the disaster hits your cloud provider. (See Disadvantage #2 below.)

Disadvantages of Cloud Computing

1) Security of Your Data -- This is one of the primary concerns related to cloud computing. In a very basic sense, the data that used to reside within the four walls of your facility now resides elsewhere. The security of that data must be addressed, particularly if the data contains trade secrets, proprietary lists, customer files, etc. Adding to the concern are the results from a recent survey: 69% of cloud providers said that data security was the responsibility of the end-user. By contrast, only 35% of the end-users agreed that they should be responsible. It is clear that there is a disparity between cloud providers and cloud users about who is responsible for data security. "Anyone purchasing cloud services should assume that their data is vulnerable to compromise," said Derek Carr, President of The HelpDesk LLC. "Going into it with that frame of mind sets the stage for proper measures to be taken right from the start," he added. While many small businesses do not have the resources to adequately protect their data even when it is in-house, a reasonably priced off-site solution may be right for certain applications. The key is asking the right questions of the provider and getting good advice.

2) Redundancy -- This term refers to the reliability of your web-based applications that run in the cloud. A practical example would be if the server that your website is running on crashes, another server picks up where the other left off and your business keeps going. This is redundancy. In the cloud many think that because their applications are running "out there" on the Internet that there is built-in redundancy. This is a misconception and not true. The typical cloud provider will have resources running on one server. Some will have multiple servers and this is good; however, the truth is that those multiple servers typically reside in one data center. If there is a problem at the data center that takes down multiple servers, or the entire data center, then your business can come down with it. This has happened. There are several recent examples of major entities being down for anywhere from an hour to several days over the past two years. These have included Amazon, Microsoft SideKick, Google, Hotmail, Intuit and others.

3) Costs When Under Attack -- Even though cloud computing offers a great low cost option for small businesses, it can actually cost more money if a company's website comes under a distributed denial of service (DDoS) attack. The reason is that the typical goal of a DDoS attack is to gobble up resources in order to render the server incapacitated. If the cloud computing provider has no protections in place against DDoS attacks, when the site is attacked, the provider will simply begin to increase the resources that the site requires (due to the attack) and bill for the resources provided. It is important to ask the provider what kind of provisions they have to protect against this type of attack.

Page 5: The Nist definition of cloud computing cloud computing Research Paper

4) Performance Can Vary -- In a cloud environment, your applications are running on servers that simultaneously provide resources to other businesses. As the requirements for the other users go up and down, the performance of your share of the resources will vary. Often, a cloud provider may claim that the resources available to you are unlimited. This may be theoretically true, but from a practical point of view the hardware scalability is probably limited. You may not know exactly how scalable it is until you reach your usage limitation on their system.

GOOGLE APP ENGINE

Google App Engine is a way to write your own web applications and have them hosted on Google servers .It enables developers to build their web applications on the same scalable system that power Google applications. It focus on two things i.e. Easy to start (starting from a great idea to running it live on the web) and Easy to scale (once you get to a point where there is serious traffic i.e millions of users you have to be sure that your infrastructure is able to handle that increased load).Building and maintaining the applications using the App Engine is easy. It is also easy to scale when the traffic and the data storage requirements increase. Using the App Engine there are even no servers to maintain, all one has to do is to upload the application and the rest is taken care by the Google. One can serve the app from own domain name using Google Apps or using a free name on the appspot.com domain .Google App provides several security features in order to keep the data safe, secure and in control of the developer. The applications can be shared with the world, or limited to the members of an organization. It also serve its users with exceptionally secure data centers. With the App Engine the developers need to pay only for what they use. To begin with, there are no set-up costs or recurring fees. The resources used by the applications like storage, bandwidth etc are measured by the gigabyte and billing is done at competitive rates. As the developer is the one who controls the maximum of the resource amount that an app can consume it always stay within the budget. In other words, App Engine costs nothing to get started.

II.WHY GOOGLE BUILD APP ENGINE?

The purpose behind the creation of the App Engine is to make web better by empowering several new developers to build web applications for the web. As a result of opening App Engine to the public, several bright developers will be allowed to check, test, poke, find problems and suggest fixes and improvements. And even though, if other companies enter application cloud market, they will be playing catch-up.

III.GOOGLE APPS Apps is an acronym for abbreviation. An app is a piece of software which can run on the computer, internet, phone or any other electronic device. Google refers to their online services as Apps. They also sell a specific suite of services known as Google Apps.

IV. SOME GOOGLE APPS GMAIL-is designed to work on any computer or a mobile using a data connection. Its offline support keeps you working even when you are disconnected. Wherever you maybe, your email is always there.

GOOGLE DOCS-One can create, edit or view awesome presentations, documents and spreadsheets. It also allows team members to work on the same document simultaneously.

Page 6: The Nist definition of cloud computing cloud computing Research Paper

CALENDAR- Calendar sharing provides an easy way to find time with the people you are working with, it also has a smart scheduling feature which suggests meeting times that suits everyone. GOOGLE DRIVE-Using this application, you have an access to the up to date version of your files from anywhere. E.g. PC’s, Mac, Phones. There are many more Google apps such as Google Voice, Google Now, Google Reader, Ad Sense, Ad Words, Google Maps, and You Tube etc.

IV.APPLICATION ENVIRONMENT The application runtime environment consist of the interpreter which executes the code (it can be either the Python interpreter or the Java virtual machine), the application’s memory, a read-only file system along with application’s resource files, and APIs to the App Engine services. It also comprises of the request handler API, defining the server and the handler communication regarding the request and response, and the handler emitting messages to the App Engine logging system.

App engine architecture

The App Engine is designed to address your concerns regarding scalability and reliability. It is built on the concept of horizontal scaling which means instead of running your application on a powerful hardware it runs your application on the Google data centers. The Fig. shows your App Engine application running as an isolated entity inside the structure of the multitenant environment. App Engine shares the available resources among multiple applications, but isolates the data and security between each application as well. Your application is allowed to use some of the Google services, like URL Fetch, Memcache, and Mail to execute processes on its behalf. Consider an example i.e. Suppose there is an apartment building (App Engine) with heating and central air controls. You being a tenant (your App Engine application) in this building can not directly adjust the temperature because that would affect the other tenants (other App Engine applications) also. So, you have to send a request to the building super to change the temperature on your behalf (URLFetch, Memcache, Mail, Bigtable query, XMPP, or any other Google App Engine service). This is essentially what is happening with App Engine. Running these services on behalf of your application is not something Google App Engine handles without any restrictions. Your application has a daily limit on each and every type of request. It is recorded and then subtracted from the daily allotment. Let's have a look at these quotas in detail .

Page 7: The Nist definition of cloud computing cloud computing Research Paper

Fig. Google App Engine Architechture.

Fixed and Billable Quotas: The Google App Engine outlines two types of quotas. These are shown in the table below: App Engine Quota Types Most applications will place well under the fixed quota limit of the free version of the Google App Engine. When you enable billing on your App Engine application, it increases your quota limits ahead of what is provided with the free version. An increase will be seen in the fixed allotment of resources. And, still if more is required, you can define a budget and then allocate resources.

VI. THE APP ENGINE DATASTORE Developers who have no knowledge about the relational databases will highly appreciate the fact that the Models (as in Model-View-Controller) are quite simpler to use in comparison to relational databases. The Google Data store can be scaled well beyond a million users. Using Models makes storage easier.

VI. APP ENGINE SERVICES

The App Engine offers a number of services that enable you to perform several common operations when managing your application. The following APIs are available to access these services: Mail Using the mail API, the developers can send email messages. Memcache The Memcache service gives the users the benefit of working efficiently by providing high retrieval speed, even when multiple users access the same application at the same instance of time. Image Manipulation The Image service allows you to manipulate images of your application. With the use of this API, you can resize, crop, rotate and flip images in JPEG and PNG formats

Who should be using cloud?

The U.S. Small & Medium Business (SMB) cloud computing & services market will grow from $43B in 2015 to $55B in 2016.

Hybrid cloud is now being used by 18% of cloud-using small businesses (1 to 99 employees).

For an increasing number of SMBs globally, their cloud application and service providers are their IT department. Cloud-based systems are particularly valuable to small and mid-tier manufacturers in North America who have small IT departments that are already overworked keeping key systems running. For these SMBs, cloud-based continuous delivery of new enhancements along with subscription-based pricing makes budgeting for services predictable and manageable.

The following are the key take-aways from recent research on SMB cloud computing adoption, forecasts and market estimates:

U.S. SMB cloud computing & services market will grow from $43B in 2015 to $55B in 2016.  Compass Intelligence forecasts a compound annual growth rate of 40% from 2011 to 2016.  The largest opportunity lies within data services, cloud solutions, applications/software, and professional/managed services.  The

Page 8: The Nist definition of cloud computing cloud computing Research Paper

following graphic provides an overview of the Compass Intelligence forecast.

37% of United States small businesses are adapted to the cloud, but an anticipated 78% will be fully cloud operational by 2020. 65% are conducting backoffice work including bookkeeping and accounting with cloud-based apps today. Nearly half (43%) of small business owners use a smartphone as the primary device to run their operations.  These and many other insights are from Intuit INTU +0.59%’s e-book summary of survey results The Appification of Small Business: Why the Small Business Market is the Next Big Thing for Developers (e-book on SlideShare).

.