Cloud Computing With Eyeos
Cloud Computing With Eyeos
Computer Department
TO WHOM SO EVER IT MAY CONCERN This is to certify that following student of B.E. 5th Semester (Computer Engineering) have complete their seminar on titled Cloud Computing With EyeOs satisfactory as a curriculum subject of 5th Semester in the November 2010. RollNo: 08CE05 Name: Sumit Ahuja (Internal seminar Guide) Mr. Himanshu Sutariya HOD Computer department
Certificate
Preface The basic goal of the computer enginnering so to effectively capture and organize the available informiation in a manner that would avail the management to concentrate more on decisional issue rather than the daily business chores. This has been a very important factor in the growth of computer technology and its quick amalgamation with different business process. As part of system development a computer engineering student gets a valuable experience of various business process. System development methodology and strategies.This project is the part of the 5th semester development of students. System design demarcates various processes pertaining to the system being developed. It incorporate data flows and relationship between different entities. I pleased to present this seminar report. Proper care has been takes while organizing the report so that is easy to comprehend. Also, various Software engineering concepts have been implemented. By- Sumit Ahuja(08CE05)
Acknowledgement
3
With every report that we have written, we realized more strongly how much a student rely upon his own efforts and good will of the others. We are greatly thankful to our seminar guide Himanshu Sutariya under whose guidance we have been able to complete our work satisfactorily. We would also like to show our gratitude to other teachers of computer engineering dept. to support us to accomplish the seminar successfully. Finally I would thank all those who confer their time and direction to complete the seminar report.
1. Introduction
4
Imagine yourself in the world where the users of the computer of todays internet world dont have to run, install or store their application or data on their own computers, imagine the world where every piece of your information or data would reside on the Cloud (Internet). As a metaphor for the Internet, "the cloud" is a familiar clich, but when combined with "computing", the meaning gets bigger and fuzzier. Some analysts and vendors define cloud computing narrowly as an updated version of utility computing: basically virtual servers available over the Internet. Others go very broad, arguing anything you consume outside the firewall is "in the cloud", including conventional outsourcing. Cloud computing comes into focus only when you think about what we always need: a way to increase capacity or add capabilities on the fly without investing in new infrastructure, training new personnel, or licensing new software. Cloud computing encompasses any subscription-based or pay-per-use service that, in real time over the Internet, extends ICT's existing capabilities. Cloud computing is at an early stage, with a motley crew of providers large and small delivering a slew of cloud-based services, from full-blown applications to storage services to spam filtering. Yes, utility-style infrastructure providers are part of the mix, but so are SaaS (software as a service) providers such as Salesforce.com. Today, for the most part, IT must plug into cloud-based services individually, but cloud computing aggregators and integrators are already emerging.
Cloud Computing Technology Cloud computing is Internet ("cloud") based development and use of computer technology ("computing"). It is a style of computing in which dynamically scalable and often virtualized resources are provided as a service over the Internet. Users need not have knowledge of, expertise in, or control over the technology infrastructure "in the cloud" that supports them. The concept incorporates infrastructure as a service (IaaS), platform as a service (PaaS) and software as a service (SaaS) as well as Web 2.0 and other recent technology trends which have the common theme of reliance on the Internet for satisfying the computing needs of the users. Examples of SaaS vendors include Salesforce.com and Google Apps which provide common business applications online that are accessed from a web browser, while the software and data are stored on the servers. The term cloud is used as a metaphor for the Internet, based on how the Internet is depicted in computer network diagrams, and is an abstraction for the complex infrastructure it conceals.
2.1 Comparison:
Cloud computing is often confused with grid computing ("a form of distributed computing whereby a 'super and virtual computer' is composed of a cluster of networked,
Cloud Computing Technology loosely-coupled computers, acting in concert to perform very large tasks"), utility computing (the "packaging of computing resources, such as computation and storage, as a metered service similar to a traditional public utility such as electricity") and autonomic computing ("computer systems capable of self-management"). Indeed many cloud computing deployments as of 2009 depend on grids, have autonomic characteristics and bill like utilities but cloud computing can be seen as a natural next step from the grid-utility model. Some successful cloud architectures have little or no centralized infrastructure or billing systems whatsoever, including peer-to-peer networks like Bit Torrent and Skype and volunteer computing like
2.2 Implementation:
The majority of cloud computing infrastructure as of 2009 consists of reliable services delivered through data centers and built on servers with different levels of virtualization technologies. The services are accessible anywhere that has access to networking infrastructure. The Cloud appears as a single point of access for all the computing needs of consumers. Commercial offerings need to meet the quality of service requirements of customers and typically offer service level agreements. Open standards are critical to the growth of cloud computing and open source software has provided the foundation for many cloud computing implementations.
2.3 Characteristics:
As customers generally do not own the infrastructure, they merely access or rent, they can avoid capital expenditure and consume resources as a service, paying instead for what they use. Many cloud-computing offerings have adopted the utility computing model, which is analogous to how traditional utilities like electricity are consumed, while others are billed on a subscription basis. Sharing "perishable and intangible" computing power among multiple tenants can improve utilization rates, as servers are not left idle, which can reduce costs significantly while increasing the speed of application development. A side effect of this approach is that "computer capacity rises dramatically" as customers do not have to engineer for peak loads. Adoption has been enabled by "increased high-speed bandwidth" which makes it possible to receive the same response times from centralized infrastructure at other sites.
2.4 Economics:
Cloud Computing Technology Cloud computing users can avoid capital expenditure (CapEx) on hardware, software and services, rather paying a provider only for what they use. Consumption is billed on a utility (e.g. resources consumed, like electricity) or subscription (e.g. time based, like a newspaper) basis with little or no upfront cost. Other benefits of this time sharing style approach are low barriers to entry, shared infrastructure and costs, low management overhead and immediate access to a broad range of applications. Users can generally terminate the contract at any time (thereby avoiding return on investment risk and uncertainty) and the services are often covered by service level agreements with financial penalties. According to Nicholas Carr the strategic importance of information technology is diminishing as it becomes standardized and cheaper. He argues that the cloud computing paradigm shift is similar to the displacement of electricity generators by electricity grids early in the 20th century.
2.5 Companies:
Providers including Amazon, Microsoft, Google, Sun and Yahoo exemplify the use of cloud computing. It is being adopted by individual users through large enterprises including General Electric, L'Oral, and Procter & Gamble.
3. History
The Cloud is a term with a long history in telephony, which has in the past decade, been adopted as a metaphor for internet based services, with a common depiction in network diagrams as a cloud outline. The underlying concept 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 which date back to the 1960s. The term cloud had already come into commercial use in the early 1990s to refer to large ATM networks. By the turn of the 21st century, the term "cloud computing" had started to appear, although most of the focus at this time was on Software as a service (SaaS). In 1999, Salesforce.com was established by Marc Benioff, Parker Harris, and his fellows. They applied many technologies of consumer web sites like Google and Yahoo! to business applications. They also provided the concept of "On demand" and "SaaS" with their real business and successful customers. The key for SaaS is being customizable by customer alone or with a small amount of help. Flexibility and speed for application development have been drastically welcomed and accepted by business users. IBM extended these concepts in 2001, as detailed in the Autonomic Computing Manifesto -- which described advanced automation techniques such as self-monitoring, self-healing, self-configuring, and self-optimizing in the management of complex IT systems with heterogeneous storage, servers, applications, networks, security mechanisms, and other system elements that can be virtualized across an enterprise. Amazon.com played a key role in the development of cloud computing by modernizing their data centers after the dot-com bubble and, having found that the new cloud architecture resulted in significant internal efficiency improvements, providing access to their systems by way of Amazon Web Services in 2005 on a utility computing basis. 2007 saw increased activity, with Google, IBM, and a number of universities embarking on a large scale cloud computing research project, around the time the term started gaining popularity in the mainstream press. It was a hot topic by mid-2008 and numerous cloud computing events had been scheduled. In August 2008, Gartner Research observed that "organizations are switching from company-owned hardware and software assets to per-use service-based models" and that the "projected shift to cloud computing will result in dramatic growth in IT products in some areas and in significant reductions in other areas."
4. Political Issues
Cloud Computing Technology The Cloud spans many borders and "may be the ultimate form of globalization." As such it becomes subject to complex geopolitical issues: providers must satisfy myriad regulatory environments in order to deliver service to a global market. This dates back to the early days of the Internet, where libertarian thinkers felt that "cyberspace was a distinct place calling for laws and legal institutions of its own"; author Neal Stephenson envisaged this as a tiny island data haven called Kinakuta in his classic science-fiction novel Cryptonomicon. Despite efforts (such as US-EU Safe Harbor) to harmonize the legal environment, as of 2009 providers such as Amazon Web Services cater to the major markets (typically the United States and the European Union) by deploying local infrastructure and allowing customers to select "availability zones." Nonetheless, there are still concerns about security and privacy from individual through governmental level, e.g., the USA PATRIOT Act and use of national security letters and the Electronic Communication Privacy Act's Stored Communications Act.
5. Legal Issues
10
Cloud Computing Technology In March 2007, Dell applied to trademark the term "cloud computing" (U.S. Trademark 77,139,082) in the United States. The "Notice of Allowance" it received in July 2008 was canceled on August 6, resulting in a formal rejection of the trademark application less than a week later. On 30 September 2008, USPTO issued a "Notice of Allowance" to CGactive LLC (U.S. Trademark 77,355,287) for "CloudOS". A cloud operating system is a generic operating system that "manage[s] the relationship between software inside the computer and on the Web", such as Microsoft Azure. Good OS LLC also announced their "Cloud" operating system on 1 December 2008. Richard Stallman, founder of the Free Software Foundation, believes that cloud computing endangers liberties because users sacrifice their privacy and personal data to a third party. In November 2007, the Free Software Foundation released the Affero General Public License, a version of GPLv3 designed to close a perceived legal loophole associated with free software designed to be run over a network, particularly software as a service. An application service provider is required to release any changes they make to Affero GPL open source code
6. Risk Mitigation
11
Corporations or end-users wishing to avoid not being able to access their data or even losing it should research vendors' policies on data security before using vendor services. One technology analyst and consulting firm, Gartner, lists seven security issues which one should discuss with a cloud-computing vendor:
1. Privileged user accessinquire about who has specialized access to data and about the hiring and management of such administrators. 2. Regulatory compliancemakes sure a vendor is willing to undergo external audits and/or security certifications. 3. Data locationsask if a provider allows for any control over the location of data. 4. Data segregationmake sure that encryption is available at all stages and that these "encryption schemes were designed and tested by experienced professionals". 5. Recoveryfind out what will happen to data in the case of a disaster; do they offer complete restoration and, if so, how long that would take. 6. Investigative Supportinquire whether a vendor has the ability to investigate any inappropriate or illegal activity. 7. Long-term viabilityask what will happen to data if the company goes out of business; how will data be returned and in what format.
In practice, one can best determine data-recovery capabilities by experiment: asking to get back old data, seeing how long it takes, and verifying that the checksums match the original data. Determining data security is harder. A tactic not covered by Gartner is to encrypt the data yourself. If you encrypt the data using a trusted algorithm, then regardless of the service provider's security and encryption policies, the data will only be accessible with the decryption keys. This leads to a follow-on problem: managing private keys in a pay-on-demand computing infrastructure.
12
7. Key characteristics
Cost is greatly reduced and capital expenditure is converted to operational expenditure. This lowers barriers to entry, as infrastructure is typically provided by a third-party and does not need to be purchased for one-time or infrequent intensive computing tasks. Pricing on a utility computing basis is fine-grained with usage-based options and minimal or no IT skills are required for implementation. Device and location independence enable users to access systems using a web browser regardless of their location or what device they are using, e.g., PC, mobile. As infrastructure is off-site (typically provided by a third-party) and accessed via the Internet the users can connect from anywhere. Multi-tenancy enables sharing of resources and costs among a large pool of users, allowing for: o Centralization of infrastructure in areas with lower costs (such as real estate, electricity, etc.) o Peak-load capacity increases (users need not engineer for highest possible load-levels) o Utilization and efficiency improvements for systems that are often only 10-20% utilized. Reliability improves through the use of multiple redundant sites, which makes it suitable for business continuity and disaster recovery. Nonetheless, most major cloud computing services have suffered outages and IT and business managers are able to do little when they are affected. Scalability via dynamic ("on-demand") provisioning of resources on a finegrained, self-service basis near real-time, without users having to engineer for peak loads. Performance is monitored and consistent and loosely-coupled architectures are constructed using web services as the system interface. Security typically improves due to centralization of data, increased securityfocused resources, etc., but raises concerns about loss of control over certain sensitive data. Security is often as good as or better than traditional systems, in part because providers are able to devote resources to solving security issues that many customers cannot afford. Providers typically log accesses, but accessing the audit logs themselves can be difficult or impossible. Sustainability comes about through improved resource utilization, more efficient systems, and carbon neutrality. Nonetheless, computers and associated infrastructure are major consumers of energy.
13
8. Components
Infrastructur BitTorrent EC2 GoGrid Sun Grid 3tera e Platforms Services Storage Standards App Engine Azure Mosso SalesForce Alexa FPS MTurk SQS S3 SimpleDB SQL Services Ajax Atom HTML 5 REST
8.1 Application
14
Cloud Computing Technology A cloud application leverages the Cloud in software architecture, often eliminating the need to install and run the application on the customer's own computer, thus alleviating the burden of software maintenance, ongoing operation, and support. For example: Peer-to-peer / volunteer computing (Bittorrent, BOINC Projects, Skype) Web application (Facebook) Software as a service (Google Apps, SAP and Salesforce) Software plus services (Microsoft Online Services)
8.2 Client
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. For example:
Mobile (Android, iPhone, Windows Mobile) Thin client (CherryPal, Zonbu, gOS-based systems) Thick client / Web browser (Google Chrome, Mozilla Firefox)
8.3 Infrastructure
Cloud infrastructure, such as Infrastructure as a service, is the delivery of computer infrastructure, typically a platform virtualization environment, as a service. For example:
Full virtualization (GoGrid, Skytap) Management (RightScale) Compute (Amazon Elastic Compute Cloud) Platform (Force.com)
8.4 Platform
A cloud platform, such as Platform as a service, the delivery of a computing platform, and/or solution stack as a service, facilitates deployment of applications without the cost and complexity of buying and managing the underlying hardware and software layers. For example:
Web application frameworks o Python Django (Google App Engine) o Ruby on Rails (Heroku) o .NET (Azure Services Platform) Web hosting (Mosso) Proprietary (Force.com)
8.5 Service
15
Cloud Computing Technology A cloud service includes "products, services and solutions that are delivered and consumed in real-time over the Internet". For example, Web Services ("software system[s] designed to support interoperable machine-to-machine interaction over a network") which may be accessed by other cloud computing components, software, e.g., Software plus service, or end users directly. Specific examples include:
Identity (OAuth, OpenID) Integration (Amazon Simple Queue Service) Payments (Amazon Flexible Payments Service, Google Checkout, PayPal) Mapping (Google Maps, Yahoo! Maps) Search (Alexa, Google Custom Search, Yahoo! BOSS) Others (Amazon Mechanical Turk)
8.6 Storage
Cloud storage involves the delivery of data storage as a service, including database-like services, often billed on a utility computing basis, e.g., per gigabyte per month. For example:
Database (Amazon SimpleDB, Google App Engine's BigTable datastore) Network attached storage (MobileMe iDisk, Nirvanix CloudNAS) Synchronization (Live Mesh Live Desktop component, MobileMe push functions) Web service (Amazon Simple Storage Service, Nirvanix SDN)
9. Architecture
16
Cloud Computing Technology Cloud architecture, the systems architecture of the software systems involved in the delivery of cloud computing, comprises hardware and software designed by a cloud architect who typically works for a cloud integrator. It typically involves multiple cloud components communicating with each other over application programming interfaces, usually web services. This closely resembles the UNIX philosophy of having multiple programs doing one thing well and working together over universal interfaces. Complexity is controlled and the resulting systems are more manageable than their monolithic counterparts. Cloud architecture extends to the client, where web browsers and/or software applications access cloud applications. Cloud storage architecture is loosely coupled, where metadata operations are centralized enabling the data nodes to scale into the hundreds, each independently delivering data to applications or user.
10. Types
17
18
11. Roles
11.1 Provider
A cloud computing provider or cloud computing service provider owns and operates live cloud computing systems to deliver service to third parties. The barrier to entry is also significantly higher with capital expenditure required and billing and management creates some overhead. Nonetheless, significant operational efficiency and agility advantages can be realized, even by small organizations, and server consolidation and virtualization rollouts are already well underway. Amazon.com was the first such provider, modernizing its data centers which, like most computer networks, were using as little as 10% of its capacity at any one time just to leave room for occasional spikes. This allowed small, fastmoving groups to add new features faster and easier, and they went on to open it up to outsiders as Amazon Web Services in 2002 on a utility computing basis.
11.2 User
A user is a consumer of cloud computing. The privacy of users in cloud computing has become of increasing concern. The rights of users are also an issue, which is being addressed via a community effort to create a bill of rights.
11.3 Vendor
A vendor sells products and services that facilitate the delivery, adoption and use of cloud computing. For example:
Computer hardware (Dell, HP, IBM, Sun Microsystems) o Storage (Sun Microsystems, EMC, IBM) o Infrastructure (Cisco Systems) Computer software (3tera, Hadoop, IBM, RightScale) o Operating systems (Solaris, AIX, Linux including Red Hat) o Platform virtualization (Citrix, Microsoft, VMware, Sun xVM, IBM)
19
12. Standards
Cloud standards, a number of existing, typically lightweight, open standards, have facilitated the growth of cloud computing, including:
Application o Communications (HTTP, XMPP) o Security (OAuth, OpenID, SSL/TLS) o Syndication (Atom) Client o Browsers (AJAX) o Offline (HTML 5) Implementations o Virtualization (OVF) Platform o Solution stacks (LAMP) Service o Data (XML, JSON) o Web Services (REST) Storage o Database(Amazon Simple DB, Google App Engine BigTable Datastore) o Network attached storage (MobileMe iDisk, Nirvanix CloudNAS) o Synchronization (Live Mesh Live Desktop component, MobileMe push functions) o Web service (Amazon Simple Storage Service, Nirvanix SDN)
20
History
Amazon announced a limited public beta of EC2 on August 25, 2006. Access to EC2 was granted on a first come first served basis. EC2 became generally available on October 23, 2008 along with support for Microsoft Windows Server.
Virtual machines
EC2 uses Xen virtualization. Each virtual machine, called an "instance", functions as a virtual private server in one of three sizes; small, large or extra large. Amazon.com sizes instances based on "EC2 Compute Units" the equivalent CPU capacity of physical hardware. One EC2 Compute Unit equals 1.0-1.2 GHz 2007 Opteron or 2007 Xeon processor. The system offers the following instance types: Small Instance The small instance (default) equates to "a system with 1.7 GB of memory, 1 EC2 Compute Unit (1 virtual core with 1 EC2 Compute Unit), 160 GB of instance storage, 32-bit platform" Large Instance The large instance represents "a system with 7.5 GB of memory, 4 EC2 Compute Units (2 virtual cores with 2 EC2 Compute Units each), 850 GB of instance storage, 64-bit platform". Extra Large Instance The extra large instance offers the "equivalent of a system with 15 GB of memory, 8 EC2 Compute Units (4 virtual cores with 2 EC2 Compute Units each), 1690 GB of instance storage, 64-bit platform."
21
Cloud Computing Technology High-CPU Instance Instances of this family have proportionally more CPU resources than memory (RAM) and address compute-intensive applications. High-CPU Medium Instance Instances of this family have the following configuration:
1.7 GB of memory 5 EC2 Compute Units (2 virtual cores with 2.5 EC2 Compute Units each) 350 GB of instance storage 32-bit platform I/O Performance: Moderate
High-CPU Extra Large Instance Instances of this family have the following configuration:
7 GB of memory 20 EC2 Compute Units (8 virtual cores with 2.5 EC2 Compute Units each) 1690 GB of instance storage 64-bit platform I/O Performance: High
Pricing
Amazon charges customers in two primary ways:
The hourly virtual machine rate is fixed, based on the capacity and features of the virtual machine. Amazon advertising describes the pricing scheme as "you pay for resources you consume," but defines resources such that an idle virtual machine is consuming resources, as opposed to other pricing schemes where one would pay for basic resources such as CPU time. Customers can easily start and stop virtual machines to control charges, with Amazon measuring with one hour granularity. Some are thus able to keep each virtual machine running near capacity and effectively pay only for CPU time actually used. As of March 2009, Amazon's time charge is about $73/month for the smallest virtual machine without Windows and twelve times that for the largest one running Windows. The data transfer charge ranges from $.10 to $.17 per gigabyte, depending on the direction and monthly volume. Amazon does not have monthly minimums or account maintenance charges.
22
Operating systems
When it launched in August 2006, the EC2 service offered Linux and later Sun Microsystems' OpenSolaris and Solaris Express Community Edition. In October 2008, EC2 added the Windows Server 2003 operating system to the list of available operating systems. Plans are in place for the Eucalyptus interface for the Amazon API to be packaged into the standard Ubuntu distribution.
Persistent Storage
Amazon.com provides persistent storage in the form of Elastic Block Storage (EBS). Users can set up and manage volumes of sizes from 1GB to 1TB. The servers can attach these instances of EBS to one server at a time in order to maintain data storage by the servers
13.2 Salesforce.com
Salesforce.com (NYSE: CRM) is a vendor of Customer Relationship Management (CRM) solutions, which it delivers to businesses over the internet using the software as a service model
Origins
Salesforce.com was founded in 1999 by former Oracle executive Marc Benioff. In June 2004, the company went public on the New York Stock Exchange under the stock symbol CRM. Initial investors in salesforce.com were Marc Benioff, Larry Ellison, Halsey Minor, Magdalena Yesil and Igor Sill, Geneva Venture Partners.
Current status
23
Cloud Computing Technology Salesforce.com is headquartered in San Francisco, California, with regional headquarters in Dublin (covering Europe, Middle East, and Africa), Singapore (covering Asia Pacific less Japan), and Tokyo (covering Japan). Other major offices are in Toronto, New York, London, Sydney, and San Mateo, California. Salesforce.com has its services translated into 15 different languages and currently has 43,600 customers and over 1,000,000 subscribers. In 2008, Salesforce.com ranked 43rd on the list of largest software companies in the world. Following the Federal takeover of Freddie Mac and Fannie Mae in September 2008, the S&P 500 removed the two mortgage giants after Wednesday, September 10, 2008, and added Fastenal and Salesforce.com to the index, effective after Friday, September 12, 2008
Force.com Platform
Salesforce.com's Platform-as-a-Service product is known as the Force.com Platform. The platform allows external developers to create add-on applications that integrate into the main Salesforce application and are hosted on salesforce.com's infrastructure. These applications are built using Apex (a proprietary Java-like programming language for the Force.com Platform) and Visualforce (an XML-like syntax for building user interfaces in HTML, AJAX or Flex).
AppExchange
Launched in 2005, AppExchange is a directory of applications built for Salesforce by third-party developers which users can purchase and add to their Salesforce environment. As of September 2008, there are over 800 applications available from over 450 ISVs.
Customization
Salesforce users can customize their CRM application. In the system, there are tabs such as "Contacts", "Reports", and "Accounts". Each tab contains associated information. For example, "Contacts" has fields like First Name, Last Name, Email, etc.
24
Cloud Computing Technology Customization can also be done at the "platform" level by adding customized applications to a Salesforce.com instance that is adding sets of customized / novel tabs for specific vertical- or function-level (Finance, Human Resources, etc) features.
Web Services
In addition to the web interface, Salesforce offers a Web Services API that enables integration with other systems.
Cloud is a "browser based Operating system" created by 'Good OS LLC, a Los Angeles-based corporation. The company initially launched a Linux distribution called gOS which is based on Ubuntu, now in its third incarnation
Reception
Early reviews compared the operating system's user interface to Mac OS X and noted the similarity of its browser to Google Chrome, although it is actually based on a modified Mozilla Firefox
25
14.EYEOS INTRODUCTION
EyeOS is an open source web desktop following the cloud computing concept. It is mainly written in PHP, XML and JavaScript. It acts as a platform for web applications written using the EyeOS Toolkit. It includes a Desktop environment with 67 applications and system utilities. It is accessible by portable devices via its mobile front end. EyeOS lets you upload your files and work with them no matter where you are. It contains applications like Word Processor, Address Book, PDF reader, and many more developed by the community.
14.1 INTRODUCTION
There are a number of online operating systems available today, and the number is steadily growing. EyeOS is a web-based open source platform designed to hold a wide variety of web applications over it. It looks like a regular PC operating system, but the "trick" is that it can be accessed from anywhere. If you travel all the time, or you don't own a PC or laptop or move often, then you can access EyeOS from an Internet Cafe. All you need is a web browser, Internet access and EyeOS is there for you, always, all the time. EyeOS is one of the few that is not only provided for free as a service complete with online storage, but is also open source under AGPL3, so you can install it on your own server. EyeOS is built on PHP and uses a combination of web standard technologies such as HTML, JavaScript and CSS to create the UI. This means that it will run on any standards compliant browser. By itself, it doesnt require any extra plugins in order to work. All it needs is a PHP 5 capable server, which is the common denominator for just about any hosting package it doesnt even require a database. EyeOS is all about entering work and entertainment in a single place. EyeOS is about removing compatibility issues between applications and operating systems and taking your life everywhere. EyeOS is available in 30 translations. And is used privatively and professionally throughout the world rather it is used for public environments, schools, small and large companies alike or a way to share data with your family. EyeOS has a use in our the digital life era.
14.2HISTORY
Establishment: In 2005, a group of young people worked together and put all their efforts in a new project, a new open source web desktop,
26
Cloud Computing Technology EyeOS: August 1, 2005: The first publicly available EyeOS version was released as EyeOS 0.6.0. At the time, it greatly participated in creating the definition of a web operating system and acted as a concept. Quickly, a worldwide community of developers took part in the project and helped improve it by translating, testing and developing it. June 4, 2007: After two years of development, the EyeOS Team published EyeOS 1.0. Compared with previous versions, EyeOS 1.0 introduced a complete reorganization of the code and some new web technologies, like eyeSoft, a portagebased web software installation system. Moreover, EyeOS also included the EyeOS Toolkit, a set of libraries allowing easy and fast development of new web Applications. July 2, 2007: With the release of the 1.1 version, EyeOS changed its license and migrated from GNU GPL Version 2 to Version 3. October 29,2007:1.2 version was launched with full integration compatibility with Microsoft Word files. January 15, 2008: EyeOS 1.5 Gala was liberated. The first version that supported both Microsoft Office and OpenOffice.org file formats for documents, presentations and spreadsheets. It also had the ability to import and export documents in both formats using server side scripting. April 25, 2008: EyeOS 1.6 included many improvements such as synchronization with local computers, drag and drop, a mobile version and more. January 7, 2009: EyeOS 1.8 Lars featured a completely rewritten file manager and a new sound API to develop media rich applications. April 1, 2009: 1.8.5 version incorporated a new default theme and some rewritten apps like the Word Processor and the Address Book.
27
Cloud Computing Technology Driving the web os: The Web OS which functions much like a traditional operating system, although it doesnt include drivers for computer hardware is becoming a subject of increasing interest. One contributing factor is Internet technologies increas-ing bandwidth, which enables the faster movement of applications and data via the Internet to and from Web OSs. the feasibility of technologies that could be used in Web-based operating systems, such as a file system that identifies data by URLs, a location-independent resource-naming sys-tem, and secure remote execution. EyeOS is an IBM PartnerWorld vendor that uses open source software to create virtual Linux desktop services that run natively on Linux in a LAMP stack. EyeOS can be used to create a desktop platform that is suitable to run and manage diverse end user desktops in a central location from a server platform. The application itself is PHP based and runs on Linux platforms. When run on Linux on a System z server, many EyeOS desktop images can be supported by one Linux guest. This is in contrast to most desktops, where each desktop client requires a Linux guest in the System z to support it. For many System z customers, EyeOS provides a simple, cost-effective way to transform delivery of services to a cloud model, an approach that is both easy to get started with and that scales over time and volume. There are also a number of server solutions available. System z has strong virtualization and management capabilities. The z/VM hypervisor provides proven technology for serving virtual clients. Our results validate how well System z virtualization scales up and out in this virtual desktop environment. For businesses that plan on implementing cloud solutions in the near future, System z should be considered as an integral part of the solution architecture.The objective of this project was to demonstrate that System z can host a large number of workstations, provision these systems quickly, and manage these virtual clients efficiently.
28
Cloud Computing Technology available or in development, it should come as no surprise that programmers use different approaches to achieve the same effect. While the goal of a Web OS is to provide an experience similar to using a desktop OS, there are no hard and fast rules for how to make that happen. The two most popular approaches rely on Flash technologies or Asynchronous JavaScript and XML (AJAX) technologies. Flash is a set of technologies that enable programmers to create interactive Web pages. It's a technology that uses vector graphics. Vector graphics record image data as a collection of shapes and lines rather than individual pixels, which allows computers to load Flash images and animation faster than pixel-based graphics. Flash files stream over the Internet, which means the end user accessing the file doesn't have to wait for the entire file to download to his or her computer before accessing parts of it. With Flash-based programs like online streaming video player, this means you can start watching a film clip without having to download it first. More than 98 percent of all computers connected to the Internet have a Flash player installed.That makes Flash an attractive approach for many programmers.They can create a Web OS knowing that the vast majority of computer users will be able to access it without having to download additional software. AJAX technologies rely on hypertext markup language (HTML), the JavaScript programming language,Cascading Style Sheets (CSS) and eXtensible Markup Language (XML).It's a browser technology.The HTML language is a collection of markup tags programmers use on text files that tell Web browsers how to display the text file as a Web page. CSS is a tool that gives programmers more options when tweaking a Web site's appearance.Programmers can create a style sheet with certain attributes such as font style and color, and then apply those styles across several Web pages at once.JavaScript is a programming language that allows applications to send information back and forth between servers and browsers.XML is a markup language, which means programmers use it to describe the structure of information within a file and how it relates to other information. The "asynchronous" aspect of AJAX means that AJAX applications transfer data between servers and browsers in small bits of information as needed. The alternative is to send an entire Web page to the browser every time something changes, which would significantly slow down the user's experience. With sufficient skill and knowledge, a programmer can create an AJAX application with the same functions as a desktop application. Like Flash, most computers can run AJAX applications. That's because AJAX isn't a new programming language but rather a way to use established Web standards to create new applications. As long as an application programmer includes the right information in an application's code, it should run fine on any major Web browser. Some well known Web applications based on AJAX include Google Calendar and Gmail. A Sample of Web Operating Systems There are more than a dozen Web operating systems in various stages of completion. They include: EyeOS AstraNOS DestkopOnDemand G.ho.st 29
systems
This service stands out primarily for its tight security, which has earned an average growth of 400 users per day.Some of its security measures involve the use of firewalls, backups every 24 hours total,and formatting a month as a preventive measure in case some are infiltrated by malicious code.As additional precaution,all communication is made within the site, and all content stored by users is fully encrypted and no access by their administrators, which gives an additional advantage in terms of use privacy. EyeOS FEATURES EyeOS tries to provide most of the functionality that we are accustomed to in any operating system.A powerful, highly configurable access control system, with heavily customisable ACLs (access control lists),and support for user groups and a user management system.Support for assigning user quotas for disk space.An inbuilt configurable cache system.Support for office document formats using OpenOffice.A file association management system.Support for auto-launching application on startup.Fully theme-able,and comes with a few themes with its default installation. For an organisation,having an EyeOS installation on an intranet server can mean everyone has access to the same resources and interface, where everyone is working on the same environment and therere no compatability concerns comes with its own GUI builder! An application called eyeDesigner allows you to design application GUI straight from EyeOS.
FEATURES: 1. Managing Files 2. Uploading multiple files simultaneously. 3. File management and visual interface. 4. Download entire folders as ZIP. 5. Utility to compress and decompress ZIP. 30
Cloud Computing Technology 6. Photo viewer with slideshow. 7. Personal information manager (PIM) 8. Multiple calendars. 9. Export and import from vCard. 10.System 11.Packages Installer. 12.System of ports and repositories. 13.Control system for users and administrators. 14.Text Utilities. Several instances of an application. 15.Office 16.Wordprocessor.Spreadsheets. 17.Presentations. 18.Support for MS Office formats and OpenOffice. 19.Network 20.E-mail client.Internal messaging. 21.Classified memos. 22.FTP client with proxy support. 23.RSS newsreader 24.Desktop 25.Completely customizable. 26.Autoload of desired applications. 27.Themes. 28.Requirements 29.Officially Supported & Recommended 30.Server 31.Apache Web Server 1.3.x / 2.x. 32.PHP 5 or higher. 33.Safe Mode = Off. 34.Client 35.Browser 36.Functionality Legend 37.Works perfectly (optimized for this browser) 38.Works as it should be without bigger problems 39.Load and looks fine, some programs doesn't work 40.Load and looks fine , some programs work but others don't. 41.Load but doest look complete, and unable to work with EyeOS.
EyeOS works in many browsers. This can change from the operating system and version of the web browser. Here is a list of all the web browsers and the capacity of EyeOS to work in them: BBrowser OOperating System cCapability Windows Iinternet Explorer 6< Windows ME, 2000, XP, Vista FFirefox Windows ME, 2000, XP, Vista 31
Cloud Computing Technology AApple Safari Windows XP GGoogle Chrome Windows XP OOpera Windows XP FFirefox A all GGaleon KKonqueror 4.1.2 Llinux/Mandriva 2009rc2
Fig 15.1.3 Capability of EyeOS in different web browsers Plugins Adobe Flash 9.x. DivX Web Player / mediaplayerconnectivity. Resolution 1024x768 or higher. What is a process inside EyeOS Every time an application is executed, an entry in the process table of a user is created. This entry is an associative array that contains information about the name, Process ID (pid),checknum, tty, currentUser (the name of the user who launched the process) and the time it was launched. In the default installation, the process table is a session variable named 'ProcessTable'.By default, an EyeOS application can have multiple instances of itself running flawlessly. Every instance has its own entry on the Process Table and has its own information separatedly from the others. Despite that behavior, a programmer can make an application to avoid having multiple instances by looking up the name of the application in the process table.
15.2 CLASSIFICATION
32
WEBOS in three categories: Remotely Hosted WebOS. Self-Hosted WebOS, and Remote Desktops. Under the remotely hosted we can find systems such as: EyeOS - Beautiful webtop powered by the EyeOS software. EyeOS - One of the most popular weblops on the planet, EyeOS boasts tons of apps, a booming community, and a lot more features. Fenestela - There s still quite a few bugs to be ironed out in this French WebOS, but you get cool XP interface and basic PHP apps. Under the Desktop hosted we can find systems such as: DesktopOnDemand - A fully featured Linux-based desktop with Gnome,Gaim. AbiWord,Evolution,GIMP, WebDAV. VNC, web login, and much more. Free Live OS Zoo - Java applet Webtop versus Desktop Software Management: Ensures all users are running the same current versions of all applications Updates and patches need only be applied to the server - no need to update multiple clients. No need for software to distribute software over the network Security: Less prone to typical attacks, viruses, worms, unpatched clients, vulnerabilities Sensitive data stored on secure servers rather than scattered across multiple potentially unprotected and vulnerable clients (e.g. smart phones and laptops). Encrypted transmission of all data between server and clients (e.g. https). Software Management features (above) accommodate quick and easy application of security advisories on server side. Webtop administrator can control which applications and data each user is allowed to access High Availability: From a single device access Windows, UNIX, Linux, and Mainframe applications, all at the same time. Minimal hardware requirements for client devices. Less downtime - robust server system more easily protected and less likely to fail than multiple client desktops. Fault tolerance - if a client device fails for any reason simply replace it with any other supported client device without loss of data, configuration, preferences, or application access
33
34
Cloud Computing Technology (outside the EyeOS servers) only for Office, so the office files conversion is specially fast even in the smallest servers, since its done in a much more powerful server inside the netwtork. A maximum upload filesized of 1000 MB (you can basically upload almost every file you want to your EyeOS and keep it online, directly with eyeUpload or through eyeSync for Windows,Mac and Linux). Every single server is inside a Virtualized Private Server environment: Your data will be File information
Cloud Computing Technology Client-side: EyeOS makes use of several technologies on the client (browser) side: XHTML and CSS are used to display the user interface. The content, however, is created and changed dynamically by the local JavaScript engine, which uses the DOM for this task. The local engine handles communication with the server asynchronously, using AJAX. Client and server communicate via XML requests/responses. The client always initiates communication (i.e. no reverse AJAX is used). Each server response specifies a series of tasks to the client engine (e.g. creating a widget, changing a value of a component, executing JavaScript code embedded in the message, etc.). Not all interactions require communication with the server. JavaScript is used to provide client-side-only interactions Server side: Though it is not the focus of the project, we briefly comment on the server side of the architecture. EyeOS is written in PHP on the server side, and provides multiple high level abstractions (e.g. file system, user management, window services). The goal of these is to make it easy to write new applications, and avoid dealing with low-level primitives. In this sense, EyeOS is also a web application development framework .
36
Cloud Computing Technology encapsulation and interpretation of data types as well as transporting them, depends entirely on XML RPC.The following is an illustration showing the logical architecture in which special emphasis is placed on the component-based design of EyeOS, the various gateways of communication and as all communication between EyeOS and external systems (including applications) is done through standards and fostering a serviceoriented architecture.
16.2 UTILITIES
EyeOS is an open source web desktop following the cloud computing concept. It is accessible by portable devices via its mobile front edu. EyeOS lets you upload your files and work with them no matter where you are. It contains applications like Word Processor, Address Book, PDF reader, and many more developed by the community. For developers, EyeOS provides the EyeOS Toolkit, a set of libraries and functions to develop applications for EyeOS. Using the integrated Portage-based eyeSoft system, anyone can create their own repository for EyeOS and distribute applications through it. Each core part of the desktop is its own application, using javascript to send server commands as the user interacts. As actions are performed using ajax (such as launching an application), it sends event information to the server. The server then sends back tasks for the client to do in XML format, such as drawing a widget. On the server, EyeOS uses XML files to store information. This makes it simple for a user to set up EyeOS on a server, as it requires zero configuration other than the account information for the first user, making it simple to deploy. To avoid bottlenecks, that flat files present, each users information and settings are stored in different files, preventing resource starvation from occurring. A WebOS should be an expandable to develop new applications and add new utilities.And that's the advantage of a Web-based "OS" - it gives you the new ability to use it remotely and not be restricted to one PC. This is a huge need in today's world, because increasingly we use more than one computer from various different locations. So each time we sit down to a computer, a different scene awaits us different applications and different documents. A WebOS can take many forms. Some,like YouOS, are fully browser-based. All you need to do is browse to an address and login - just like any browser-based web app Other WebOS systems require you to download and install a small application, namely a client that communicates with the WebOS servers usually from another protocol than the standard HTTP, to bring some extra advantages into the game.
17.APPLICATION DOMAIN
17.1 APPLICATION AREAS
EyeOS provides system for the users where they work with EyeOS and all its applications, including Office and PIM ones.EyeOS provides a toolkit to create new applications easily.
37
Cloud Computing Technology EyeOS can provide schools and universities with a full web platform where students, teachers and parents will have a personal yet collaborative desktop to work and, communicate between themselves and get organized inside and outside the school. With a private server, EyeOS can provide city councils, public library networks, free Internet points and other public environments the perfect system for their users to have a web place to work and communicate with the network managers, registering once and using it from every point. One of the main triggers and great acceptance of people with regard to this service is its availability online, which has no dependencies and has a strong security system, achieving thus be an ideal application for storing content. This action may be useful for those who travel frequently, for schools that want a centralized storage and available for intranets and business in general and so on.; Even could be used in any future as a service to replace the need for a hard disk Among the most typical uses are highlighted Schools: There is a Web system that brings a personal space for each teacher and student, which can be leveraged to work collaboratively.Also it is best accessed from anywhere you have Internet access. Public places may be in libraries or on points that have open WiFi, allowing users to connect to have the same meeting place on the Web.Social Organizations and Companies: Contacts, personal files and communications to which members can access businesses and organizations large and small.
38
Cloud Computing Technology applications, its own custom applications, and access to proprietary data. The ability to access these through a single Web-based operating system saves users from needing passwords to different Web-based services. It also allows the applications to be more compatible with each other. IBM is beginning to sell EyeOS pre-installed on its high end servers, but this is not to say its will not come onto notebooks and netbooks. The idea is to get people interesting in using EyeOS to get them comfortable with cloud computing in their business, so when the time comes, they can transition that familiarity to home notebooks. partnership with GMV, which will deliver new and exciting projects based on the Open Knowledge, by joining the experience and expertise from GMV and the Open Source EyeOS Web Desktop Platform to provide enterprise-ready Web Desktop Solutions, expanding the EyeOS usage worldwide.
Cloud Computing Technology workers or people who dont have their own computers and must work out of Internet cafes, libraries, or schools. Also, Web OS users can work, log out, and then log in later from a different computer. In addition, because the same Web OS can run on different computers, the technology facilitates collaboration among multiple work centres. The traditional OS runs on only one computer. Extensions such as the Network File System a way for different machines to import and export local files and remote desktop a way to control one computer by using another device allow easier access to information from multiple locations and better user collaboration. However, these techniques are limited to a set of machines on the same network or specific computers that have been linked.With a Web OS, users can store, find, and otherwise manage files and services,such as calendars and email, from a Web desktop. And storing applications, files, and services on an OS providers servers, rather than on the users computer, makes them harder for a PC or laptop thief to use.Web OS users dont have to back up or archive work because the providers remote server handles these functions. The technology also promises to reduce userside long-term computer and device costs because much of the heavy processing is concentrated in providers remote servers, Sun Web OS operates across platforms, it eliminates compatibility issues between applications and operating systems. Thus, the same Web OS will run on a Windows, Mac, or Linux machine. Application developers create an application only once for a Web OS, rather than many times for each of the traditional operating systems. And system administrators have to deploy an application only once for a given Web OS. They can then easily distribute it online to users. Because the Web OS and its applications are generally based in servers that can be monitored and secured from one location, they provide centralized malware protection.
40
Cloud Computing Technology for the client to do in XML format, such as drawing a widget.On the server, EyeOS uses XML files to store information. This makes it simple for a user to set up EyeOS on a server, as it requires zero configuration other than the account information for the first user, making it simple to deploy. To avoid bottlenecks, that flat files present, each user information and settings are stored in different files, preventing resource starvation from occurring.
19.CONCLUSION
19.1Conclusion
Cloud Computing is a vast topic and the above report does not give a high level introduction to it. It is certainly not possible in the limited space of a report to do justice to these technologies. What is in store for this technology in the near future? Well, Cloud Computing is leading the industrys endeavor to bank on this revolutionary technology. Cloud Computing Brings Possibilities.. Increases business responsiveness Accelerates creation of new services via rapid prototyping capabilities Reduces acquisition complexity via service oriented approach Uses IT resources efficiently via sharing and higher system utilization 41
Cloud Computing Technology Reduces energy consumption Handles new and emerging workloads Scales to extreme workloads quickly and easily Simplifies IT management Platform for collaboration and innovation Cultivates skills for next generation workforce
Today, with such cloud-based interconnection seldom in evidence, cloud computing might be more accurately described as "sky computing," with many isolated clouds of services which IT customers must plug into individually. On the other hand, as virtualization and SOA permeate the enterprise, the idea of loosely coupled services running on an agile, scalable infrastructure should eventually make every enterprise a node in the cloud. It's a long-running trend with a far-out horizon. But among big metatrends, cloud computing is the hardest one to argue with in the long term. Cloud Computing is a technology which took the software and business world by storm. The much deserved hype over it will continue for years to come.
42
APPENDIX
ACL Access Control Lists AGPL Affero General Public License AJAX Asynchronous JavaScript andXML CSS Cascading Style Sheets DHTML Dynamic HTML EXTERN External File Manager HTML Hypertext Markup Language JSP JavaScript programming language MMAP Message mapping PHP Hypertext Preprocessor PIM Personal Information Manager RPC Remote Proceedure Call UI User Interface
43
Cloud Computing Technology VFS Virtual File System XML eXtensible Markup Languag
REFERENCE
[1]. www.wikipedia.com [2]. www.infoworld.com/article/08/04/07/15FE-cloud-computing-reality_1.html [3]. www.wiki.cloudcommunity.org/wiki/CloudComputing:Bill_of_Rights [4]. www.davidchappell.com/CloudPlatforms--Chappell. PDF [5]. www.amazon.com [6]. www.thinkgos.com/cloud/index.html [7]. www.salesforce.com 44
[8]. www.google.com [9]. Chip Computer Magazine, December 2008 - Feb 2009 Edition
[10].EyeOS.org [11].wiki.EyeOS.org [12].ieee.orguter.org
45