Cloud Computing – Home

Cloud Computing Tutorial PDF Version Quick Guide Resources Job Search Discussion Cloud Computing provides us means by which we can access the applications as utilities over the internet. It allows us to create, configure, and customize the business applications online. This tutorial will take you through a step-by-step approach while learning Cloud Computing concepts. Audience This reference has been prepared for the beginners to help them to understand basic-to-advanced concepts related to Cloud Computing. This tutorial will give you enough understanding on Cloud Computing concepts from where you can take yourself to a higher level of expertise. Prerequisites Before proceeding with this tutorial, you should have basic knowledge of Computers, Internet, Database and Networking concepts. Such basic knowledge will help you in understanding the Cloud Computing concepts and move fast on the learning track. Print Page Previous Next Advertisements ”;

Cloud Computing – Providers

Cloud Computing Providers ”; Previous Next Various Cloud Computing platforms are available today. The following table contains the popular Cloud Computing platforms: SN Platform Description 1 Salesforce.com This is a Force.com development platform. This provides a simple user interface and lets users log in, build an app, and push it in the cloud. 2 Appistry The Appistry”s CloudIQ platform is efficient in delivering a runtime application. This platform is very useful to create scalable and service oriented applications. 3 AppScale The AppScale is an open source platform for App Engine of Google applications. 4 AT&T The AT&T allows access to virtual servers and manages the virtualization infrastructure. This virtualization infrastructure includes network, server and storage. 5 Engine Yard The Engine Yard is a rails application on cloud computing platform. 6 Enomaly Enomaly provides the Infrastructure-as-a-Service platform. 7 FlexiScale The FlexiScale offers a cloud computing platform that allows flexible, scalable and automated cloud infrastructure. 8 GCloud3 The GCloud3 offers private cloud solution in its platform. 9 Gizmox The Gizmox Visual WebGUI platform is best suited for developing new web apps and modernize the legacy apps based on ASP.net, DHTML, etc. 10 GoGrid The GoGrid platform allows the users to deploy web and database cloud services. 11 Google The Google”s App Engine lets the users build, run and maintain their applications on Google infrastructure. 12 LongJump The LongJump offers a business application platform, a Platform-as-a-Service (PaaS). 13 Microsoft The Microsoft Windows Azure is a cloud computing platform offering an environment to create cloud apps and services. 14 OrangeScape OrangeScape offers a Platform-as-a-Service (Paas) for non-programmers. Building an app is as easy as spreadsheet. 15 RackSpace The RackSpace provides servers-on-demand via a cloud-driven platform of virtualized servers. 16 Amazon EC2 The Amazon EC2 (Elastic Compute Cloud) lets the users configure and control computing resources while running them on Amazon environment. Print Page Previous Next Advertisements ”;

Cloud Computing – Operation

Cloud Computing Operations ”; Previous Next Cloud computing operation refers to delivering superior cloud service. Today, cloud computing operations have become very popular and widely employed by many of the organizations just because it allows to perform all business operations over the Internet. These operations can be performed using a web application or mobile based applications. There are a number of operations performed in cloud. Some of them are shown in the following diagram: Managing Cloud Operations There are several ways to manage day-to-day cloud operations, as shown in the following diagram: Always employ right tools and resources to perform any function in the cloud. Things should be done at right time and at right cost. Selecting an appropriate resource is mandatory for operation management. The process should be standardized and automated to manage repetitive tasks. Using efficient process will eliminate the waste of efforts and redundancy. One should maintain the quality of service to avoid re-work later. Print Page Previous Next Advertisements ”;

Platform-as-a-Service

