This essay has been submitted by a student. This is not an example of the work written by our professional essay writers.
Cloud computing promises to increase the velocity with which applications are deployed, increase innovation, and lower costs, all while increasing business agility.We shall takes an inclusive view of cloud computing that allows it to support every facet, including the server, storage, network, and virtualization technology that drives cloud computing environments to the software that runs in virtual appliances that can be used to assemble applications in minimal time. In this research paper, we will discusses how cloud computing transforms the way we design, build, and deliver applications, and the architectural considerations that enterprises must make when adopting and using cloud computing technology.
What is Cloud computing:
Cloud computing is considered by many to be the next great wave in the IT industry. According to my research, cloud computing can be defined as running appication in an internet each time it is used. The phrase “in the cloud” may refer to a company's own network, but the term “cloud computing” almost always refers to the internet and the ise of web browser-based. For example, Google Apps and Zoho provides common business application online that are accessed from a web browser. The software comes from the web servers, and the data may be stored on the servers as well. A cloud service has three distinct characteristics that differentiate it from traditional hosting. It is sold on demand, typically by the minute or the hour; it is elastic -- a user can have as much or as little of a service as they want at any given time; and the service is fully managed by the provider (the consumer needs nothing but a personal computer and Internet access). Significant innovations in virtualization and distributed computing, as well as improved access to high-speed Internet and a weak economy, have accelerated interest in cloud computing. A cloud can be private or public. A public cloud sells services to anyone on the Internet. (Currently, Amazon Web Services is the largest public cloud provider.) A private cloud is a proprietary network or a data center that supplies hosted services to a limited number of people. When a service provider uses public cloud resources to create their private cloud, the result is called a virtual private cloud. Private or public, the goal of cloud computing is to provide easy, scalable access to computing resources and IT services. Cloud computing is a general term for anything that involves delivering hosted services over the Internet. These services are broadly divided into three categories: Infrastructure-as-a-Service (IaaS), Platform-as-a-Service (PaaS) and Software-as-a-Service (SaaS). The name cloud computing was inspired by the cloud symbol that's often used to represent the Internet in flow charts and diagrams.
A cloud client consists of computer hardware and/or computer software which relies on cloud computing for application delivery, or which is specifically designed for delivery of cloud services and which, in either case, is essentially useless without it.
Thick clients (e.g. desktop PC):
Thick clients, also called heavy clients, are full-featured computers that are connected to a network. Unlike thin clients, which lack hard drives and other features, thick clients are functional whether they are connected to a network or not. While a thick client is fully functional without a network connection, it is only a "client" when it is connected to a server. The server may provide the thick client with programs and files that are not stored on the local machine's hard drive. It is not uncommon for workplaces to provide thick clients to their employees. This enables them to access files on a local server or use the computers offline. When a thick client is disconnected from the network, it is often referred to as a workstation.
Thin clients (e.g. CherryPal, OnLive hardware):
A thin client (sometimes also called a lean or slim client) is a computer or a computer program which depends heavily on some other computer (its server) to fulfill its traditional computational roles. Thin clients occur as components of a broader computer infrastructure, where many clients share their computations with the same server. As such, thin client infrastructures can be viewed as the amortization of some computing service across several user-interfaces. This is desirable in contexts where individual fat clients have much more functionality or power than the infrastructure either requires or uses.
Smartphone (e.g. iPhone, Android phone, Windows mobile phone):
A Smartphone is a mobile phone offering advanced capabilities, often with PC-like functionality (PC mobile handset convergence). There is no industry standard definition of a Smartphone. For some, a Smartphone is a phone that runs complete operating system software providing a standardized interface and platform for application developers. For others, a Smartphone is simply a phone with features considered advanced at the time of its release - e.g., in the early 2000s this was features such as e-mail and Internet, but now these are commonplace on non-Smartphone. Other definitions might include features such as e-book reader capabilities, Wi-Fi, and/or a built-in full keyboard or external USB keyboard and VGA connector. In other words, it is a miniature computer that has phone capability. Growth in demand for advanced mobile devices boasting powerful processors, abundant memory, larger screens and open operating systems has outpaced the rest of the mobile phone market for several years.
SORT OF SOFTWARE CLIENT
Rich or fat clients:
A fat client or rich client is a computer (Client) in client-server architecture networks which typically provides rich functionality independently of the central server. Originally known as just a 'client' or 'thick client', the name is contrasted to thin client, which describes a computer heavily dependent on a server's applications. A fat client still requires at least periodic connection to a network or central server, but is often characterized by the ability to perform many functions without that connection. In contrast, a thin client generally does as little processing as possible and relies on accessing the server each time input data needs to be processed or validated.
Smart Client is a term used to describe an application environment which:
delivers applications over a web http connection
does not require installation (or provide automated installation and updates)
automatically updates without user action
has the look and feel of desktop applications
The term "Smart Client" is meant to refer to simultaneously capturing the benefits of a "thin client" (zero-install, auto-update) and a "fat client" (high performance, high productivity). A "Smart Client" application can be created in several very different technologies. The original use of the term in the context of the web was Isomorphic Software's SmartClient product (they own the SmartClient.com domain), which uses an Ajax-based, cross-browser cross-platform approach. Subsequently Microsoft began using the terminology to refer to .NETapplications delivered via the Internet Explorer browser to Windows XP. The terms "Rich Internet Application" (RIA) and "rich web application" are essentially synonymous with "Smart Client", and are used to refer to several other technological approaches including Flash, Java applets and Webstart applications.
Web application are popular due to the ubiquity of web browsers, and the convenience of using a web browser as a client, sometimes called Thin Client. The ability to update and maintain web applications without distributing and installing software on potentially thousands of client computers is a key reason for their popularity, as is the inherent support for cross-platform compatibility. Common web applications include webmail, online retail sales, online auctions, wikis and many other functions.
SOFTWARE CLOUD CLIENT
CLOUD COMPUTING SERVICES
Cloud application services or "Software as a Service (SaaS)" deliver software as a service over the Internet, eliminating the need to install and run the application on the customer's own computers and simplifying maintenance and support. Key characteristics include:
Network-based access to, and management of, commercially available (i.e., not custom) software
Activities that are managed from central locations rather than at each customer's site, enabling customers to access applications remotely via the Web
Application delivery that typically is closer to a one-to-many model (single instance, multi-tenant architecture) than to a one-to-one model, including architecture, pricing, partnering, and management characteristics
Centralized feature updating, which obviates the need for downloadable patches and upgrades.
Software as a Service (SaaS) is a software distribution model in which applications are hosted by a vendor or service provider and made available to customers over a network, typically the Internet. SaaS is becoming an increasingly prevalent delivery model as underlying technologies that support Web services and service-oriented architecture (SOA) mature and new developmental approaches, such as Ajax, become popular. Meanwhile, broadband service has become increasingly available to support user access from more areas around the world. SaaS is closely related to the ASP (application service provider) and On Demand Computing software delivery models. IDC identifies two slightly different delivery models for SaaS. The hosted application management(hosted AM) model is similar to ASP: a provider hosts commercially available software for customers and delivers it over the Web. In thesoftware on demand model, the provider gives customers network-based access to a single copy of an application created specifically for SaaS distribution. IDC predicts that SaaS will make up 30 percent of the software market by 2007 and will be worth $10.7 billion by 2009.
Benefits of the SaaS model include:
• Easier administration
• Automatic updates and patch management
• Compatibility: All users will have the same version of software.
• Easier collaboration, for the same reason
• Global accessibility.
The traditional model of software distribution, in which software is purchased for and installed on personal computers, is sometimes referred to assoftware as a product
Cloud platform services or "Platform as a Service (PaaS)" deliver a computing platform and/or solution stack as a service, often consuming cloud infrastructure and sustaining cloud applications. It facilitates deployment of applications without the cost and complexity of buying and managing the underlying hardware and software layers. Platform as a service encapsulates a layer of software and provides it as a service that can be used to build higher-level services. There are at least two perspectives on PaaS depending on the perspective of the producer or consumer of the services:
• Someone producing PaaS might produce a platform by integrating an OS,middleware, application software, and even a development environment that is then provided to a customer as a service. For example, someone developing a PaaS offering might base it on a set of Sun™ xVM hypervisor virtual machines that include a NetBeans™ integrated development environment, a Sun GlassFish™ Web stack and support for additional programming languages such as Perl or Ruby.
• Someone using PaaS would see an encapsulated service that is presented to them through an API. The customer interacts with the platform through the API, and the platform does what is necessary to manage and scale itself to provide a given level of service. Virtual appliances can be classified as instances of PaaS. A content switch appliance, for example, would have all of its component software hidden from the customer, and only an API or GUI for configuring and deploying the service provided to them. PaaS offerings can provide for every phase of software development and testing, or they can be specialized around a particular area such as content management. Commercial examples of PaaS include the Google Apps Engine, which serves applications on Google's infrastructure. PaaS services such as these can provide a powerful basis on which to deploy applications, however they may be constrained by the capabilities that the cloud provider chooses to deliver
Cloud computing infrastructure models
There are many considerations for cloud computing architects to make when moving from a standard enterprise application deployment model to one based on cloud computing. There are public and private clouds that offer complementary benefits, there are three basic service models to consider, and there is the value of open APIs versus proprietary ones.
Infrastructure as a service (IaaS):
Infrastructure as a service delivers basic storage and compute capabilities as standardized services over the network. Servers, storage systems, switches, routers, and other systems are pooled and made available to handle workloads that range from application components to high-performance computing applications. Commercial examples of IaaS include Joyent, whose main product is a line of virtualized servers that provide a highly available on-demand infrastructure.
Public, private, and hybrid clouds
IT organizations can choose to deploy applications on public, private, or hybrid clouds, each of which has its trade-offs. The terms public, private, and hybrid do not dictate location. While public clouds are typically “out there” on the Internet and private clouds are typically located on premises, a private cloud might be hosted at a collocation facility as well. Companies may make a number of considerations with regard to which cloud computing model they choose to employ, and they might use more than one model to solve different problems. An application needed on a temporary basis might be best suited for deployment in a public cloud because it helps to avoid the need to purchase additional equipment to solve a temporary need. Likewise, a permanent
application, or one that has specific requirements on quality of service or location of data, might best be deployed in a private or hybrid cloud.
Public clouds are run by third parties, and applications from different customers are likely to be mixed together on the cloud's servers, storage systems, and networks Public clouds are most often hosted away from customer premises, and they provide a way to reduce customer risk and cost by providing a flexible, even temporary extension to enterprise infrastructure. If a public cloud is implemented with performance, security, and data locality in mind, the existence of other applications running in the cloud should be transparent to both cloud architects and end users. Indeed, one of the benefits of public clouds is that they can be much larger than a
company's private cloud might be, offering the ability to scale up and down on demand, and shifting infrastructure risks from the enterprise to the cloud provider, if even just temporarily.
Diagram showing overview of cloud computing including Google, Salesforce, Amazon, Microsoft, Yahoo and Zoho;
Critical Evaluation & Conclusion
So why the tepid enthusiasm? For a couple of them, cloud computing functionality is really not ready for prime time use by enterprises. For others, cloud computing is too ambiguous a term for enterprises to really understand what it means. For yet others, cloud computing doesn't—and may never—offer the necessary functional factors that enterprise IT requires. Even large enterprises with plenty of need for management of physical IT infrastructures can benefit from cloud computing, though. Data storage is probably the biggest benefit for these types of companies: It can be managed almost endlessly in a cloud architecture, with costs often far below those of traditional, on-site storage options. This benefit is one that a lot of organizations are starting to look into seriously.
9. Alex Chaffee (2000-08-17). "What is a web application (or "webapp")?". Retrieved 2008-07-27.
10. James Duncan Davidson, Danny Coward (1999-12-17). Java Servlet Specification ("Specification") Version: 2.2 Final Release. Sun Microsystems. pp. 43-46. Retrieved 2008-07-27.
11. Dynamic HTML and XML: The XMLHttpRequest Object". Apple Inc. Retrieved 2008-06-25.
12. a b c d e f g h i j Jeremy Petersen. "Benefits of using the n-tiered approach for web applications".
13. Multiple (wiki). "Web application framework". Docforge. Retrieved 2010-03-06.Multiple (wiki). "Framework". Docforge. Retrieved 2010-03-06.
14. Read "'Cloud computing' takes hold as 69% of all internet users have either stored data online or used a web-based software application" from the Pew Internet and American Life Project (September 2008).
15. Learn more about IBM's cloud computing initiative.