Cloud Computing Platform as a Service (PaaS) ”; Previous Next Platform-as-a-Service offers the runtime environment for applications. It also offers development and deployment tools required to develop applications. PaaS has a feature of point-and-click tools that enables non-developers to create web applications. App Engine of Google and Force.com are examples of PaaS offering vendors. Developer may log on to these websites and use the built-in API to create web-based applications. But the disadvantage of using PaaS is that, the developer locks-in with a particular vendor. For example, an application written in Python against API of Google, and using App Engine of Google is likely to work only in that environment. The following diagram shows how PaaS offers an API and development tools to the developers and how it helps the end user to access business applications. Benefits Following are the benefits of PaaS model: Lower administrative overhead Customer need not bother about the administration because it is the responsibility of cloud provider. Lower total cost of ownership Customer need not purchase expensive hardware, servers, power, and data storage. Scalable solutions It is very easy to scale the resources up or down automatically, based on their demand. More current system software It is the responsibility of the cloud provider to maintain software versions and patch installations. Issues Like SaaS, PaaS also places significant burdens on customer”s browsers to maintain reliable and secure connections to the provider’s systems. Therefore, PaaS shares many of the issues of SaaS. However, there are some specific issues associated with PaaS as shown in the following diagram: Lack of portability between PaaS clouds Although standard languages are used, yet the implementations of platform services may vary. For example, file, queue, or hash table interfaces of one platform may differ from another, making it difficult to transfer the workloads from one platform to another. Event based processor scheduling The PaaS applications are event-oriented which poses resource constraints on applications, i.e., they have to answer a request in a given interval of time. Security engineering of PaaS applications Since PaaS applications are dependent on network, they must explicitly use cryptography and manage security exposures. Characteristics Here are the characteristics of PaaS service model: PaaS offers browser based development environment. It allows the developer to create database and edit the application code either via Application Programming Interface or point-and-click tools. PaaS provides built-in security, scalability, and web service interfaces. PaaS provides built-in tools for defining workflow, approval processes, and business rules. It is easy to integrate PaaS with other applications on the same platform. PaaS also provides web services interfaces that allow us to connect the applications outside the platform. PaaS Types Based on the functions, PaaS can be classified into four types as shown in the following diagram: Stand-alone development environments The stand-alone PaaS works as an independent entity for a specific function. It does not include licensing or technical dependencies on specific SaaS applications. Application delivery-only environments The application delivery PaaS includes on-demand scaling and application security. Open platform as a service Open PaaS offers an open source software that helps a PaaS provider to run applications. Add-on development facilities The add-on PaaS allows to customize the existing SaaS platform. Print Page Previous Next Advertisements ”;

Cloud Computing – Applications

Cloud Computing Applications ”; Previous Next Cloud Computing has its applications in almost all the fields such as business, entertainment, data storage, social networking, management, entertainment, education, art and global positioning system, etc. Some of the widely famous cloud computing applications are discussed here in this tutorial: Business Applications Cloud computing has made businesses more collaborative and easy by incorporating various apps such as MailChimp, Chatter, Google Apps for business, and Quickbooks. SN Application Description 1 MailChimp It offers an e-mail publishing platform. It is widely employed by the businesses to design and send their e-mail campaigns. 2 Chatter Chatter app helps the employee to share important information about organization in real time. One can get the instant feed regarding any issue. 3 Google Apps for Business Google offers creating text documents, spreadsheets, presentations, etc., on Google Docs which allows the business users to share them in collaborating manner. 4 Quickbooks It offers online accounting solutions for a business. It helps in monitoring cash flow, creating VAT returns and creating business reports. Data Storage and Backup Box.com, Mozy, Joukuu are the applications offering data storage and backup services in cloud. SN Application Description 1 Box.com Box.com offers drag and drop service for files. The users need to drop the files into Box and access from anywhere. 2 Mozy Mozy offers online backup service for files to prevent data loss. 3 Joukuu Joukuu is a web-based interface. It allows to display a single list of contents for files stored in Google Docs, Box.net and Dropbox. Management Applications There are apps available for management task such as time tracking, organizing notes. Applications performing such tasks are discussed below: SN Application Description 1 Toggl It helps in tracking time period assigned to a particular project. 2 Evernote It organizes the sticky notes and even can read the text from images which helps the user to locate the notes easily. 3 Outright It is an accounting app. It helps to track income, expenses, profits and losses in real time. Social Applications There are several social networking services providing websites such as Facebook, Twitter, etc. SN Application Description 1 Facebook It offers social networking service. One can share photos, videos, files, status and much more. 2 Twitter It helps to interact with the public directly. One can follow any celebrity, organization and any person, who is on twitter and can have latest updates regarding the same. Entertainment Applications SN Application Description 1 Audio box.fm It offers streaming service. The music files are stored online and can be played from cloud using the own media player of the service. Art Applications SN Application Description 1 Moo It offers art services such as designing and printing business cards, postcards and mini cards. Print Page Previous Next Advertisements ”;

Cloud Computing – Quick Guide

Cloud Computing – Quick Guide ”; Previous Next What is Cloud? The term Cloud refers to a Network or Internet. In other words, we can say that Cloud is something which is present at remote location. Cloud can provide services over network i.e. on public networks or on private networks i.e. WAN, LAN or VPN. Applications such as e-mail, web conferencing, customer relationship management (CRM), all run in cloud. What is Cloud Computing? Cloud Computing refers to manipulating, configuring, and accessing the applications online. It offers online data storage, infrastructure and application. We need not to install a piece of software on our local PC and this is how, the cloud computing overcomes platform dependency issues. Hence, the Cloud Computing is making our business application mobile and collaborative. Cloud Computing Technologies There are certain technologies that are working behind the cloud computing platforms making cloud computing flexible, reliable, usable. These technologies are listed below: Virtualization Service-Oriented Architecture (SOA) Grid Computing Utility Computing Virtualization Virtualization is a technique which allows to share single physical instance of an application or resource among multiple organizations or tenants(customers). It does so by assigning a logical name to a physical resource and providing a pointer to that physical resource when demanded. The Multitenant architecture offers virtual isolation among the multiple tenants and therefore, the organizations can use and customize the application as though, they each has its own instance running. Service-Oriented Architecture(SOA) Service-Oriented Architecture helps to use applications as a service for other applications regardless type of vendor, product or technology. Therefore it is possible to exchange of data between applications of different vendors without additional programming or making changes to services. cloud_computing-service_oriented_architecture Grid Computing Grid Computing refers to distributed computing in which a group computers from multiple locations are connected with each other to achieve common objective. These computer resources are heterogeneous and geographically dispersed. Grid Computing breaks complex task into smaller pieces. These smaller pieces are distributed to CPUs that reside within the grid. Utility Computing Utility computing is based on Pay per Use model. It offers computational resources on demand as a metered service. Cloud computing, grid computing, and managed IT services are based on the concept of Utility computing Cloud Computing Architecture The Cloud Computing architecture comprises of many cloud components, each of them are loosely coupled. we can broadly divide the cloud architecture into two parts: Front End Back End Each of the ends are connected through a network, usually via. Internet. The following diagram shows the graphical view of cloud computing architecture: Front End Front End refers to the client part of cloud computing system. It consist of interfaces and applications that are required to access the cloud computing platforms. Eg. Web Browser Back End Back End refers to the cloud itself. It consist of all the resources required to provide cloud computing services. It comprises of huge data storage, virtual machines, security mechanism, services, deployment models, servers etc. Cloud Infrastructure Components Cloud infrastructure consist of servers, storage, network, management software, and deployment software and platform virtualization. Hypervisor Hypervisor is a firmware or low level program that acts as a Virtual Machine Manager. It allows to share the single physical instance of cloud resources between several tenants. Management Software Management Software helps to maintain and configure the infrastructure. Deployment Software Deployment software helps to deploy and integrate the application on the cloud. Network Network is the key component of cloud infrastructure. It allows to connect cloud services over the internet. It is also possible to deliver network as a utility over the internet i.e. the consumer can customize the network route and protocol. Server Server helps to compute the resource sharing and offer other services such as resource allocation and de allocation, monitoring resources, security etc. Storage Cloud uses distributed file system for storage purpose. If one of the storage resource fails then it can be extracted from another one, which makes cloud computing more reliable. Cloud Deployment Models Foloowing are the cloud deployment models: Public Cloud Model Private Cloud Model Hybrid Cloud Model Community Cloud Model Public Cloud Model The Public Cloud Model allows systems and services to be easily accessible to general public. e.g. Google, Amazon, Microsoft offers cloud services via internet. Benefits Cost Effective Reliability Flexibility Location Independence Utility Style Costing High Scalability Disadvantages Low Security Less customizable Private Cloud Model The Private Cloud allows systems and services to be accessible with in an organization. The Private Cloud is operated only within a single organization. However, It may be managed internally or by third-party. Benefits Here are the benefits of deploying cloud as private cloud model. Higher Security and Privacy More Control Cost and energy efficiency Disadvantages Here are the disadvantages of using private cloud model: Restricted Area Inflexible Pricing Limited Scalability Additional Skills Hybrid Cloud Model The Hybrid Cloud is mixture of public and private cloud. Non Critical activities are performed using public cloud while the critical activities are performed using private cloud. Benefits Here are the benefits of deploying cloud as hybrid cloud model: Scalability Flexibility Cost Efficiencies Disadvantages Here are the disadvantages of Hybrid Cloud Model: Networking Issues Security Compliance Infrastructural Dependency Community Cloud Model The Community Cloud allows system and services to be accessible by group of organizations. It shares the infrastructure between several organizations from a specific community. It may be managed internally or by the third-party. Benefits Here are the benefits of deploying cloud as community cloud model: Cost effective Sharing Between Organizations Security Issues Since all data is housed at one location, therefore one must be careful in storing data in community cloud because it might be accessible by others. It is also challenging to allocate responsibilities of governance, security and cost. Cloud Service Models Following are the cloud service models: Infrastructure as a Service(IaaS) Model Platform as a Service(PaaS) Model Software as a Service(SaaS) Model Identity as a Service(IDaaS) Model Network as a Service(NaaS) Model Infrastructure as a Service(IaaS) IaaS provides access to fundamental

Community Cloud Model

Community Cloud Model ”; Previous Next Community Cloud allows system and services to be accessible by group of organizations. It shares the infrastructure between several organizations from a specific community. It may be managed internally by organizations or by the third-party. The Community Cloud Model is shown in the diagram below. Benefits There are many benefits of deploying cloud as community cloud model. Cost Effective Community cloud offers same advantages as that of private cloud at low cost. Sharing Among Organizations Community cloud provides an infrastructure to share cloud resources and capabilities among several organizations. Security The community cloud is comparatively more secure than the public cloud but less secured than the private cloud. Issues Since all data is located at one place, one must be careful in storing data in community cloud because it might be accessible to others. It is also challenging to allocate responsibilities of governance, security and cost among organizations. Print Page Previous Next Advertisements ”;

Infrastructure-as-a-Service

Cloud Computing Infrastructure as a Service (IaaS) ”; Previous Next Infrastructure-as-a-Service provides access to fundamental resources such as physical machines, virtual machines, virtual storage, etc. Apart from these resources, the IaaS also offers: Virtual machine disk storage Virtual local area network (VLANs) Load balancers IP addresses Software bundles All of the above resources are made available to end user via server virtualization. Moreover, these resources are accessed by the customers as if they own them. Benefits IaaS allows the cloud provider to freely locate the infrastructure over the Internet in a cost-effective manner. Some of the key benefits of IaaS are listed below: Full control of the computing resources through administrative access to VMs. Flexible and efficient renting of computer hardware. Portability, interoperability with legacy applications. Full control over computing resources through administrative access to VMs IaaS allows the customer to access computing resources through administrative access to virtual machines in the following manner: Customer issues administrative command to cloud provider to run the virtual machine or to save data on cloud server. Customer issues administrative command to virtual machines they owned to start web server or to install new applications. Flexible and efficient renting of computer hardware IaaS resources such as virtual machines, storage devices, bandwidth, IP addresses, monitoring services, firewalls, etc. are made available to the customers on rent. The payment is based upon the amount of time the customer retains a resource. Also with administrative access to virtual machines, the customer can run any software, even a custom operating system. Portability, interoperability with legacy applications It is possible to maintain legacy between applications and workloads between IaaS clouds. For example, network applications such as web server or e-mail server that normally runs on customer-owned server hardware can also run from VMs in IaaS cloud. Issues IaaS shares issues with PaaS and SaaS, such as Network dependence and browser based risks. It also has some specific issues, which are mentioned in the following diagram: Compatibility with legacy security vulnerabilities Because IaaS offers the customer to run legacy software in provider”s infrastructure, it exposes customers to all of the security vulnerabilities of such legacy software. Virtual Machine sprawl The VM can become out-of-date with respect to security updates because IaaS allows the customer to operate the virtual machines in running, suspended and off state. However, the provider can automatically update such VMs, but this mechanism is hard and complex. Robustness of VM-level isolation IaaS offers an isolated environment to individual customers through hypervisor. Hypervisor is a software layer that includes hardware support for virtualization to split a physical computer into multiple virtual machines. Data erase practices The customer uses virtual machines that in turn use the common disk resources provided by the cloud provider. When the customer releases the resource, the cloud provider must ensure that next customer to rent the resource does not observe data residue from previous customer. Characteristics Here are the characteristics of IaaS service model: Virtual machines with pre-installed software. Virtual machines with pre-installed operating systems such as Windows, Linux, and Solaris. On-demand availability of resources. Allows to store copies of particular data at different locations. The computing resources can be easily scaled up and down. Print Page Previous Next Advertisements ”;

Cloud Computing – Data Storage

Cloud Computing Data Storage ”; Previous Next Cloud Storage is a service that allows to save data on offsite storage system managed by third-party and is made accessible by a web services API. Storage Devices Storage devices can be broadly classified into two categories: Block Storage Devices File Storage Devices Block Storage Devices The block storage devices offer raw storage to the clients. These raw storage are partitioned to create volumes. File Storage Devices The file Storage Devices offer storage to clients in the form of files, maintaining its own file system. This storage is in the form of Network Attached Storage (NAS). Cloud Storage Classes Cloud storage can be broadly classified into two categories: Unmanaged Cloud Storage Managed Cloud Storage Unmanaged Cloud Storage Unmanaged cloud storage means the storage is preconfigured for the customer. The customer can neither format, nor install his own file system or change drive properties. Managed Cloud Storage Managed cloud storage offers online storage space on-demand. The managed cloud storage system appears to the user to be a raw disk that the user can partition and format. Creating Cloud Storage System The cloud storage system stores multiple copies of data on multiple servers, at multiple locations. If one system fails, then it is required only to change the pointer to the location, where the object is stored. To aggregate the storage assets into cloud storage systems, the cloud provider can use storage virtualization software known as StorageGRID. It creates a virtualization layer that fetches storage from different storage devices into a single management system. It can also manage data from CIFS and NFS file systems over the Internet. The following diagram shows how StorageGRID virtualizes the storage into storage clouds: Virtual Storage Containers The virtual storage containers offer high performance cloud storage systems. Logical Unit Number (LUN) of device, files and other objects are created in virtual storage containers. Following diagram shows a virtual storage container, defining a cloud storage domain: Challenges Storing the data in cloud is not that simple task. Apart from its flexibility and convenience, it also has several challenges faced by the customers. The customers must be able to: Get provision for additional storage on-demand. Know and restrict the physical location of the stored data. Verify how data was erased. Have access to a documented process for disposing of data storage hardware. Have administrator access control over data. Print Page Previous Next Advertisements ”;

Software-as-a-Service

Cloud Computing Software as a Service (SaaS) ”; Previous Next Software-as–a-Service (SaaS) model allows to provide software application as a service to the end users. It refers to a software that is deployed on a host service and is accessible via Internet. There are several SaaS applications listed below: Billing and invoicing system Customer Relationship Management (CRM) applications Help desk applications Human Resource (HR) solutions Some of the SaaS applications are not customizable such as Microsoft Office Suite. But SaaS provides us Application Programming Interface (API), which allows the developer to develop a customized application. Characteristics Here are the characteristics of SaaS service model: SaaS makes the software available over the Internet. The software applications are maintained by the vendor. The license to the software may be subscription based or usage based. And it is billed on recurring basis. SaaS applications are cost-effective since they do not require any maintenance at end user side. They are available on demand. They can be scaled up or down on demand. They are automatically upgraded and updated. SaaS offers shared data model. Therefore, multiple users can share single instance of infrastructure. It is not required to hard code the functionality for individual users. All users run the same version of the software. Benefits Using SaaS has proved to be beneficial in terms of scalability, efficiency and performance. Some of the benefits are listed below: Modest software tools Efficient use of software licenses Centralized management and data Platform responsibilities managed by provider Multitenant solutions Modest software tools The SaaS application deployment requires a little or no client side software installation, which results in the following benefits: No requirement for complex software packages at client side Little or no risk of configuration at client side Low distribution cost Efficient use of software licenses The customer can have single license for multiple computers running at different locations which reduces the licensing cost. Also, there is no requirement for license servers because the software runs in the provider”s infrastructure. Centralized management and data The cloud provider stores data centrally. However, the cloud providers may store data in a decentralized manner for the sake of redundancy and reliability. Platform responsibilities managed by providers All platform responsibilities such as backups, system maintenance, security, hardware refresh, power management, etc. are performed by the cloud provider. The customer does not need to bother about them. Multitenant solutions Multitenant solutions allow multiple users to share single instance of different resources in virtual isolation. Customers can customize their application without affecting the core functionality. Issues There are several issues associated with SaaS, some of them are listed below: Browser based risks Network dependence Lack of portability between SaaS clouds Browser based risks If the customer visits malicious website and browser becomes infected, the subsequent access to SaaS application might compromise the customer”s data. To avoid such risks, the customer can use multiple browsers and dedicate a specific browser to access SaaS applications or can use virtual desktop while accessing the SaaS applications. Network dependence The SaaS application can be delivered only when network is continuously available. Also network should be reliable but the network reliability cannot be guaranteed either by cloud provider or by the customer. Lack of portability between SaaS clouds Transferring workloads from one SaaS cloud to another is not so easy because work flow, business logics, user interfaces, support scripts can be provider specific. Open SaaS and SOA Open SaaS uses those SaaS applications, which are developed using open source programming language. These SaaS applications can run on any open source operating system and database. Open SaaS has several benefits listed below: No License Required Low Deployment Cost Less Vendor Lock-in More portable applications More Robust Solution The following diagram shows the SaaS implementation based on SOA: Print Page Previous Next Advertisements ”;