CLOUD COMPUTING CS & BCA
1 A. SIVASANKARI , SIASC.
CLOUD COMPUTING
DEPARTMENT OF COMPUTER SCIENCE AND COMPUTER APPLICATIONS
Ms. A. SIVASANKARI
ASSISTANT PROFESSOR
DEPT OF COMPUTER APPLICATIONS
SHANMUGA INDUSTRIES ARTS AND SCIENCE COLLEGE,
TIRUVANNAMALAI,
606601.
Dr. M. SOBIA
ASSISTANT PROFESSOR
DEPT OF COMPUTER APPLICATIONS
DONBOSCO COLLEGE
TIRUPATTUR.
Mr. R. RAJESH BABU
TEACHER
GOVT GIRLS HIGHER SEC SCHOOL,
VILLUPURAM.
CLOUD COMPUTING CS & BCA
2 A. SIVASANKARI , SIASC.
SYLLABUS
CLOUD COMPUTING
Objective:
To enable the students to learn the basic functions, principles and concepts of cloud Systems.
UNIT I: UNDERSTANDING CLOUD COMPUTING
Cloud Computing – History of Cloud Computing – Cloud Architecture – Cloud Storage –
Why Cloud Computing Matters – Advantages of Cloud Computing – Disadvantages of Cloud
Computing – Cloud Services.
UNIT II: DEVELOPING CLOUD SERVICES
Types of Cloud Service Development – Software as a Service – Platform as a Service –
Web Services – On-Demand Computing – Discovering Cloud Services Development Services
and Tools – Amazon Ec2 – Google App Engine – IBM Clouds.
UNIT III: CLOUD COMPUTING FOR EVERYONE
Centralizing Email Communications – Collaborating on Schedules – Collaborating on
To-Do Lists – Cloud Computing for the Community – Collaborating on Group Projects and
Events.
UNIT IV: PROGRAMMING MODEL
Parallel and Distributed Programming Paradigms – Map Reduce, Twister and Iterative
Map Reduce – Hadoop Library from Apache – Mapping Applications - Programming Support -
Google App Engine, Amazon AWS - Cloud Software Environments -Eucalyptus, Open Nebula,
Open Stack, Aneka, CloudSim.
UNIT V: SECURITY IN THE CLOUD
Security Overview - Cloud Security Challenges and Risks - Software-as-a-Service
Security- Security Governance - Risk Management - Security Monitoring - Security Architecture
Design - Data Security - Application Security - Virtual Machine Security - Identity Management
and Access Control - Autonomic Security.
CLOUD COMPUTING CS & BCA
3 A. SIVASANKARI , SIASC.
TEXT BOOK:
1. Michael Miller, “Cloud Computing: Web-Based Applications That Change the Way You
Work and Collaborate Online”, Que Publishing, August 2008.
REFERENCES:
1. Kai Hwang, Geoffrey C Fox, Jack G Dongarra, “Distributed and Cloud Computing, From
Parallel Processing to the Internet of Things”, Morgan Kaufmann Publishers, 2012.
2. John W.Rittinghouse and James F.Ransome, “Cloud Computing: Implementation,
Management, and Security”, CRC Press, 2010.
3. Toby Velte, Anthony Velte, Robert Elsenpeter, “Cloud Computing, A Practical
Approach”, TMH, 2009.
4. Kumar Saurabh, “Cloud Computing – insights into New-Era Infrastructure”, Wiley India,
2011.
5. George Reese, “Cloud Application Architectures: Building Applications and
Infrastructure in the Cloud” O'Reilly .
6. Arshdeep Bahga, Vijay Madisetti, “Cloud Computing - A Hands-On Approach”,
CreateSpace Independent Publishing Platform; 1 edition (December 9, 2013)
7. Barrie Sosinsky,”Cloud Computing Bible”, John Wiley & Sons,2010
8. Rajkumar Buyya, James Broberg, Andrzej M. Goscinski, “Cloud Computing:
Principles and Paradigms”, John Wiley & Sons. ,2010.
9. Rajkumar Buyya, Christian Vecchiola , S. ThamaraiSelvi, “Mastering Cloud
Computing “ Morgan Kaufmann,2013.
CLOUD COMPUTING CS & BCA
4 A. SIVASANKARI , SIASC.
UNIT – I
CLOUD COMPUTING
1. INTRODUCTION
Cloud Computing provides us means of accessing the applications as utilities over the
Internet. It allows us to create, configure, and customize the applications online.
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
public and private networks, i.e., WAN, LAN or VPN.
Applications such as e-mail, web conferencing, customer relationship management
(CRM) execute on cloud.
Cloud Computing refers to manipulating, configuring, and accessing the hardware
and software resources remotely. It offers online data storage, infrastructure, and
application.
Computing is being transformed into a model consisting of services that are
commoditized and delivered in manner similar utilities such as water, electricity, gas, and
telephony. In such a model, users access services based on their requirements, regardless of
where the services are hosted. Several computing paradigms, such as s grid computing, have
promised to deliver this utility Computing vision. Cloud computing is the most recent
emerging paradigm promising to turn the vision of “computing utilities” into are laity.
Cloud computing is a technological advancement that focuses on the way we design
computing systems, develop applications, and leverage existing services for building
software. It is based on the concept of dynamic provisioning, which is applied not only to
services but also to compute capability, storage, networking, and information technology(IT)
infrastructure in general.
Resources are made available through the Internet and offered on a pay-per-use basis
from cloud computing vendors. Today, anyone with a credit card can subscribe to cloud
services and deploy and configure servers for an application in hours, growing and shrinking
the infrastructure serving its application according to the demand, and paying only for the
time these resources have been used.
Cloud computing has become a popular buzzword; it has been widely used to refer to
different technologies, services, and concepts. It is often associated with virtualized
CLOUD COMPUTING CS & BCA
5 A. SIVASANKARI , SIASC.
infrastructure or hard- ware on demand, utility computing, IT outsourcing, platform and
software as a service, and many other things that now are the focus of the IT industry.
Characteristics and benefits
Cloud computing has some interesting characteristics that bring benefits to both cloud
service consumers (CSCs) and cloud service providers (CSPs).
These characteristics are:
• No up-front commitments
• On-demand access
• Nice pricing
• Simplified application acceleration and scalability
• Efficient resource allocation
• Energy efficiency
• Seamless creation and use of third-party services
Principles of Parallel and Distributed Computing
Cloud computing is a new technological trend that supports better utilization of IT
infrastructures, services, and applications. It adopts a service delivery model based on a pay-
per-use approach, in which users do not own infrastructure, platform, or applications but use
them for the time they need them. These IT assets are owned and maintained by service
providers who make them accessible through the Internet.
This chapter presents the fundamental principles of parallel and distributed computing
and dis- cusses models and conceptual frameworks that serve as foundations for building
cloud computing systems and applications.
Eras of computing.
The two fundamental and dominant models of computing are sequential and parallel.
This quintal computing era began in the1940s;
The parallel (and distributed) computing era followed it within a decade.
The four key elements of computing developed during the seer as are architectures,
compilers, applications, and problem solving environments. The computing era started with a
development in hardware architectures, which actually enabled the creation of system
software particularly in the area of compilers and operating systems which support the
management to such systems and the development to applications. The development of
applications and systems are the major element of interest to us, and it comes to consolidation
CLOUD COMPUTING CS & BCA
6 A. SIVASANKARI , SIASC.
when problem solving environments were designed and introduced to facilitate and empower
engineers.
This is when the paradigm characterizing the computing achieved maturity and
became main stream. Moreover, every aspect of this era underwent a three-phase process:
research and development (R&D), commercialization, and commoditization Parallel vs.
distributed computing The terms parallel computing and distributed computing are often used
interchangeably, even though they means lightly different things. The term parallel implies a
tightly coupled system, whereas distributed refers to a wider class of system, including those
that are tightly coupled. More precisely, the term parallel computing refers to a model in
which the computation is divided among several processors sharing the same memory.
The architecture of a parallel computing system is often characterized by the
homogeneity of components: each processor is of the same type and it has the same
capability as the others. The shared memory has a single address space, which is accessible to
all the processors. Parallel programs are then broken down in to several units of execution
that can be allocated to different processors and can communicate with each other by means
of the shared memory. Originally we considered parallel systems only those architectures that
featured multiple processors sharing the same physical memory and that were considered a
single computer. Overtime, these restrictions have been relaxed, and parallel systems now
include all architectures that are based on the concept of shared memory, whether this is
physically present or created with the support of libraries, specific hardware, and a highly
efficient networking infrastructure. For example, a cluster of which the nodes are connected
through an Infinib and network and configured with a distributed shared memory system can
be considered a parallel system.
The term distributed computing encompasses any architecture or system that allows
the computation to be broken down in to units and executed concurrently on different
computing elements, whether these are processors on different nodes , processors on the same
computer, or cores within the same processor. Therefore, distributed computing includes a
wider range of systems and applications than parallel computing and is often considered a
more general term. Even though it is not a rule, the term distributed often implies that the
locations of the computing elements are not the same and such elements might be
heterogeneous in terms of hard ware and software features. Classic examples of distributed
computing systems are computing grids or Internet computing systems, which combine
together the biggest variety of architectures, systems, and applications in the world.
CLOUD COMPUTING CS & BCA
7 A. SIVASANKARI , SIASC.
Cloud computing might sound far-fetched, but chances are you’re already
using some cloud applications. If you’re using a web-based email program, such as
Gmail or Hotmail, you’re computing in the cloud. If you’re using a web-based
application such as Google Calendar or Apple Mobile Me, you’re computing in the
cloud. If you’re using a file- or photo-sharing site, such as Flickr or Picasa Web
Albums, you’re computing in the cloud. It’s the technology of the future, available
to use today.
The emergence of cloud computing is the computing equivalent of the
electricity revolution of a century ago. Before the advent of electrical utilities, every
farm and business produced its own electricity from freestanding generators. After
the electrical grid was created, farms and businesses shut down their generators and
bought electricity from the utilities, at a much lower price (and with much greater
reliability) than they could produce on their own.
FIGURE 1.1 CLOUD COMPUTING
Look for the same type of revolution to occur as cloud computing takes hold.
The desktop-centric notion of computing that we hold today is bound to fall by the
wayside as we come to expect the universal access, 24/7 reliability, and ubiquitous
collaboration promised by cloud computing.
Cloud computing offers platform independency, as the software is not required to
be installed locally on the PC. Hence, the Cloud Computing is making our business
applications mobile and collaborative.
The key to cloud computing is the “cloud”—a massive network of servers or
even individual PCs interconnected in a grid. These computers run in parallel,
combining the resources of each to generate supercomputing-like power
CLOUD COMPUTING CS & BCA
8 A. SIVASANKARI , SIASC.
1.2 PROPERTIES OF CLOUD COMPUTING
It might help to examine how one of the pioneers of cloud computing, Google,
perceives the topic. From Google’s perspective, there are six key properties of cloud
computing:
• Cloudcomputingis user-centric. Once you as a user are connected to the cloud,
whatever is stored there documents, messages, images, applications, whatever
becomes yours. In addition, not only is the data yours, but you can also share
it with others. In effect, any device that accesses your data in the cloud also
becomes yours.
• Cloudcomputingistask-centric. Instead of focusing on the application and what it
can do, the focus is on what you need done and how the application can do it
for you., Traditional applications word processing, spreadsheets, email, and so
on are becoming less important than the documents they create.
• Cloud computing is powerful. Connecting hundreds or thousands of computers
together in a cloud creates a wealth of computing power impossible with a
single desktop PC.
• Cloud computing is accessible. Because data is stored in the cloud, users can
instantly retrieve more information from multiple repositories. You’re not
limited to a single source of data, as you are with a desktop PC.
• Cloudcomputingisintelligent. With all the various data stored on the computers in
a cloud, data mining and analysis are necessary to access that information in
an intelligent manner.
• Cloud computing is programmable. Many of the tasks necessary with cloud
computing must be automated. For example, to protect the integrity of the
data, information stored on a single computer in the cloud must be replicated
on other computers in the cloud. If that one computer goes offline, the cloud’s
programming automatically redistributes that computer’s data to a new
computer in the cloud.
CLOUD COMPUTING CS & BCA
9 A. SIVASANKARI , SIASC.
User
Interface
System
Services
User
Web
FIGURE 1.2 PROPERTIES OF CLOUD COMPUTING
1.3 BASIC CONCEPTS
There are certain services and models working behind the scene making the cloud
computing feasible and accessible to end users. Following are the working models for cloud
computing:
• Deployment Models
• Service Models
DEPLOYMENT MODELS
1.4 TYPES OF CLOUD
Deployment models define the type of access to the cloud, i.e., how the cloud is
located? Cloud can have any of the four types of access: Public, Private, Hybrid, and
Community.
FIGURE 1.3 TYPES OF CLOUD
CLOUD COMPUTING CS & BCA
10 A. SIVASANKARI , SIASC.
PUBLIC CLOUD
The public cloud allows systems and services to be easily accessible to the general
public. Public cloud may be less secure because of its openness.
PRIVATE CLOUD
The private cloud allows systems and services to be accessible within an
organization. It is more secured because of its private nature.
COMMUNITY CLOUD
The community cloud allows systems and services to be accessible by a group of
organizations.
HYBRID CLOUD
The hybrid cloud is a mixture of public and private cloud, in which the critical
activities are performed using private cloud while the non-critical activities are performed
using public cloud.
1.4 HISTORY OF CLOUD COMPUTING
The concept of Cloud Computing came into existence in the year 1950 with
implementation of mainframe computers, accessible via thin/static clients. Since then,
cloud computing has been evolved from static clients to dynamic ones and from software to
services. The following diagram explains the evolution of cloud computing:
FIGURE 1.4 HISTORY OF CLOUD
1.5 BEBEFITS OF CLOUD COMPUTING
Cloud Computing has numerous advantages. Some of them are listed below -
• One can access applications as utilities, over the Internet.
• One can manipulate and configure the applications online at any time.
CLOUD COMPUTING CS & BCA
11 A. SIVASANKARI , SIASC.
• It does not require to install a software to access or manipulate cloud application.
• Cloud Computing offers online development and deployment tools, programming
runtime environment through PaaS model.
• Cloud resources are available over the network in a manner that provide platform
independent access to any type of clients.
• Cloud Computing offers on-demand self-service. The resources can be used without
interaction with cloud service provider.
• Cloud Computing is highly cost effective because it operates at high efficiency with
optimum utilization. It just requires an Internet connection
• Cloud Computing offers load balancing that makes it more reliable.
FIGURE 1.5 BENEFITS OF CLOUD
Risks related to Cloud Computing
Although cloud Computing is a promising innovation with various benefits in the
world of computing, it comes with risks. Some of them are discussed below:
Security and Privacy
It is the biggest concern about cloud computing. Since data management and
infrastructure management in cloud is provided by third-party, it is always a risk to handover
the sensitive information to cloud service providers.
Although the cloud computing vendors ensure highly secured password protected accounts,
any sign of security breach may result in loss of customers and businesses.
CLOUD COMPUTING CS & BCA
12 A. SIVASANKARI , SIASC.
Lock In
It is very difficult for the customers to switch from one Cloud Service Provider
(CSP) to another. It results in dependency on a particular CSP for service.
Isolation Failure
This risk involves the failure of isolation mechanism that separates storage, memory,
and routing between the different tenants.
Management Interface Compromise
In case of public cloud provider, the customer management interfaces are accessible
through the Internet.
Insecure or Incomplete Data Deletion
It is possible that the data requested for deletion may not get deleted. It happens because
either of the following reasons
• Extra copies of data are stored but are not available at the time of deletion
• Disk that stores data of multiple tenants is destroyed.
1.6 CHARACTERISTICS OF CLOUD COMPUTING
There are four key characteristics of cloud computing. They are shown in the
following diagram:
FIGURE 1.6 CHARACTERISTICS OF CLOUD
CLOUD COMPUTING CS & BCA
13 A. SIVASANKARI , SIASC.
On Demand Self Service
Cloud Computing allows the users to use web services and resources on demand. One
can logon to a website at any time and use them.
Broad Network Access
Since cloud computing is completely web based, it can be accessed from anywhere
and at any time.
Resource Pooling
Cloud computing allows multiple tenants to share a pool of resources. One can share
single physical instance of hardware, database and basic infrastructure.
Rapid Elasticity
It is very easy to scale the resources vertically or horizontally at any time. Scaling of
resources means the ability of resources to deal with increasing or decreasing demand.
The resources being used by customers at any given point of time are automatically
monitored.
Measured Service
In this service cloud provider controls and monitors all the aspects of cloud service.
Resource optimization, billing, and capacity planning etc. depend on it.
1.7 CLOUD COMPUTING ARCHITECTURE
Cloud Computing architecture comprises of many cloud components, which are loosely
coupled. We can broadly divide the cloud architecture into two parts:
• Front End
• Back End
Each of the ends is connected through a network, usually Internet. The following diagram
shows the graphical view of cloud computing architecture:
Front End
The front end refers to the client part of cloud computing system. It consists of
interfaces and applications that are required to access the cloud computing platforms,
Example - Web Browser.
Back End
The back End refers to the cloud itself. It consists 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 COMPUTING CS & BCA
14 A. SIVASANKARI , SIASC.
FIGURE 1.7 CLOUD ARCHITECTURE
Note
• It is the responsibility of the back end to provide built-in security mechanism, traffic
control and protocols.
• The server employs certain protocols known as middleware, which help the connected
devices to communicate with each other.
1.8 WHY CLOUD COMPUTING MATTERS
For developers, cloud computing provides increased amounts of storage and
processing power to run the applications they develop. Cloud computing also enables
new ways to access information, process and analyse data, and connect people and
resources from any location anywhere in the world. In essence, it takes the lid off the
box; with cloud computing, developers are no longer boxed in by physical
constraints.
For end users, cloud computing offers all those benefits and more. A person
using a web-based application isn’t physically bound to a single PC, location, or
network. His applications and documents can be accessed wherever he is, whenever
he wants. Gone is the fear of losing data if a computer crashes.
Documents hosted in the cloud always exist, no matter what happens to the
user’s machine. And then there’s the benefit of group collaboration. Users from
around the world can collaborate on the same documents, applications, and projects,
CLOUD COMPUTING CS & BCA
15 A. SIVASANKARI , SIASC.
in real time. It’s a whole new world of collaborative computing, all enabled by the
notion of cloud computing.
And cloud computing does all this at lower costs, because the cloud enables more
efficient sharing of resources than does traditional network computing. With cloud
computing, hardware doesn’t have to be physically adjacent to a firm’s office or data
center. Cloud infrastructure can be located anywhere, including and especially areas with
lower real estate and electricity costs. In addition, IT departments don’t have to engineer
for peak-load capacity, because the peak load can be spread out among the external
assets in the cloud. And, because additional cloud resources are always at the ready,
companies no longer have to purchase assets for infrequent intensive computing tasks. If
you need more processing power, it’s always there in the cloud and accessible on a cost
efficient basis.
1.9 CLOUD COMPUTING INFRASTRUCTURE
Cloud infrastructure consists of servers, storage devices, network, cloud
management software, deployment software, and platform virtualization.
FIGURE 1.8 CLOUD COMPUTING INFRASTRUCTURE
Hypervisor
Hypervisor is a firmware or low-level program that acts as a Virtual Machine
Manager. It allows sharing the single physical instance of cloud resources between several
tenants.
Management Software
It helps to maintain and configure the infrastructure.
Deployment Software
It helps to deploy and integrate the application on the cloud.
Network
CLOUD COMPUTING CS & BCA
16 A. SIVASANKARI , SIASC.
It is the key component of cloud infrastructure. It allows connecting cloud services
over the Internet. It is also possible to deliver network as a utility over the Internet, which
means, the customer can customize the network route and protocol.
Server
The server helps to compute the resource sharing and offers other services such as
resource allocation and de-allocation, monitoring the resources, providing security etc.
Storage
Cloud keeps multiple replicas of storage. If one of the storage resources fails, then it
can be extracted from another one, which makes cloud computing more reliable.
Infrastructural Constraints
Fundamental constraints that cloud infrastructure should implement are shown in the
following diagram:
FIGURE 1.9 FUNDAMENTAL CONSTRAINTS OF CLOUD
Transparency
Virtualization is the key to share resources in cloud environment. But it is not
possible to satisfy the demand with single resource or server. Therefore, there must be
transparency in resources, load balancing and application, so that we can scale them on
demand.
Scalability
Scaling up an application delivery solution is not that easy as scaling up an
application because it involves configuration overhead or even re-architecting the network.
So, application delivery solution is need to be scalable which will require the virtual
infrastructure such that resource can be provisioned and de-provisioned easily.
Intelligent Monitoring
CLOUD COMPUTING CS & BCA
17 A. SIVASANKARI , SIASC.
To achieve transparency and scalability, application solution delivery will need to be
capable of intelligent monitoring.
Security
The mega data centre in the cloud should be securely architected. Also the control
node, an entry point in mega data centre, also needs to be secure.
1.10 CLOUD COMPUTING DATA STORAGE
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
1.10.1 BLOCK STORAGE DEVICES
The block storage devices offer raw storage to the clients. These raw storage are
partitioned to create volumes.
1.10.2 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).
1.10.3 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.
1.10.4 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.
CLOUD COMPUTING CS & BCA
18 A. SIVASANKARI , SIASC.
To aggregate the storage assets into cloud storage systems, the cloud provider can use
storage virtualization software known as Storage GRID. 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 Storage GRID virtualizes the storage into storage clouds:
FIGURE 1.10 CLOUD STORAGE SYSTEM
1.10.5 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:
CLOUD COMPUTING CS & BCA
19 A. SIVASANKARI , SIASC.
FIGURE 1.11 VIRTUAL STORAGE CONTAINERS
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.
Cloud storage is a way of storing data online. It requires an internet connection in order
to maintain, manage, and share documents, presentations, spreadsheets, images, audio, video,
etc. with others. Online storage service providers don't store any data on the hard disk of your
PC. Cloud storage tools help you to access your data from any device.
1.11 CLOUD STORAGE TOOLS
Following is a handpicked list of top cloud storage tools, with popular features and
latest download links.
1) Google Drive
CLOUD COMPUTING CS & BCA
20 A. SIVASANKARI , SIASC.
Google Drive is a free online data storage service provided by Google. The service
syncs stored files, photos, and more across all the user's PCs, tablets, and mobile devices. It
offers 15 GB of free space.
Features:
• You can build Docs, Sheets, Slides.
• It provides real time synchronization.
• You can create forms that help you to run a survey.
• The tool can be used for macOS.
• Integrates with thousands of external apps like a mind map, Gantt chart, diagram
tools, etc.
• It allows to store documents up to 1.02 million characters, spreadsheets up to 5
million cells, presentation up to 100 MB, and Google Sites up to 2000,000 characters
per page.
Download Link: https://www.google.com/drive/
2) Box
Box is a cloud file management and sharing service. This tool is available for
Windows, macOS, and mobile platforms.
Features:
• You can use Windows Explorer or Mac Finder to quickly search the file you want.
• Edit like a local file and Box will save it to the cloud.
• Allows you to invite the team to make changes and upload files.
• Enable admin to add external users to collaborate content and control the version.
Download Link: https://www.box.com/en-gb/drive
3) OneDrive
CLOUD COMPUTING CS & BCA
21 A. SIVASANKARI , SIASC.
Microsoft OneDrive is an internet-based storage and synchronization service provider.
It is available for free to all the people having Microsoft account. OneDrive apps can be used
to sync files on a Windows PC or Mac operating system.
Features:
• Use your phone to scan and business cards, receipts, whiteboard notes, or store paper
documents in OneDrive.
• You can set an expiration date of shared files, photos, and links for security purpose.
• Allows uploading files up to 15 GB in size.
Download Link: https://onedrive.live.com/about/en-in/
4) Mega
Mega is an online storage and file hosting service provided by Mega Limited. Mega is
available for Windows, Mac, and Linux platform.
Features:
• It offers 50 GB free storage space.
• It uses keys to encrypt files and chats.
• Mega allows you to sync files and folders.
• Upload or download 1 GB data every 6 hours
Download Link: https://mega.nz/
5) Yandex Disk
CLOUD COMPUTING CS & BCA
22 A. SIVASANKARI , SIASC.
Yandex Disk is a cloud service that allows users to store files on cloud servers and
share with others. Disk is available on Windows, macOS as well as Linux. It is available in
two plans Annual and Monthly subscription.
Features:
• Allows uploading maximum 50 GB file size. User can sync data between different
devices.
• Provides free access to Microsoft Word, Excel, and PowerPoint.
• Offer you to download files from public pages without any hassle.
Download Link: https://disk.yandex.com/
6) Upthere
Upthere offer you to store videos, photos, music, and documents safely and privately
in the cloud. This platform is based on UpOS technology to store, manage, share data.
Upthere is available for iPhone, Android, Mac, and Windows.
Features:
• Share any number of files without any size limitation.
• It enables you to create privately shared loops for celebrations, trips, or whatever
works good for you.
• Anyone can invite other people, add content, and comment.
Download Link: https://upthere.com/
7) Media Fire
MediaFire is a file hosting, cloud storage, and synchronization service. It provides an
easy-to-use solution for managing digital stuff online as well as on the go. MediaFire can be
used for iPhone, Windows, OSX, Web, and Android.
Features:
• Maximum file uploading limit is 20 GB
• It offers the professional an ad-free experience to employees.
• Lets you to paste link in any files and MediaFire will upload to your account
CLOUD COMPUTING CS & BCA
23 A. SIVASANKARI , SIASC.
• Allows you to specify access control.
Download Link: https://www.mediafire.com/
8) Koofr
Koofr is a cloud storage solution that connects Dropbox, Amazon, Google Drive,
OneDrive accounts and utilizes the additional free space on a hard drive. The tool is available
for Android, iOS, Windows, Linux, Windows, and macOS.
Features:
• Automatic backup from phones.
• Synchronization data with computers.
• No file type and size limits, upload anything you want to keep safe.
• It provides automatic backup of photos and videos from the mobile phone.
Download Link: https://koofr.eu/
9) Icedrive
Icedrive is the next generation cloud service that helps you to access, manage, and
update your cloud storage effortlessly. It provides a space to share, showcase, and collaborate
with your files.
Features:
• It allows you to store files up to 100 TB.
• Sync all your data from the computer.
• Icedrive provides clean and easy to use interface to manage your files.
Download Link: https://icedrive.net/
10) MiMedia
MiMedia is a cloud-based backup service that allows you to manage and enjoy your
digital life. It helps you to curate your personalized collection.
Features:
CLOUD COMPUTING CS & BCA
24 A. SIVASANKARI , SIASC.
• It allows you to access and organize music, photos, videos, and documents on all
devices.
• You can download a desktop app to your PC or Mac and put any content in the cloud.
• Import from Dropbox, Google, Flickr, and Facebook.
Download Link: http://www.mimedia.com
11) IDrive
IDrive provides service for data backup. This service is available to Windows, Linux,
iOS, Android, and Mac users.
Features:
• IDrive provides 5 GB free
• Users can organize and monitor backups of their PC from the web interface.
• Users can upload or download files up to 2 GB in size.
• It provides the best solution to protect all computers, Macs, iPhones, and Android
devices into one account.
Download Link: https://www.idrive.com/
12) ICloud
ICloud is a cloud storage service managed by Apple Inc.
It is a service where users can save any files on the cloud, and iCloud will
automatically sync to your device. You can use this service for Mac and Windows PCs.
Features:
• It provides 5GB of free iCloud storage
• File size uploading limit is 15 GB.
• Many people can work together by simply sending a link.
• Lets you to collaborate with numbers, Keynote, Pages, and Notes.
Download Link: https://www.apple.com/in/icloud/
CLOUD COMPUTING CS & BCA
25 A. SIVASANKARI , SIASC.
13) Amazon Drive
Amazon Drive or Amazon Cloud Drive is a cloud storage application of Amazon. The
service provides secure cloud storage, file sharing, photo printing, and file backup.
Features:
• It helps you to organize and edit photos online.
• Amazon Drive automatically backs up the photos and videos on your phone.
• Allows you to Sync files and folders.
Download Link: https://www.amazon.com/b?ie=UTF8&node=15547130011
14) Sync
Sync.com is a cloud service for sharing files from any computer or mobile device.
Sync provides an ideal solution for storing and sharing confidential and sensitive data.
Features:
• Sync allows you to send files of any size to anyone, even if they don't have a
registered.
• Performance becomes slower if you upload files larger than 40 GB.
• Synch can support Windows, Mac, iOS, and Android.
• It gives unlimited data transfer for all the plans.
Download Link: https://www.sync.com/
15) Dropbox
CLOUD COMPUTING CS & BCA
26 A. SIVASANKARI , SIASC.
Name Link Free Space
Google
Drive
https://www.google.com/drive/ 15GB
Box https://www.box.com/en-gb/drive 10GB
OneDrive https://www.pcloud.com/ 5GB
Mega https://mega.nz/ 50GB
Yandex
Disk
https://disk.yandex.com/ 50GB
Upthere https://upthere.com/ 20GB
Media
Fire
https://www.mediafire.com/ 10GB
Koofr https://koofr.eu/ 10GB
Ice Drive https://icedrive.net/ 10GB
MiMedia http://www.mimedia.com 10GB
IDrive https://www.idrive.com/ 5GB
iCloud https://www.apple.com/in/icloud/ 5GB
Amazon
Drive
https://www.amazon.com/b?ie=UTF8&node=15547130011 5GB
Sync https://www.sync.com/ 5GB
Dropbox https://www.dropbox.com/ 2GB
Jumpshare https://jumpshare.com/ 2GB
CLOUD COMPUTING CS & BCA
27 A. SIVASANKARI , SIASC.
Dropbox is a file hosting service providing personal cloud, file synchronization, cloud
storage, and client software. It is designed to collaborate your projects whether you are
working alone or in a team.
Features:
• It offers you to safely sync data across all devices.
• Your file size should be 50 GB or smaller
• Service is available for macOS, Linux, and Windows operating systems.
Download Link: https://www.dropbox.com/
16) Jumpshare
Jumpshare combines screenshot capture, file sharing, video recording, as well as team
collaboration. It allows you to to send and share unlimited big size file.
Features:
• It helps you to capture and share anything
• Jumpshare has drag and drop facility to share any file.
• Allows you to capture screenshots
• You can record your screen in GIF or video.
• This service can be used on macOS, Android, Windows, iPad, and iPhone.
Download Link: https://jumpshare.com/
1.12 ADVANTAGES AND DISADVANTAGES OF CLOUD COMPUTING
Cloud computing is a term referred to storing and accessing data over the internet. It
doesn't store any data on the hard disk of your personal computer. In cloud computing, you
can access data from a remote server.
1.12.1 ADVANTAGES OF CLOUD COMPUTING
Here, are important benefits for using Cloud computing in your organization:
CLOUD COMPUTING CS & BCA
28 A. SIVASANKARI , SIASC.
FIGURE 1.12 BENEFITS OF CLOUD COMPUTING
Cost Savings
Cost saving is the biggest benefit of cloud computing. It helps you to save substantial
capital cost as it does not need any physical hardware investments. Also, you do not need
trained personnel to maintain the hardware. The buying and managing of equipment is done
by the cloud service provider.
Strategic edge
Cloud computing offers a competitive edge over your competitors. It helps you to
access the latest and applications any time without spending your time and money on
installations.
High Speed
Cloud computing allows you to deploy your service quickly in fewer clicks. This
faster deployment allows you to get the resources required for your system within fewer
minutes.
Back-up and restore data
Once the data is stored in a Cloud, it is easier to get the back-up and recovery of that,
which is otherwise very time taking process on premise.
Automatic Software Integration
In the cloud, software integration is something that occurs automatically. Therefore,
you don't need to take additional efforts to customize and integrate your applications as per
your preferences.
CLOUD COMPUTING CS & BCA
29 A. SIVASANKARI , SIASC.
Reliability
Reliability is one of the biggest pluses of cloud computing. You can always get
instantly updated about the changes.
Mobility
Employees who are working on the premises or at the remote locations can easily
access all the could services. All they need is an Internet connectivity.
Unlimited storage capacity
The cloud offers almost limitless storage capacity. At any time you can quickly
expand your storage capacity with very nominal monthly fees.
Collaboration
The cloud computing platform helps employees who are located in different
geographies to collaborate in a highly convenient and secure manner.
Quick Deployment
Last but not least, cloud computing gives you the advantage of rapid deployment. So,
when you decide to use the cloud, your entire system can be fully functional in very few
minutes. Although, the amount of time taken depends on what kind of technologies are used
in your business.
Other Important Benefits
Apart from the above, some other advantages of cloud computing are:
• On-Demand Self-service
• Multi-tenancy
• Offers Resilient Computing
• Fast and effective virtualization
• Provide you low-cost software
• Offers advanced online security
• Location and Device Independence
• Always available, and scales automatically to adjust to the increase in demand
• Allows pay-per-use
• Web-based control & interfaces
• API Access available.
1.12.2 DISADVANTAGES OF CLOUD COMPUTING
Here, are significant challenges of using Cloud Computing:
CLOUD COMPUTING CS & BCA
30 A. SIVASANKARI , SIASC.
FIGURE 1.13 CHALLENGES OF CLOUD
Performance Can Vary
When you are working in a cloud environment, your application is running on the
server which simultaneously provides resources to other businesses. Any greedy behavior or
DDOS attack on your tenant could affect the performance of your shared resource.
Technical Issues
Cloud technology is always prone to an outage and other technical issues. Even, the
best cloud service provider companies may face this type of trouble despite maintaining high
standards of maintenance.
Security Threat in the Cloud
Another drawback while working with cloud computing services is security risk.
Before adopting cloud technology, you should be well aware of the fact that you will be
sharing all your company's sensitive information to a third-party cloud computing service
provider. Hackers might access this information.
Downtime
Downtime should also be considered while working with cloud computing. That's
because your cloud provider may face power loss, low internet connectivity, service
maintenance, etc.
Internet Connectivity
Good Internet connectivity is a must in cloud computing. You can't access cloud
without an internet connection. Moreover, you don't have any other way to gather data from
the cloud.
CLOUD COMPUTING CS & BCA
31 A. SIVASANKARI , SIASC.
Lower Bandwidth
Many cloud storage service providers limit bandwidth usage of their users. So, in case
if your organization surpasses the given allowance, the additional charges could be
significantly costly
Lacks of Support
Cloud Computing companies fail to provide proper support to the customers.
Moreover, they want their user to depend on FAQs or online help, which can be a tedious job
for non-technical persons.
CLOUD COMPUTING CS & BCA
32 A. SIVASANKARI , SIASC.
UNIT – II
2. DEVELOPING CLOUD SERVICES
2.1 CLOUD SERVICE MODELS
Cloud computing is based on service models. These are categorized into three basic
service models which are ,
• Infrastructure-as–a-Service (IaaS)
• Platform-as-a-Service (PaaS)
• Software-as-a-Service (SaaS)
Anything-as-a-Service (XaaS) is yet another service model, which includes Network-
as-a-Service, Business-as-a-Service, Identity-as-a-Service, Database-as-a-
Service or Strategy-as-a-Service.
The Infrastructure-as-a-Service (IaaS) is the most basic level of service. Each of the
service models inherit the security and management mechanism from the underlying model,
as shown in the following diagram:
FIGURE 2.1 CLOUD SERVICE
Infrastructure-as-a-Service (IaaS)
CLOUD COMPUTING CS & BCA
33 A. SIVASANKARI , SIASC.
IaaS provides access to fundamental resources such as physical machines, virtual machines,
virtual storage, etc.
Platform-as-a-Service (PaaS)
PaaS provides the runtime environment for applications, development and deployment
tools, etc.
Software-as-a-Service (SaaS)
SaaS model allows to use software applications as a service to end-users.
2.1.1 Cloud Computing Infrastructure as a Service (IaaS)
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.
CLOUD COMPUTING CS & BCA
34 A. SIVASANKARI , SIASC.
FIGURE 2.2 IAAS
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.
2.1.1.1 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:
CLOUD COMPUTING CS & BCA
35 A. SIVASANKARI , SIASC.
FIGURE 2.3 ISSUES OF IAAS
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.
CLOUD COMPUTING CS & BCA
36 A. SIVASANKARI , SIASC.
2.1.2 Platform as a Service (PaaS)
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.
FIGURE 2.4 PaaS
Benefits
Following are the benefits of PaaS model:
CLOUD COMPUTING CS & BCA
37 A. SIVASANKARI , SIASC.
FIGURE 2.5 BENEFITS OF PAAS
• 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.
2.1.2.1 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:
CLOUD COMPUTING CS & BCA
38 A. SIVASANKARI , SIASC.
FIGURE 2.6 ISSUES OF PAAS
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.
CLOUD COMPUTING CS & BCA
39 A. SIVASANKARI , SIASC.
• PaaS also provides web services interfaces that allow us to connect the applications
outside the platform.
2.1.2.2 PaaS Types
Based on the functions, PaaS can be classified into four types as shown in the
following diagram:
FIGURE 2.7 CLASSIFICATION OF PAAS
Stand-alone development environments
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.
Cloud Computing Software as a Service (SaaS)
2.1.3 Software-as–a-Service (SaaS)
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
CLOUD COMPUTING CS & BCA
40 A. SIVASANKARI , SIASC.
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
CLOUD COMPUTING CS & BCA
41 A. SIVASANKARI , SIASC.
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.
2.1.3.3 Open SaaS and SOA
CLOUD COMPUTING CS & BCA
42 A. SIVASANKARI , SIASC.
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:
FIGURE 2.8 SOA
2.1.3.4 Cloud Computing Identity as a Service (IDaaS)
Employees in a company require to login to system to perform various tasks. These
systems may be based on local server or cloud based. Following are the problems that an
employee might face:
• Remembering different username and password combinations for accessing multiple
servers.
• If an employee leaves the company, it is required to ensure that each account of that
user is disabled. This increases workload on IT staff.
CLOUD COMPUTING CS & BCA
43 A. SIVASANKARI , SIASC.
To solve above problems, a new technique emerged which is known as Identity-as–a-
Service (IDaaS).
IDaaS offers management of identity information as a digital entity. This identity can be
used during electronic transactions.
Identity
Identity refers to set of attributes associated with something to make it recognizable.
All objects may have same attributes, but their identities cannot be the same. A unique
identity is assigned through unique identification attribute.
There are several identity services that are deployed to validate services such as
validating web sites, transactions, transaction participants, client, etc. Identity-as-a-Service
may include the following:
• Directory services
• Federated services
• Registration
• Authentication services
• Risk and event monitoring
• Single sign-on services
• Identity and profile management
2.1.3.5 Single Sign-On (SSO)
To solve the problem of using different username and password combinations for
different servers, companies now employ Single Sign-On software, which allows the user to
login only one time and manage the access to other systems.
SSO has single authentication server, managing multiple accesses to other systems,
as shown in the following diagram:
FIGURE 2.9 SSO WORKING
2.1.3.6 SSO Working
CLOUD COMPUTING CS & BCA
44 A. SIVASANKARI , SIASC.
There are several implementations of SSO. Here, we discuss the common ones:
FIGURE 2.10 IMPLEMENTATIONS OF SSO
Following steps explain the working of Single Sign-On software:
• User logs into the authentication server using a username and password.
• The authentication server returns the user's ticket.
• User sends the ticket to intranet server.
• Intranet server sends the ticket to the authentication server.
• Authentication server sends the user's security credentials for that server back to the
intranet server.
If an employee leaves the company, then disabling the user account at the authentication
server prohibits the user's access to all the systems.
2.1.3.7 Federated Identity Management (FIDM)
FIDM describes the technologies and protocols that enable a user to package security
credentials across security domains. It uses Security Markup Language (SAML) to
package a user's security credentials as shown in the following diagram:
CLOUD COMPUTING CS & BCA
45 A. SIVASANKARI , SIASC.
FIGURE 2.11 FIDM
OpenID
It offers users to login into multiple websites with single account. Google, Yahoo!,
Flickr, MySpace, WordPress.com are some of the companies that support OpenID.
Benefits
• Increased site conversation rates
• Access to greater user profile content
• Fewer problems with lost passwords
• Ease of content integration into social networking sites
2.2 AMAZON WEB SERVICES
In 2006, Amazon Web Services (AWS) started to offer IT services to the market in
the form of web services, which is nowadays known as cloud computing. With this cloud,
we need not plan for servers and other IT infrastructure which takes up much of time in
advance. Instead, these services can instantly spin up hundreds or thousands of servers in
minutes and deliver results faster. We pay only for what we use with no up-front expenses
and no long-term commitments, which makes AWS cost efficient.
Today, AWS provides a highly reliable, scalable, low-cost infrastructure platform in
the cloud that powers multitude of businesses in 190 countries around the world.
2.3 On-Demand Computing
What Is On-Demand Computing?
CLOUD COMPUTING CS & BCA
46 A. SIVASANKARI , SIASC.
On-demand computing is a business computing model in which computing
resources are made available to the user on an “as needed” basis. Rather than all at once,
on-demand computing allows cloud hosting companies to provide their clients with access
to computing resources as they become necessary.
What Are the Advantages of On-Demand Computing?
The on-demand computing model was developed to overcome the common
challenge that enterprises encountered of not being able to meet unpredictable, fluctuating
computing demands in an efficient manner. Businesses today need to be agile and need
the ability to scale resources easily and quickly based on rapidly changing market
needs. Because an enterprise’s demand for computing resources can vary dramatically
from one period of time to another, maintaining sufficient resources to meet peak
requirements can be costly. However, with on-demand computing, companies can cut
costs by maintaining minimal computing resources until they run into the need to increase
them, meanwhile only paying for what they use.
Industry experts predict on-demand computing to soon be the most widely used
computing model for enterprises. In fact, IBM’s vice-president of technology and strategy
stated, “The technology is at a point where we can start to move into an era of on-demand
computing. I give it between two and four years to reach a level of maturity.”
2.4 Discovering Cloud Services Development Services and Tools:
➢ Cloud computing is at an early stage of its development. This can be seen by
observing the large number of small and start-up companies offering cloud
development tools.
➢ In a more established industry, the smaller players eventually fall by the wayside as
larger companies take center stage.
➢ Cloud services development services and tools are offered by a variety of companies,
both large and small.
➢ The most basic offerings provide cloud-based hosting for applications developed from
scratch.
CLOUD COMPUTING CS & BCA
47 A. SIVASANKARI , SIASC.
➢ The more fully featured offerings include development tools and pre-built
applications that developers can use as the building blocks for their own unique web-
based applications.
2.5 Amazon
➢ Amazon, one of the largest retailers on the Internet, is also one of the primary
providers of cloud development services.
➢ Amazon has spent a lot of time and money setting up a multitude of servers to service
its popular website, and is making those vast hardware resources available for all
developers to use.
➢ The service in question is called the Elastic Compute Cloud, also known as EC2. This
is a commercial web service that allows developers and companies to rent capacity on
Amazon’s proprietary cloud of servers— which happens to be one of the biggest
server farms in the world.
➢ EC2 enables scalable deployment of applications by letting customers request a set
number of virtual machines, onto which they can load any application of their choice.
➢ Thus, customers can create, launch, and terminate server instances on demand,
creating a truly “elastic” operation. Amazon’s service lets customers choose from
three sizes of virtual servers:
• Small, which offers the equivalent of a system with 1.7GB of memory,160GB of
storage, and one virtual 32-bit core processor.
• Large, which offers the equivalent of a system with 7.5GB of memory,850GB of
storage, and two 64-bit virtual core processors.
• Extra large, which offers the equivalent of a system with 15GB of memory,1.7TB of
storage, and four virtual 64-bit core processors
• AWS offers comprehensive cloud IaaS services ranging from virtual compute ,
storage, and networking to complete computing stacks. AWS is mostly known for its
CLOUD COMPUTING CS & BCA
48 A. SIVASANKARI , SIASC.
compute and storage-on- demand services, namely Elastic Compute Cloud (EC2) and
Simple Storage Service (S3).
• EC2 provides users with customize able virtual hardware that can be used as the base
infrastructure for deploying computing systems on the cloud. It is possible to choose
from a large variety of virtual hardware configurations, including GPU and cluster
instances. EC2 instances are deployed either by using the AWS console, which is a
comprehensive Web portal for accessing AWS services, or by using the Web services
API available for several programming languages. EC2 also provides the capability to
save a specific running instance as an image, thus allowing users to create their own
templates for deploying systems. These templates are stored into S3 that delivers
persistent storage on demand. S3is organized into buckets; these are containers of
objects that are stored in binary form and can been riches with attributes .Users can
store objects of any size, from simple files to entire disk images, and have them
accessible from everywhere.
• Besides EC2 and S3, a wide range of services can be leveraged to build virtual
computing systems. Including networking support, caching systems, DNS, database
(relational and not) support, and others.
(In other words, you pick the size and power you want for your virtual server, and Amazon
does the rest)
2.6 EC2
➢ EC2 is just part of Amazon’s Web Services (AWS) set of offerings, which provides
developers with direct access to Amazon’s software and machines.
➢ By tapping into the computing power that Amazon has already constructed,
developers can build reliable, powerful, and low-cost web-based applications.
➢ Amazon provides the cloud (and access to it), and developers provide the rest. They
pay only for the computing power that they use.
➢ AWS is perhaps the most popular cloud computing service to date. Amazon claims a
market of more than 330,000 customers—a combination of developers, start-ups, and
established companies.
CLOUD COMPUTING CS & BCA
49 A. SIVASANKARI , SIASC.
FIGURE 2.12 EC2
2.7 Google App Engine
Google App Engine is a scalable runtime environment mostly devoted to executing
Web applications. These take advantage of the large computing infrastructure of Google to
dynamically scale as the demand varies overtime. App Engine provides both a secure
execution environment and a col-lection of services that simplify the development of scalable
and high-performance Web applications. These services include in memory caching, scalable
data store, job queues and messaging tasks. Developer scan build and test applications on
their own machines using the App Engine software development kit(SDK),which replicates
the production run time environment and helps test and profile applications. Once
development is complete, developers can easily migrate their application to AppEngine , set
quotas to contain the costs generated, and make the application available to the world. The
languages currently supported are Python, Java, and Go.
➢ Google is a leader in web-based applications, so it’s not surprising that the company
also offers cloud development services.
CLOUD COMPUTING CS & BCA
50 A. SIVASANKARI , SIASC.
➢ These services come in the form of the Google App Engine, which enables developers
to build their own web applications utilizing the same infrastructure that powers
Google’s powerful applications.
➢ The Google App Engine provides a fully integrated application environment. Using
Google’s development tools and computing cloud, App Engine applications are easy
to build, easy to maintain, and easy to scale.
➢ All you have to do is develop your application (using Google’s APIs and the Python
programming language) and upload it to the App Engine cloud; from there, it’s ready
to serve your users.
➢ As you might suspect, Google offers a robust cloud development environment. It
includes the following features:
• Dynamic web serving
• Full support for all common web technologies
• Persistent storage with queries, sorting, and transactions
• Automatic scaling and load balancing
• APIs for authenticating users and sending email using Google Accounts
➢ In addition, Google provides a fully featured local development environment that
simulates the Google App Engine on any desktop computer.
➢ And here’s one of the best things about Google’s offering: Unlike most other cloud
hosting solutions, Google App Engine is completely free to use—at a basic level,
anyway.
➢ A free App Engine account gets up to 500MB of storage and enough CPU strength
and bandwidth for about 5 million page views a month.
➢ If you need more storage, power, or capacity, Google intends to offer additional
resources (for a charge) in the near future.
CLOUD COMPUTING CS & BCA
51 A. SIVASANKARI , SIASC.
FIGURE 2.13 Google App Engine
CLOUD COMPUTING CS & BCA
52 A. SIVASANKARI , SIASC.
FIGURE 2.14 Google App Engine
2.8 IBM
➢ It’s not surprising, given the company’s strength in enterprise-level computer
hardware, that IBM is offering a cloud computing solution.
➢ The company is targeting small- and medium-sized businesses with a suite of cloud-
based ondemand services via its Blue Cloud initiative.
➢ Blue Cloud is a series of cloud computing offerings that enables enterprises to
distribute their computing needs across a globally accessible resource grid.
CLOUD COMPUTING CS & BCA
53 A. SIVASANKARI , SIASC.
FIGURE 2.15 IBM
➢ One such offering is the Express Advantage suite, which includes data backup and
recovery, email continuity and archiving, and data security functionality—some of the
more data-intensive processes handled by a typical IT department.
➢ To manage its cloud hardware, IBM provides open source workload-scheduling
software called Hadoop, which is based on the MapReduce software usedGoogle in
its offerings. Also included are PowerVM and Xen virtualization tools,along with
IBM’s Tivoli data center management software.
2.9 Salesforce.com
Salesforce.com is probably the most popular and developed CRM solution available
today. As of today more than 100,000 customers have chosen Safesforce.com to implement
their CRM solutions. The application provides customizable CRM solutions that can be
integrated with additional features developed by third parties.
CLOUD COMPUTING CS & BCA
54 A. SIVASANKARI , SIASC.
Salesforce.com is based on the Force.com cloud development platform. This
represents scalable and high-performance middleware executing all the operations of all
Salesforce.com applications. The architecture of the Force.com platform is shown in
Figure10.5. Initially designed to support scalable CRM applications, the platform has evolved
to support the entire life cycle of a wider range of cloud applications by implementing a
flexible and scalable infrastructure.
At the core of the platform resides its metadata architecture, which provides the
system with flexibility and scalability. Rather than being built on top of specific components
and tables, application core logic and business rules metadata into the Force.com store. Both
application structure and application data are stored in the store. A runtime engine executes
application logic by retrieving its metadata and then performing the operations on the data.
Although running in isolated containers, different applications logically share the same
database structure, and the runtime engine exe- cutes all of them uniformly.
A full-text search engine supports the runtime engine. This allows application users to
have an effective user experience despite the large amounts of data that need to be crawled.
The search engine maintains its indexing data in a separate store and is constantly updated by
background processes triggered by user interaction. Users can customize their application by
leveraging the “native” Force.com application frame- work or by using programmatic APIs in
the most popular programming languages.
The application framework allows users to visually define either the data or the core
structure of a Force.com application, while the programmatic APIs provide them with a more
conventional way for developing applications that relies on Web services to interact with the
platform. Customization of application processes and logic can also be implemented by
developing scripts in APEX. This is a Java-like language that provides object-oriented and
procedural capabilities for defining either scripts executed on demand or triggers. APEX also
offers the capability of expressing searches and queries to have complete access to the data
managed by the Force.com platform.
➢ Salesforce.com is probably best known for its sales management SaaS, but it’s also a
leader in cloud computing development.
➢ The company’s cloud computing architecture is dubbed Force.com. The platform as a
service is entirely on-demand, running across the Internet.
CLOUD COMPUTING CS & BCA
55 A. SIVASANKARI , SIASC.
➢ Salesforce provides its own Force.com API and developer’s toolkit. Pricing is on a
per log-in basis. Supplementing Force.com is AppExchange, a directory of web-based
applications.
➢ Developers can use AppExchange applications uploaded by others, share their own
applications in the directory, or publish private applications accessible only by
authorized companies or clients.
➢ Many applications in the AppExchange library are free, and others can be purchased
or licensed from the original developers.
➢ Most existing AppExchange applications are sales related—sales analysis tools, email
marketing systems, financial analysis apps, and so forth. But companies can use the
Force.com platform to develop any type of application.
➢ In fact, many small businesses have already jumped on the Force.com bandwagon.
For example, an April 2008 article in PC World magazine quoted Jonathan Snyder,
CTO of Dream builder Investments, a 10-person mortgage investment company in
New York.
➢ “We’re a small company,” Snyder said, “we don’t have the resources to focus on
buying servers and developing from scratch. For us, Force.com was really a jump-
start.”
Salesforce.com is the Enterprise Cloud Computing Company. Put simply, we provide
CRM and Collaboration applications that you access over the Internet and pay-as-you-go.
You can also build your own apps on our Force.com platform, all without the need to run and
manage your own data centre and software. Find out why more than 87,200 companies have
chosen salesforce.com to help run their business
CLOUD COMPUTING CS & BCA
56 A. SIVASANKARI , SIASC.
FIGURE 2.16 Salesforce.com
2.9.1PRODUCTS
1.Accounts and contacts
Everything you need to know about your customers and prospects - all in one place.
2.Marketing and leads
Close that gap between marketing and sales with better quality leads—and more of
them.
3.Opportunities and quotes
When you have critical deals in the works, don’t let anything slip through the cracks.
4.Jigsaw data services
Your CRM data just got a whole lot better with real-time contact info and automated
data hygiene.
5.Analytics and forecasting
Get the insight you need to keep your sales on track and moving efficiently
6.Approvals and workflow
Nothing should impede the momentum of your sales efforts. Drag and drop to create
automated processes with these tools.
7.Email and productivity
Don’t change the way you work. With the Sales Cloud , you can work seamlessly
with the tools you already use everyday.
CLOUD COMPUTING CS & BCA
57 A. SIVASANKARI , SIASC.
8.Content library
Stop searching aimlessly for that killer presentation… that new product datasheet…
that updated price sheet. It’s right at your fingertips.
9.Genius
Find sales insights when you need them most. Genius connects you with people and
resources to help you close deals.
10.Chatter
Collaborate instantly. Get real-time updates pushed to you on the people, data, and
documents that can help you close your deals.
11.Partners
Stop waiting for partner updates. Now you can have complete visibility into both
direct and indirect sales channels with one view.
12.Mobile
Having the latest information can improve customer relations and accelerate your
deals. Stay on top of your business from any location on any device.
13. AppExchange
Discover hundreds of apps that will expand your sales success. Want more solutions?
Look no further
Salesforce.com Support also offers:
Basic Support Premier Support
Premier Support
with Administration
Case limit Unlimited Unlimited Unlimited
Response time
2 business
days
2 hours 2 hours
Online customer portal Included Included Included
Live phone support 12/51
24/7 24/7
Assigned representative Yes (50 users)3
Yes (50 users)2
Health check (annual) Yes (50 users) Yes (50 users)
CLOUD COMPUTING CS & BCA
58 A. SIVASANKARI , SIASC.
Developer Support4
Yes Yes
Force.com app
extensions5
Yes Yes Yes
Administration Included
2.10 Other Cloud Services Development Tools
➢ Amazon, Google, IBM, and Salesforce.com aren’t the only companies offering tools
for cloud services developers.
➢ There are also a number of smaller companies working in this space that developers
should evaluate, and that end users may eventually become familiar with. These
companies include the following:
✓ 3tera (www.3tera.com)
✓ 10gen (www.10gen.com)
✓ Cohesive Flexible Technologies (www.cohesiveft.com)
✓ Joyent (www.joyent.com)
✓ Mosso (www.mosso.com)
✓ Nirvanix (www.nirvanix.com)
✓ Skytap (www.skytap.com).
✓ StrikeIron (www.strikeiron.com)
✓ Sun Microsystems has an R&D project, dubbed Project Caroline
✓ (www.projectcaroline.net)
This is the basic structure of AWS EC2, where EC2 stands for Elastic Compute Cloud.
EC2 allow users to use virtual machines of different configurations as per their requirement.
It allows various configuration options, mapping of individual server, various pricing
options, etc. We will discuss these in detail in AWS Products section. Following is the
diagrammatic representation of the architecture.
CLOUD COMPUTING CS & BCA
59 A. SIVASANKARI , SIASC.
FIGURE 2.17 AWS Products
Note − In the above diagram S3 stands for Simple Storage Service. It allows the users
to store and retrieve various types of data using API calls. It doesn’t contain any computing
element. We will discuss this topic in detail in AWS products section.
Load Balancing
➢ Load balancing simply means to hardware or software load over web servers, that
improver's the efficiency of the server as well as the application. Following is the
diagrammatic representation of AWS architecture with load balancing.
➢ Hardware load balancer is a very common network appliance used in traditional web
application architectures.
➢ AWS provides the Elastic Load Balancing service, it distributes the traffic to EC2
instances across multiple available sources, and dynamic addition and removal of
Amazon EC2 hosts from the load-balancing rotation.
➢ Elastic Load Balancing can dynamically grow and shrink the load-balancing
capacity to adjust to traffic demands and also support sticky sessions to address more
advanced routing needs.
Amazon Cloud-front
➢ It is responsible for content delivery, i.e. used to deliver website. It may contain
dynamic, static, and streaming content using a global network of edge locations.
CLOUD COMPUTING CS & BCA
60 A. SIVASANKARI , SIASC.
Requests for content at the user's end are automatically routed to the nearest edge
location, which improves the performance.
➢ Amazon Cloud-front is optimized to work with other Amazon Web Services, like
Amazon S3 and Amazon EC2. It also works fine with any non-AWS origin server
and stores the original files in a similar manner.
➢ In Amazon Web Services, there are no contracts or monthly commitments. We pay
only for as much or as little content as we deliver through the service.
Elastic Load Balancer
➢ It is used to spread the traffic to web servers, which improves performance. AWS
provides the Elastic Load Balancing service, in which traffic is distributed to EC2
instances over multiple available zones, and dynamic addition and removal of
Amazon EC2 hosts from the load-balancing rotation.
➢ Elastic Load Balancing can dynamically grow and shrink the load-balancing capacity
as per the traffic conditions.
Security Management
➢ Amazon’s Elastic Compute Cloud (EC2) provides a feature called security groups,
which is similar to an inbound network firewall, in which we have to specify the
protocols, ports, and source IP ranges that are allowed to reach your EC2 instances.
➢ Each EC2 instance can be assigned one or more security groups, each of which routes
the appropriate traffic to each instance. Security groups can be configured using
specific subnets or IP addresses which limits access to EC2 instances.
➢ Elastic Caches
➢ Amazon Elastic Cache is a web service that manages the memory cache in the cloud.
In memory management, cache has a very important role and helps to reduce the load
on the services, improves the performance and scalability on the database tier by
caching frequently used information.
Amazon RDS
➢ Amazon RDS (Relational Database Service) provides a similar access as that of
MySQL, Oracle, or Microsoft SQL Server database engine. The same queries,
applications, and tools can be used with Amazon RDS.
➢ It automatically patches the database software and manages backups as per the user’s
instruction. It also supports point-in-time recovery. There are no up-front investments
required, and we pay only for the resources we use.
CLOUD COMPUTING CS & BCA
61 A. SIVASANKARI , SIASC.
➢ Hosting RDMS on EC2 Instances
➢ Amazon RDS allows users to install RDBMS (Relational Database Management
System) of your choice like MySQL, Oracle, SQL Server, DB2, etc. on an EC2
instance and can manage as required.
➢ Amazon EC2 uses Amazon EBS (Elastic Block Storage) similar to network-attached
storage. All data and logs running on EC2 instances should be placed on Amazon
EBS volumes, which will be available even if the database host fails.
➢ Amazon EBS volumes automatically provide redundancy within the availability
zone, which increases the availability of simple disks. Further if the volume is not
sufficient for our databases needs, volume can be added to increase the performance
for our database.
➢ Using Amazon RDS, the service provider manages the storage and we only focus on
managing the data.
Storage & Backups
➢ AWS cloud provides various options for storing, accessing, and backing up web
application data and assets. The Amazon S3 (Simple Storage Service) provides a
simple web-services interface that can be used to store and retrieve any amount of
data, at any time, from anywhere on the web.
➢ Amazon S3 stores data as objects within resources called buckets. The user can store
as many objects as per requirement within the bucket, and can read, write and delete
objects from the bucket.
➢ Amazon EBS is effective for data that needs to be accessed as block storage and
requires persistence beyond the life of the running instance, such as database
partitions and application logs.
➢ Amazon EBS volumes can be maximized up to 1 TB, and these volumes can be
striped for larger volumes and increased performance. Provisioned IOPS volumes are
designed to meet the needs of database workloads that are sensitive to storage
performance and consistency.
➢ Amazon EBS currently supports up to 1,000 IOPS per volume. We can stripe
multiple volumes together to deliver thousands of IOPS per instance to an
application.
Auto Scaling
CLOUD COMPUTING CS & BCA
62 A. SIVASANKARI , SIASC.
➢ The difference between AWS cloud architecture and the traditional hosting model is
that AWS can dynamically scale the web application fleet on demand to handle
changes in traffic.
➢ In the traditional hosting model, traffic forecasting models are generally used to
provision hosts ahead of projected traffic. In AWS, instances can be provisioned on
the fly according to a set of triggers for scaling the fleet out and back in. Amazon
Auto Scaling can create capacity groups of servers that can grow or shrink on
demand.
➢ Key Considerations for Web Hosting in AWS
➢ Following are some of the key considerations for web hosting −
➢ No physical network devices needed
➢ In AWS, network devices like firewalls, routers, and load-balancers for AWS
applications no longer reside on physical devices and are replaced with software
solutions.
➢ Multiple options are available to ensure quality software solutions. For load
balancing choose Zeus, HAProxy, Nginx, Pound, etc. For establishing a VPN
connection choose OpenVPN, OpenSwan, Vyatta, etc.
No security concerns
➢ AWS provides a more secured model, in which every host is locked down. In
Amazon EC2, security groups are designed for each type of host in the architecture,
and a large variety of simple and tiered security models can be created to enable
minimum access among hosts within your architecture as per requirement.
Availability of data centers
➢ EC2 instances are easily available at most of the availability zones in AWS region
and provides model for deploying your application across data centers for both high
availability and reliability.
➢ AWS Management Console is a web application for managing Amazon Web
Services. AWS Management Console consists of list of various services to choose
from. It also provides all information related to our account like billing.
➢ This console provides an inbuilt user interface to perform AWS tasks like working
with Amazon S3 buckets, launching and connecting to Amazon EC2 instances,
setting Amazon Cloud Watch alarms, etc.
➢ Following is the screenshot of AWS management console for Amazon EC2 service.
CLOUD COMPUTING CS & BCA
63 A. SIVASANKARI , SIASC.
2.10.1 How to Access AWS?
➢ Step 1 − Click on services. We get a list of various services.
➢
➢ Step 2 − Select the choice from the list of categories and we get their sub-categories
such as Computer and Database category is selected in the following screenshots.
CLOUD COMPUTING CS & BCA
64 A. SIVASANKARI , SIASC.
Step 3 − Select the service of your choice and the console of that service will open.
➢ Customizing the Dashboard
➢ Creating Services Shortcuts
➢ Click the Edit menu on the navigation bar and a list of services appears. We can
create their shortcuts by simply dragging them from the menu bar to the navigation
bar.
➢ Adding Services Shortcuts
CLOUD COMPUTING CS & BCA
65 A. SIVASANKARI , SIASC.
➢ When we drag the service from the menu bar to the navigation bar, the shortcut will
be created and added. We can also arrange them in any order. In the following
screenshot we have created shortcut for S3, EMR and DynamoDB services.
Deleting Services Shortcuts
➢ To delete the shortcut, click the edit menu and drag the shortcut from the navigation
bar to the service menu. The shortcut will be removed. In the following screenshot,
we have removed the shortcut for EMR services.
➢ Selecting a Region
➢ Many of the services are region specific and we need to select a region so that
resources can be managed. Some of the services do not require a region to be selected
like AWS Identity and Access Management (IAM).
➢ To select a region, first we need to select a service. Click the Oregon menu (on the
left side of the console) and then select a region
CLOUD COMPUTING CS & BCA
66 A. SIVASANKARI , SIASC.
➢ Changing the Password
➢ We can change password of our AWS account. To change the password, following
are the steps.
➢ Step 1 − Click the account name on the left side of the navigation bar.
➢ Step 2 − Choose Security Credentials and a new page will open having various
options. Select the password option to change the password and follow the
instructions.
➢ Step 3 − After signing-in, a page opens again having certain options to change the
password and follow the instructions.
CLOUD COMPUTING CS & BCA
67 A. SIVASANKARI , SIASC.
➢
➢ When successful, we will receive a confirmation message.
➢ Know Your Billing Information
➢ Click the account name in the navigation bar and select the 'Billing & Cost
Management' option.
➢
➢ Now a new page will open having all the information related to money section. Using
this service, we can pay AWS bills, monitor our usage and budget estimation.
CLOUD COMPUTING CS & BCA
68 A. SIVASANKARI , SIASC.
➢
The AWS Console mobile app, provided by Amazon Web Services, allows its users to
view resources for select services and also supports a limited set of management functions
for select resource types.
Following are the various services and supported functions that can be accessed using the
mobile app.
EC2 (Elastic Compute Cloud)
• Browse, filter and search instances.
• View configuration details.
• Check status of CloudWatch metrics and alarms.
• Perform operations over instances like start, stop, reboot, termination.
• Manage security group rules.
• Manage Elastic IP Addresses.
• View block devices.
Elastic Load Balancing
• Browse, filter and search load balancers.
• View configuration details of attached instances.
• Add and remove instances from load balancers.
S3
• Browse buckets and view their properties.
• View properties of objects.
Route 53
• Browse and view hosted zones.
• Browse and view details of record sets.
CLOUD COMPUTING CS & BCA
69 A. SIVASANKARI , SIASC.
RDS (Relational Database Service)
• Browse, filter, search and reboot instances.
• View configuration details, security and network settings.
Auto Scaling
• View group details, policies, metrics and alarms.
• Manage the number of instances as per the situation.
Elastic Beanstalk
• View applications and events.
• View environment configuration and swap environment CNAMEs.
• Restart app servers.
DynamoDB
• View tables and their details like metrics, index, alarms, etc.
CloudFormation
• View stack status, tags, parameters, output, events, and resources.
OpsWorks
• View configuration details of stack, layers, instances and applications.
• View instances, its logs, and reboot them.
CloudWatch
• View CloudWatch graphs of resources.
• List CloudWatch alarms by status and time.
• Action configurations for alarms.
Services Dashboard
• Provides information of available services and their status.
• All information related to the billing of the user.
• Switch the users to see the resources in multiple accounts.
Features of AWS Mobile App
To have access to the AWS Mobile App, we must have an existing AWS account.
Simply create an identity using the account credentials and select the region in the menu.
This app allows us to stay signed in to multiple identities at the same time.
For security reasons, it is recommended to secure the device with a passcode and to
use an IAM user's credentials to log in to the app. In case the device is lost, then the IAM
user can be deactivated to prevent unauthorized access.
CLOUD COMPUTING CS & BCA
70 A. SIVASANKARI , SIASC.
Root accounts cannot be deactivated via mobile console. While using AWS Multi-
Factor Authentication (MFA), it is recommended to use either a hardware MFA device or a
virtual MFA on a separate mobile device for account security reasons.
2.10.2 How to Use AWS Account?
Following are the steps to access AWS services −
• Create an AWS account.
• Sign-up for AWS services.
• Create your password and access your account credentials.
• Activate your services in credits section.
Create an AWS Account
Amazon provides a fully functional free account for one year for users to use and
learn the different components of AWS. You get access to AWS services like EC2, S3,
DynamoDB, etc. for free. However, there are certain limitations based on the resources
consumed.
Step 1 − To create an AWS account, open this link https://aws.amazon.com and sign-up for
new account and enter the required details.
If we already have an account, then we can sign-in using the existing AWS password.
CLOUD COMPUTING CS & BCA
71 A. SIVASANKARI , SIASC.
Step 2 − After providing an email-address, complete this form. Amazon uses this
information for billing, invoicing and identifying the account. After creating the account,
sign-up for the services needed.
CLOUD COMPUTING CS & BCA
72 A. SIVASANKARI , SIASC.
Step 3 − To sign-up for the services, enter the payment information. Amazon executes a
minimal amount transaction against the card on the file to check that it is valid. This charge
varies with the region.
Step 4 − Next, is the identity verification. Amazon does a call back to verify the provided
contact number.
Step 5 − Choose a support plan. Subscribe to one of the plans like Basic, Developer,
Business, or Enterprise. The basic plan costs nothing and has limited resources, which is
good to get familiar with AWS.
Step 6 − The final step is confirmation. Click the link to login again and it redirects to AWS
management console.
CLOUD COMPUTING CS & BCA
73 A. SIVASANKARI , SIASC.
Now the account is created and can be used to avail AWS services.
AWS Account Identifiers
AWS assigns two unique IDs to each AWS account.
• An AWS account ID
• A conical user ID
AWS Account ID
It is a 12-digit number like 123456789000 and is used to construct Amazon Resource
Names (ARN). This ID helps to distinguish our resources from resources in other AWS
accounts.
To know the AWS account number, click Support on the upper right side of the navigation
bar in AWS management console as shown in the following screenshot.
Conical String User ID
It is a long string of alphanumeric characters like 1234abcdef1234. This ID is used in
Amazon S3 bucket policy for cross-account access, i.e. to access resources in another AWS
account.
Account Alias
Account alias is the URL for your sign-in page and contains the account ID by
default. We can customize this URL with the company name and even overwrite the
previous one.
2.10.3 How to Create/Delete Your Own AWS Account Alias?
CLOUD COMPUTING CS & BCA
74 A. SIVASANKARI , SIASC.
Step 1 − Sign in to the AWS management console and open the IAM console using the
following link https://console.aws.amazon.com/iam/
Step 2 − Select the customize link and create an alias of choice.
Step 3 − To delete the alias, click the customize link, then click the Yes, Delete button. This
deletes the alias and it reverts to the Account ID.
Multi Factor Authentication
Multi Factor Authentication (MFA) provides additional security by authenticating
the users to enter a unique authentication code from an approved authentication device or
SMS text message when they access AWS websites or services. If the MFA code is correct,
then only the user can access AWS services or else not.
Requirements
CLOUD COMPUTING CS & BCA
75 A. SIVASANKARI , SIASC.
To use MFA services, the user has to assign a device (hardware or virtual) to IAM
user or AWS root account. Each MFA device assigned to the user must be unique, i.e. the
user cannot enter a code from another user's device to authenticate.
How to Enable MFA Device?
Step 1 − Open the following link, https:// console.aws.amazon.com/iam/
Step 2 − On the web page, choose users from the navigation pane on the right side to view
the list of user name.
Step 3 − Scroll down to security credentials and choose MFA. Click activate MFA.
Step 4 − Follow the instructions and the MFA device will get activated with the account.
There are 3 ways to enable a MFA device −
SMS MFA Device
In this method, MFA requires us to configure the IAM user with the phone number of
the user's SMS-compatible mobile device. When the user signs in, AWS sends a six-digit
code by SMS text message to the user's mobile device. The user is required to enter the same
code on a second web page during sign-in to authenticate the right user. This SMS-based
MFA cannot be used with AWS root account.
Hardware MFA Device
In this method, MFA requires us to assign an MFA device (hardware) to the IAM
user or the AWS root account. The device generates a six-digit numeric code based upon a
CLOUD COMPUTING CS & BCA
76 A. SIVASANKARI , SIASC.
time synchronized one-time password algorithm. The user has to enter the same code from
the device on a second web page during sign-in to authenticate the right user.
Virtual MFA Device
In this method, MFA requires us to assign an MFA device (virtual) to the IAM user
or the AWS root account. A virtual device is a software application (mobile app) running on
a mobile device that emulates a physical device. The device generates a six-digit numeric
code based upon a time-synchronized one-time password algorithm. The user has to enter
the same code from the device on a second web page during sign-in to authenticate the right
user.
AWS Identity & Access Management (IAM)
IAM is a user entity which we create in AWS to represent a person that uses it with
limited access to resources. Hence, we do not have to use the root account in our day-to-day
activities as the root account has unrestricted access to our AWS resources.
How to Create Users in IAM?
Step 1 − Open the link https://console.aws.amazon.com/iam/ to sign-in to AWS
Management console.
Step 2 − Select the Users option on the left navigation pane to open the list of all users.
CLOUD COMPUTING CS & BCA
77 A. SIVASANKARI , SIASC.
Step 3 − We can also create New Users using the Create New Users option, a new window
will open. Enter the user-name which we want to create. Select the create option and a new
user will be created.
Step 4 − We can also see Access Key IDs and secret keys by selecting Show Users Security
Credentials link. We can also save these details on the computer using the Download
Credentials option.
Step 5 − We can manage the user’s own security credentials like creating password,
managing MFA devices, managing security certificates, creating/deleting access keys,
adding user to groups, etc.
CLOUD COMPUTING CS & BCA
78 A. SIVASANKARI , SIASC.
There are many more features that are optional and are available on the web page.
2.11 AWS - Elastic Compute Cloud
Amazon EC2 (Elastic Compute Cloud) is a web service interface that provides
resizable compute capacity in the AWS cloud. It is designed for developers to have complete
control over web-scaling and computing resources.
EC2 instances can be resized and the number of instances scaled up or down as per
our requirement. These instances can be launched in one or more geographical locations or
regions, and Availability Zones (AZs). Each region comprises of several AZs at distinct
locations, connected by low latency networks in the same region.
2.12 EC2 Components
In AWS EC2, the users must be aware about the EC2 components, their operating
systems support, security measures, pricing structures, etc.
CLOUD COMPUTING CS & BCA
79 A. SIVASANKARI , SIASC.
Operating System Support
Amazon EC2 supports multiple OS in which we need to pay additional licensing fees
like: Red Hat Enterprise, SUSE Enterprise and Oracle Enterprise Linux, UNIX, Windows
Server, etc. These OS needs to be implemented in conjunction with Amazon Virtual Private
Cloud (VPC).
Security
Users have complete control over the visibility of their AWS account. In AWS EC2,
the security systems allow create groups and place running instances into it as per the
requirement. You can specify the groups with which other groups may communicate, as well
as the groups with which IP subnets on the Internet may talk.
Pricing
AWS offers a variety of pricing options, depending on the type of resources, types of
applications and database. It allows the users to configure their resources and compute the
charges accordingly.
Fault tolerance
Amazon EC2 allows the users to access its resources to design fault-tolerant
applications. EC2 also comprises geographic regions and isolated locations known as
availability zones for fault tolerance and stability. It doesn’t share the exact locations of
regional data centers for security reasons.
When the users launch an instance, they must select an AMI that's in the same region
where the instance will run. Instances are distributed across multiple availability zones to
provide continuous services in failures, and Elastic IP (EIPs) addresses are used to quickly
map failed instance addresses to concurrent running instances in other zones to avoid delay
in services.
Migration
This service allows the users to move existing applications into EC2. It costs $80.00 per
storage device and $2.49 per hour for data loading. This service suits those users having
large amount of data to move.
Features of EC2
Here is a list of some of the prominent features of EC2 −
• Reliable − Amazon EC2 offers a highly reliable environment where replacement of
instances is rapidly possible. Service Level Agreement commitment is 99.9%
availability for each Amazon EC2 region.
CLOUD COMPUTING CS & BCA
80 A. SIVASANKARI , SIASC.
• Designed for Amazon Web Services − Amazon EC2 works fine with Amazon
services like Amazon S3, Amazon RDS, Amazon DynamoDB, and Amazon SQS. It
provides a complete solution for computing, query processing, and storage across a
wide range of applications.
• Secure − Amazon EC2 works in Amazon Virtual Private Cloud to provide a secure
and robust network to resources.
• Flexible Tools − Amazon EC2 provides the tools for developers and system
administrators to build failure applications and isolate themselves from common
failure situations.
• Inexpensive − Amazon EC2 wants us to pay only for the resources that we use. It
includes multiple purchase plans such as On-Demand Instances, Reserved Instances,
Spot Instances, etc. which we can choose as per our requirement.
How to Use AWS EC2
Step 1 − Sign-in to AWS account and open IAM console by using the following
link https://console.aws.amazon.com/iam/.
Step 2 − In the navigation Panel, create/view groups and follow the instructions.
Step 3 − Create IAM user. Choose users in the navigation pane. Then create new users and
add users to the groups.
Step 4 − Create a Virtual Private Cloud using the following instructions.
• Open the Amazon VPC console by using the following link
− https://console.aws.amazon.com/vpc/
• Select VPC from the navigation panel. Then select the same region in which we have
created key-pair.
• Select start VPC wizard on VPC dashboard.
• Select VPC configuration page and make sure that VPC with single subnet is
selected. The choose Select.
• VPC with a single public subnet page will open. Enter the VPC name in the name
field and leave other configurations as default.
• Select create VPC, then select Ok.
Step 5 − Create WebServerSG security groups and add rules using the following
instructions.
• On the VPC console, select Security groups in the navigation panel.
CLOUD COMPUTING CS & BCA
81 A. SIVASANKARI , SIASC.
• Select create security group and fill the required details like group name, name tag,
etc.
• Select your VPC ID from the menu. Then select yes, create button.
• Now a group is created. Select the edit option in the inbound rules tab to create rules.
Step 6 − Launch EC2 instance into VPC using the following instructions.
• Open EC2 console by using the following link
− https://console.aws.amazon.com/ec2/
• Select launch instance option in the dashboard.
• A new page will open. Choose Instance Type and provide the configuration. Then
select Next: Configure Instance Details.
• A new page will open. Select VPC from the network list. Select subnet from the
subnet list and leave the other settings as default.
• Click Next until the Tag Instances page appears.
Step 7 − On the Tag Instances page, provide a tag with a name to the instances. Select Next:
Configure Security Group.
Step 8 − On the Configure Security Group page, choose the Select an existing security
group option. Select the WebServerSG group that we created previously, and then choose
Review and Launch.
Step 9 − Check Instance details on Review Instance Launch page then click the Launch
button.
Step 10 − A pop up dialog box will open. Select an existing key pair or create a new key
pair. Then select the acknowledgement check box and click the Launch Instances button.
2.13 Google App Engine
Platform as a Service (PaaS)
CLOUD COMPUTING CS & BCA
82 A. SIVASANKARI , SIASC.
1. What is Google App Engine.
• Overview
• Programming languages support
• Data storage
• App Engine services
• Security
2. When to use Google App Engine.
3. How to use Google App Engine.
1.Service (PaaS)
• Cloud computing service which provides a computing platform and a solution stack as
a service.
• Consumer creates the software using tools and/or libraries from the provider.
• Provider provides the networks, servers, storage, etc.
Google App Engine (GAE) is a Platform as a Service (PaaS) cloud computing
platform for developing and hosting web applications in Google-managed data centers
Google App Engine lets you run web applications on Google's infrastructure
• Easy to build.
• Easy to maintain.
• Easy to scale as the traffic and storage needs grow.
Free for upto 1 GB of storage and enough CPU and bandwidth to support 5 million
page views a month. 10 Applications per Google account.
Java:
• App Engine runs JAVA apps on a JAVA 7 virtual machine (currently
supports JAVA 6 as well).
• Uses JAVA Servlet standard for web applications:
• WAR (Web Applications ARchive) directory structure.
• Servlet classes
• Java Server Pages (JSP)
• Static and data files
• Deployment descriptor (web.xml)
• Other configuration files
CLOUD COMPUTING CS & BCA
83 A. SIVASANKARI , SIASC.
• Getting started :
https://developers.google.com/appengine/docs/java/gettingstarted/
Python:
• Uses WSGI (Web Server Gateway Interface) standard.
• Python applications can be written using:
• Webapp2 framework
• Django framework
• Any python code that uses the CGI (Common Gateway Interface) standard.
• Getting started :
https://developers.google.com/appengine/docs/python/gettingstartedpython27/
PHP (Experimental support):
• Local development servers are available to anyone for developing
and testing local applications.
• Only whitelisted applications can be deployed on Google App Engine.
(https://gaeforphp.appspot.com/).
• Getting started: https://developers.google.com/appengine/docs/php/
Google’s Go:
• Go is an Google’s open source programming environment.
• Tightly coupled with Google App Engine.
• Applications can be written using App Engine’s Go SDK.
• Getting started:
https://developers.google.com/appengine/docs/go/overview
App Engine Datastore:
• NoSQL schema-less object based data storage, with a query engine and
atomic transactions.
• Data object is called a “Entity” that has a kind (~ table name) and a set of
properties (~ column names).
• JAVA JDO/ JPA interfaces and Python datastore interfaces.
Google cloud SQL:
• Provides a relational SQL database service.
• Similar to MySQL RDBMS.
CLOUD COMPUTING CS & BCA
84 A. SIVASANKARI , SIASC.
DATA STORAGE
Google cloud store:
• RESTful service for storing and querying data.
• Fast, scalable and highly available solution.
• Provides Multiple layers of redundancy. All data is replicated to multiple
data centers.
• Provides different levels of access control.
• HTTP based APIs.
App Engine also provides a variety of services to perform common operations when
managing your application.
• URL Fetch:
• Facilitates the application’s access to resources on the internet, such as
web services or data.
• Mail:
• Facilitates the application to send e-mail messages using Google
infrastructure.
• Memcache:
• High performance in-memory key-value storage.
• Can be used to store temporary data which doesn’t need to be persisted.
SECURITY
The sandbox:
• All hosted applications run in a secure environment that provides limited access to
the underlying operating system.
• Sandbox isolates the application in its own secure, reliable environment that is
independent of hardware, operating system and physical location of a web server.
• Limitations imposed by sandbox (for security):
• An application can only access other computers over internet using the
provided URL fetch and email services. Other computers can only connect to
the application through HTTP/ HTTPS requests on the standard ports (80/
443).
• Applications cannot write to local file system in any of the runtime
environments.
CLOUD COMPUTING CS & BCA
85 A. SIVASANKARI , SIASC.
• Application code runs only in response to a web request, a queued task or a
scheduled task and must return the response data within 60 seconds. A request
handler cannot spawn a sub-process or execute code after the response has
been sent.
Use App Engine when:
• We don’t want to get troubled for setting up a server.
• We want instant for-free nearly infinite scalability support.
• We application’s traffic is spiky and rather unpredictable.
• We don't feel like taking care of your own server monitoring tools.
• We need pricing that fits your actual usage and isn't time-slot based (App engine
provides pay-per-drink cost model).
• We are able to chunk long tasks into 60 second pieces.
We are able to work without direct access to local file system.
BUSINESS RUNNING ON GOOGLE APP ENGINE
• http://www.lowes.com/
• Uses App Engine to host their MyLowes service used by customers to
customize and personalize their home improvement projects.
• http://www.getaround.com/
• Peer-to-peer car sharing and local car rental service.
• http://kissflow.com/
• Workflow service based on Google applications.
Source – Google I/O 2012 – App Engine Overview
(https://www.youtube.com/watch?v=uy0nALQEAM4 )
• JAVA
• Python
IBM was a very early proponent of both virtualization and cloud computing. IBM
Smart Business cloud solutions support clouds built behind the enterprise firewall, or the
IBM cloud. IBM’s public cloud offering is still new, while its private cloud offerings are, for
the cloud, very mature.
Unlike Google, who has collaborated with VMware, IBM’s strategy is to handhold
enterprises into the cloud both by providing services and also by working with Red Hat to
offer Red Hat’s EL, bypassing VMware with the announcement of Smart Business
Development & Test on the IBM Cloud.
CLOUD COMPUTING CS & BCA
86 A. SIVASANKARI , SIASC.
IBM has also partnered with SOASTA, who makes “CloudTest,” and is a leading
provider of cloud testing. SOASTA also partners with CA Amazon, and Microsoft. It is
competing head-on with VMforce and Salesforce.com. IBM also partners non-exclusively
with RightScale, which offers Hyperic HQ .
Consistent Development Experience
IBM was relatively early in recognizing the advantages of cloud computing for
development. IBM has offered a private cloud solution for development and test since June
2009, and now offers development and test services in three delivery models:
• IBM Smart Business Development and Test Cloud . A private cloud service behind the
client’s firewall, built and managed by IBM. The service now includes enhanced
capabilities for collaborative cloud development using Rational Software Delivery
Services for Cloud Computing.
• IBM Smart Business Development and Test on the IBM Cloud. Application development
and test featuring Rational Software Delivery Services for Cloud Computing over IBM’s
secure, scalable cloud.
• IBM CloudBurst for Development and Test . IBM CloudBurst is a preintegrated set of
hardware, storage, virtualization, and networking, with a sophisticated built-in service
management system to allow clients to rapidly deploy an internal/private cloud
environment.
“Workload characteristics continue to drive the rate and degree of standardization of IT and
business services,” said Rich Esposito, vice president, IT Strategy & Architecture and
Middleware Services, IBM. “Standardization is key to bringing discipline, efficiency and
simplicity to the most complex corners of big businesses.”
Eleven Cloud Computing Competency Centres Worldwide
IBM’s cloud computing competency centers are designed to showcase IBM cloud
computing infrastructures, applications, and services capabilities through specific
competency and training solutions, as well as offer additional services to clients. By June
2010, IBM had opened eleven centers:
• Singapore
• Dublin, Ireland
• Beijing, China
• Tokyo, Japan
• Johannesburg, South Africa
CLOUD COMPUTING CS & BCA
87 A. SIVASANKARI , SIASC.
• Sao Paulo, Brazil
• Bangalore, India
• Seoul, South Korea
• Hanoi, Vietnam
• The Netherlands
• Wuxi, China
Craig Sowell, Director, Cloud Marketing and Communications at IBM, was kind enough to
discuss IBM’s cloud strategy with me. The points that IBM stresses are that IBM cloud
solutions:
• Assist in reducing capital and licensing expenses as much as fifty to seventy-five percent
using virtualized resources
• Help reduce operating and labor costs as much as thirty to fifty percent by automating
development and testing resource provisioning and configuration
• Facilitate innovation and time to market by helping reduce development and testing setup
time from weeks to minutes
• Improve quality through more accurate configurations and enhanced modeling to help
reduce defects by as much as fifteen to thirty percent
• Achieve better utilization, as the average enterprise devotes up to fifty percent of its entire
technology infrastructure to development and test, but typically up to ninety percent of it
remains idle.
IBM purchased Rational a number of years ago, and is particularly strong in supporting
application development and testing. Smart Business Development and Test on the IBM
Cloud offers flexible provisioning on demand, at a predetermined cost.
The IBM Smart Business Development and Test on the IBM Cloud is a dynamically
provisioned and scaled runtime environment that provides a complete environment to
develop and test application code; of course, it highlights IBM’s software offerings. These
include tools to configure and manage the dynamic execution environment, an IDE that
facilitates the direct use of the execution environment, and build and test tools that can
exploit the execution environment. Other areas supported include SaaS solutions for
collaboration and governance infrastructure and resource repositories for source and reusable
assets. It is available now in North America.
The IBM Smart Business Development and Test Cloud provides an onpremises cloud,
built by IBM Services. IBM CloudBurst offers pre-integrated hardware, storage,
CLOUD COMPUTING CS & BCA
88 A. SIVASANKARI , SIASC.
virtualization, and networking to create an onpremises cloud environment. Service
management capability is delivered via IBM Tivoli Service Automation Manager V7.2.
IBM’s Smart Business Desktop Cloud Solution is an on-premise approach providing
virtualized desktops to provide replication of a standardized desktop to enterprises.
In May 2010, IBM acquired Cast Iron Systems, a cloud integrator, to deliver industry-
leading cloud integration software, appliances, and services. It does this on a cross-vendor
basis; for example, it integrates cloud applications from providers (such as Salesforce.com,
Amazon, NetSuite, and ADP) with on-premise applications (such as SAP and JD Edwards).
Cast Iron has hundreds of prebuilt templates and services expertise, reducing custom coding
and allowing cloud integrations to be completed in the space of days, rather than weeks or
longer. These results can be achieved using a physical appliance, a virtual appliance, or a
cloud service. IBM also strengthened its offerings by acquiring Sterling Commerce from
AT&T.
PayPal, the online payment system is extending its global payments platform, PayPal
X, into the cloud. PayPal is working with the IBM Cloud Labs to quickly monetize new
applications developed and made available via smart phones. “We want to vice president of
platform and emerging technologies. “The IBM cloud provides a platform for developers to
come together as a community, to create, develop and test new applications. We look forward
to seeing the payments innovations our developers create through the IBM cloud and
bringing the wallet into the cloud.”
One of I.B.M.’s test beds for cloud computing has been the Interior Department’s
National Business Center, a service center that handles payroll, human relations, financial
reporting, contracting services and other computing tasks for dozens of federal agencies. The
center runs two large data centers, one in Northern Virginia and another outside Denver.
Douglas J. Bourgeois, the center’s director, said he is introducing several cloud-style
applications over the next nine months including Web-based training, and staffing and
recruitment software.
In tests with financial and procurement software, the cloud-computing environment
has delivered efficiencies of 40 to 60 percent in productivity and power consumption, he
stated. “For us, like other data centers, the volume of data continues to explode,” Mr.
Bourgeois said. “We want to solve some of those problems with cloud computing, so we
don’t have to build another $20 million data center.”
IBM Cloud Resources
CLOUD COMPUTING CS & BCA
89 A. SIVASANKARI , SIASC.
• IBM’s Cloud Computing Portfolio and Overview
• IBM developer Works
• IBM Cloudburst
• Small Business Development and Test Cloud
Recent IBM Cloud Press Releases
• IBM Advances Cloud Initiatives with Acquisition of Cast Iron Systems
• IBM LotusLive Expands with Business Tools and Services from UPS, Skype,
Salesforce.com and Silanis to Serve Growing Demand for Cloud Computing
• IBM Extends Development and Test to the IBM Cloud
• IBM Launches Initiative to Foster Cybersecurity Collaboration with Public and Private
Sector Clients
• IBM Launches Academic Cloud to Speed Delivery of Technology Skills to College
Students
• Panasonic Ushers in the Cloud Computing Era with IBM Lotus-Live.
CLOUD COMPUTING CS & BCA
90 A. SIVASANKARI , SIASC.
UNIT – III
CLOUD COMPUTING FOR EVERYONE
3.1 CENTRALIZING EMAIL COMMUNICATIONS
The primary objective of Cloud Computing is to provide effortless access to emails at
anywhere and anytime. In earlier pre-Cloud Computing, email access was through a single
computer, where all email messages are stored. Microsoft Outlook or Outlook Express which
installed on a personal computer are mostly used for the above purpose. ISP’s email access
web page is needed if the client wanted to see home email from work. There is no sync
between the messages on home pc, which is the beginning of troubles with demanding to
communicate in this manner.
To overcome these limitations, web-based email service such as Yahoo!
Mail(mail.yahoo.com), Microsoft’s Windows Live Hotmail (mail.live.com) or Google’s
Gmail (mail.Google.com). These applications keep email inbox in the Cloud which user can
access it from any type of computer connected to Internet service. User’s sending or
receiving messages are stored on the web, so there is no dependency on a single computer.
User’s always enabled to access synchronized message that, it doesn’t matter what type of
computer they are used is the primary purpose of using web-based email. Users can use any
type of computer to access their emails because messages are stored in the Cloud, not in
Personal Computer
• The key here is to change anywhere/anytime access to email.
• Precloud computing, your email access was via one pc, that additionally keep all of
your email messages.
• For this purpose, you almost certainly used a program like Microsoft Outlook or
Outlook specific, put in on your data processor.
• To envision your home email from work, it took a small amount of juggling and
maybe the employment of your ISP’s email access web content.
• That web content was ne'er in synchronise with the messages on your home laptop, of
course, that is simply the beginning of the issues with making an attempt to speak
during this fashion.
• A better approach is to use a web-based email service, such as Google’s Gmail
(mail.google.com), Microsoft’s Windows Live Hotmail (mail.live.com), or Yahoo!
Mail (mail.yahoo.com).
CLOUD COMPUTING CS & BCA
91 A. SIVASANKARI , SIASC.
• These services place your email inbox in the cloud; you can access it from any
computer connected to the Internet.
The main benefits of centralized e-mail communication service are:
• It reduces the need for organizations to invest in and maintain their own on-
premises IT resources
• It enables scalability to meet workload and user demands
• There are fewer wasted resources because customers only pay for what they use.
3.1.1. COLLABORATING VIA WEB-BASED COMMUNICATION TOOLS
GMAIL:
• Gmail offers a few unique features that set it apart from the web-based email crowd.
• First, Gmail doesn’t use folders. With Gmail you can’t organize your mail into
folders, as you can with the other services.
• Instead, Gmail pushes the search paradigm as the way to find the messages you want
not a surprise, given Google’s search-centric business model.
• Gmail does, however, let you “tag” each message with one or more labels. This has
the effect of creating virtual folders, as you can search and sort your messages by any
of their labels.
• In addition, Gmail groups together related email messages in what Google calls
conversations.
Yahoo! Mail Yahoo! Mail (mail.yahoo.com)
• It is another web mail service, provided by the popular Yahoo! search site.
• The basic Yahoo! Mail is free and can be accessed from any PC, using any web
browser.
• Yahoo! also offers a paid service called Yahoo! Mail Plus that lets you send larger
messages and offers offline access to your messages via POP email clients
WEB MAIL SERVICES
• AOL Mail (mail.aol.com)
• BigString (www.bigstring.com)
• Excite Mail (mail.excite.com)
• FlashMail (www.flashmail.com) GMX Mail (www.gmx.com)
• Inbox.com (www.inbox.com)
• Lycos Mail (mail.lycos.com)
• Mail.com (www.mail.com)
CLOUD COMPUTING CS & BCA
92 A. SIVASANKARI , SIASC.
• Zoho Mail (zoho.mail.com)
DATA SECURITY
• Information in a cloud environment has much more dynamism and fluidity than
information that is static on a desktop or in a network folder
• Nature of cloud computing dictates that data are fluid objects, accessible from a
multitude of nodes and geographic locations and, as such, must have a data security
methodology that takes this into account while ensuring that this fluidity is not
compromised
• The idea of content-centric or information-centric protection, being an inherent part of
a data object is a development out of the idea of the “de-perimerization” of the
enterprise.
• This idea was put forward by a group of Chief Information Officers (CIOs) who
formed an organization called the Jericho Forum
3.1.2 COLLABORATING ON SCHEDULES
Now- a- days, continuous access to schedule is more important. Every person needs to
maintain a calendar to schedule their daily activities. Example: Youth sports team,
Community Organization, school event or some community event. A web-based calendar can
organize the schedules in a very simple manner. Example applications are Yahoo calendar or
Google Calendar. User can access these applications anywhere and anytime with the help of
internet. Google Calendar is a free application tool for maintaining personal and professional
schedules which keep tracking of all user events and possible to share with others. Like
traditional day planner, this tool keeps track of sports practices, meetings, doctor visits and
social events in a customized way. The features of web-based calendars vary from simple to
complex and also available as free or low cost. The other members from family are also
possible to include their events in this calendar.
The benefits of the web-based calendar are listed below:
• Create appointments, list events, and note tasks.
• Schedule recurring items such as anniversaries, birthdays, and meetings.
• View a day, week, month or year.
• Revise or add notes to calendar entries.
• Create a personal calendar or create a group calendar for club or organization.
• Provide the ability to send yourself reminders via email.
• A way to keep in touch and coordinate with family, friends and associates.
CLOUD COMPUTING CS & BCA
93 A. SIVASANKARI , SIASC.
• We can access your schedule from anywhere
• Your calendar is associated with your email account so no one else can access it
without valid login name and password.
• It comes to coordinating multiple individuals or families in a community activity; you
have your work cut out for you.
• Whether it‘s a youth sports team, community organization, school event, or some
community event, trying to line up who‘s free and who‘s not on a given evening takes
a lot of effort unless, that is, you‘re using web-based scheduling tools.
• One of the most common community activities: youth sports. whatever the sport,
there‘s a lot of activities that need to be scheduled practices, home games, away
games, team meetings, you name it.
• Multiply the number of players (and coaches) on each team times the number of
events, and you see the complexity; it gets even worse if you‘re trying to manage
events for an entire league.
• When it comes to coordinating multiple individuals or families in a community
activity, you have your work cut out for you.
• Whether it‘s a youth sports team, community organization, school event, or some
community event, trying to line up who‘s free and who‘s not on a given evening takes
a lot of effort unless, that is, you‘re using web-based scheduling tools.
FIG 3.1 CLOUD COMPUTING RESOURCES
CLOUD COMPUTING CS & BCA
94 A. SIVASANKARI , SIASC.
MANAGING SCHEDULES
• Better way is web-based scheduling. Everyone places his or her schedule in the cloud,
which then enables the meeting‘s organizer to easily see who‘s available when.
• The cloud-based app finds the best time for all involved and schedules the meeting.
No more emails, no more phone calls; it all happens automatically, in the cloud.
• Web-based scheduling programs let you schedule both in-person meetings and
teleconferences with attendees from multiple locations. You‘re not limited to just
those people located in your office; you can work with the schedules of people around
the country and even in different firms.
SPORTS TEAM SCHEDULES
• Here‘s one of the most common community activities: youth sports. Maybe your son
is on an intramural football team, or your daughter is into youth soccer.
• Whatever the age, whatever the sport, there‘s a lot of activities that need to be
scheduled practices, home games, away games, team meetings, you name it.
• Multiply the number of players (and coaches) on each team times the number of
events, and you see the complexity; it gets even worse if you‘re trying to manage
events for an entire league.
• How best, then, to juggle all the schedules of so many people and events? The best
way is to use a web-based calendar tool, such as Google Calendar
(calendar.google.com), Yahoo! Calendar (calendar.yahoo.com), or Calendar Hub
(www.calendarhub.com).
• Just create a public calendar and provide the URL to all the team members. After you
add all your team activities to the calendar, team members simply have to log in to see
what‘s coming up this week and next.
3.1.3 COLLABORATING TO-DO LISTS
One of the primary types of To-Do List is the grocery list. To-Do List will be huge if
the user has a lot of household chores and repairs. To collaborate on users to do list, web-
based word processing applications can be used. Multiple To-Do lists are possible to create
by using applications such as Zoho Planner. It is an online planner tool having a calendar, To-
Do list, pages and email reminders to collaborate with other users.
An Example application is remembering the milk, web-based to-do list application. By
using this application, user’s can manage the task from a computer or smartphone which
helps to remember their tasks both offline or online.
CLOUD COMPUTING CS & BCA
95 A. SIVASANKARI , SIASC.
Ta- Da list is also another web-based To- Do list application which users can make a list
of tasks that need to do. It is very simple and similar to the traditional approach, create a list
of things that need to be done and mark off each item after complete and also possible to
manipulate the list.
Example Applications
Any.DO
Any.DO really delivers on simple and intuitive gesture-based functionality. Easily
plan out all your tasks for today, tomorrow or for the entire month with all sorts of lists of
items that can be easily checked off with a simple swipe to your device's screen. You can
separate lists between personal or work, add reminders, build a grocery list or make your list
on the go with its speech recognition feature. All of your lists and notes can then be
seamlessly synced for accessibility across all of your devices.
Evernote
Evernote is one of the most popular cross-platform tools people use to maintain all
sorts of things — photos, documents, videos, recipes, lists and so much more. If you use
Evernote regularly from a desktop computer, including the Evernote Web Clipper tool,
having all of your to-do lists and notes kept in one simple place may be ideal for you.
Make a new note, sync up your Evernote account, and all of your notes will be available
on all of your devices. With a free subscription, you can access your Evernote notes on up to
two devices
Todo Cloud
Todo Cloud is an incredible tool designed to be used both on the desktop and mobile
for creating lists and staying organized — particularly if you're working in a team and need to
share all of your tasks and progress with others. Although everything Todo Cloud has to offer
isn't exactly free, it does offer a free trial of its best features.
The real power of this app comes from taking advantage of its premium subscription features.
Share lists, assign tasks straight from within the app, leave comments, geotag notes, receive
email notifications and do so much more with this fantastic award-winning app.
Google Keep
Android users will love this one. It's even available for iOS users too! Google Keep is
a powerful productivity app that you use through your existing Google account, which is also
available on the web and as a Chrome add-on, so everything can be synced up and accessed
from whatever device you're using. Keep adopts a simple Pinterest-like format for creating
CLOUD COMPUTING CS & BCA
96 A. SIVASANKARI , SIASC.
lists and notes, which may not be ideal for everyone, but looks great when you use photos
and create very quick, short notes to remember. If you think you'd enjoy a more visual look at
your lists, this list app may be the app for you.
• A grocery list is just one type of to-do list. If you have a lot of household chores and
repairs, it‘s likely that you have a larger to-do list for your household. And, if your
household is like mine, that list grows every day!
• You and your spouse can collaborate on your to-do list by using a web-based word
processing application, as we just discussed, or you can use a dedicated web based
planning program.
• These applications, such as Zoho Planner (planner.zoho.com) let you create multiple
to-do lists on the web, which you and your spouse can both add to from any computer,
at any time. You can even set email reminders to refresh your memory when a task is
due.
• Add your tasks one at a time, and then mark them off as they‘re completed.
• If these applications are too advanced for your needs, consider using a simpler web-
based to-do list application.
• These applications, such as Remember the Milk (www.rememberthemilk.com) and
Ta-da List (www.tadalist.com), operate more like a simple notepad-based list.
• Some even let you add tasks via email or access the list when you‘re on the go with
your mobile phone.
• If these applications are too advanced for your needs, consider using a simpler web-
based to-do list application.
• These applications, such as Remember the Milk (www.rememberthemilk.com) and
Ta-da List (www.tadalist.com), operate more like a simple notepad-based list.
• Some even let you add tasks via email or access the list when you’re on the go with
your mobile phone.
FIGURE 3.2 COLLABORATING TO-DO LISTS
CLOUD COMPUTING CS & BCA
97 A. SIVASANKARI , SIASC.
3.1.4 COLLABORATING ON HOUSEHOLD BUDGETS
• If you’re like me, you don’t like surprises—especially financial ones. I like to
keep a rather tight cash flow budget for my family, so that I know what’s
coming in and what’s going out on a weekly basis. Problems occur when my
wife has a big expense that I didn’t know about—and didn’t budget for.
• You can minimize these types of unwelcome surprises by collaborating with
your spouse on your household budget.
• This is easy enough to do when you use a web-based spreadsheet program,
such as Google Spreadsheets (part of the Google Docs suite, at
docs.google.com), to create your budget; you and your spouse can then enter
budget items separately, when it’s convenient for both of you.
• Remember an upcoming expenditure while you’re sitting in a meeting at
work? Just go online and add the expense to your web-based budget.
• Find out about a necessary repair when you’re watching TV? Just walk over to
your home PC, log in to the web-based spreadsheet, and enter that expense.
• Budgets get a lot easier when you can update them any time and anywhere—
and when both spouses can do so.
• Of course, budget collaboration can also be interactive. Perhaps you see a new
flat-screen TV in your future, and enter that item into your web-based budget.
• Your spouse might disagree about the item’s importance or cost.
• She can just as easily go online and lower the budget for that item—or delete
it completely.
3.1.5 COLLABORATING ON CONTACT LISTS
• You have your friends, your spouse has her friends, and both of you have
business contacts and acquaintances that you need to keep track of—even if
you only reach out to them once a year.
• If your family is like mine, this describes the list we use for our annual holiday
cards, which for us approaches a hundred names long.
• Managing your family’s contact list isn’t always easy. Yes, you have your
most-contacted contacts stored in Microsoft Outlook or some similar program,
but that list of names exists only on one computer.
CLOUD COMPUTING CS & BCA
98 A. SIVASANKARI , SIASC.
• Your contacts are on your PC, your spouse’s contacts are on her PC, and your
lists of work contacts are probably on your work computers.
• How do you merge and manage all these names—in time to address and mail
your cards before the holidays? A good solution for managing contacts from
multiple family members is to use a web-based program for contact
management. There are few different ways to approach this.
MANAGING CONTACT LISTS
• Salespeople have to deal with lots and lots of contacts. Not only is their address book
full, they need to know when to contact certain clients, when follow-up calls are
necessary, what the boss needs them to do today.
• The solution, of course, is a web-based contact management or customer resource
management (CRM) application.
• These programs are tailored to the needs of a busy salesperson and come complete
with features such as activity scheduling, appointment reminders, email templates,
and the like. Among the most popular of these applications are BigContacts
(www.bigcontacts.com), High-rise (www.highrisehq.com), and the market leading
Salesforce.com (www.salesforce.com).
3.1.6 COLLABORATING ON SCHOOL PROJECTS
• You and your spouse aren’t the only family members who can benefit from
the collaborative nature of web-based applications.
• Consider your school-aged children, and all the school projects they have to
do. Many of these projects are group projects, and there’s no easier way to
collaborate on a group project than to use web-based applications.
• Let’s say that little Timmy is assigned to a group of students that has to put
together a presentation on Mark Twain.
• These days, most grade school students know how to use Microsoft
PowerPoint, so something similar is required for the final presentation.
• Instead of driving your kids around to each others’ houses, they can
collaborate over the web from their own homes, saving you time and gasoline.
• There are several decent web-based presentation programs, but one of the
most popular (probably because it’s free) is Google Presentations, part of the
Google Docs suite of programs (docs.google.com).
CLOUD COMPUTING CS & BCA
99 A. SIVASANKARI , SIASC.
• It’s easy for each member of the team to add to the presentation as they see fit.
When one member adds a new slide, other team members see that slide
immediately on their own computer screens.
• To facilitate communication during the span of the project, your kids can use a
web-based email program, such as Gmail, to send messages back and forth
from their own computers.
• Even better, sign them up to an instant messaging service, such as AOL
Instant Messenger (www.aim.com) or Yahoo! Messenger
(messenger.yahoo.com), so that they can text each other in real time.
• If the project is particularly complicated, it might help for the kids to
coordinate their schedules for all the pieces and parts.
• Basic project management can be accomplished in a web-based calendar
program, such as Google Calendar (calendar.google.com), or in a simple
planner program, such asZoho Planner (planner.zoho.com).
• For more complicated projects with a lot of individual tasks, consider using a
dedicated project management application, such as Basecamp
(www.basecamphq.com). Whatever application they use, the kids should
break their project down into all its component parts, and assign each part to
an individual— along with a due date.
3.3 SHARING FAMILY PHOTOS
• Here’s one thing most families have lots of: photographs. In today’s digital
world, the photographs are likely digital ones, capable of being shared via
email or uploaded to the web.
CLOUD COMPUTING CS & BCA
100 A. SIVASANKARI , SIASC.
• When you have photos you want to share with a lot of family and friends, the
best course of action is to use a web-based photo sharing service.
• There are lots of these sites available, from non-commercial sites like Flickr
(www.flickr.com) to sites that like to sell you prints and other products, such
as Shutterfly (www.shutterfly.com).
• Any of these sites let you create your own online photo albums and then
upload your digital photos to these albums.
• You then send the album’s URL to your friends and family, and they can view
all your photos online—either one at a time or in an online photo slideshow.
• Many of these sites go the next step and let visitors order prints of the photos
you upload. (That’s how they make money, after all; the photo hosting is
typically free.)
• When your Aunt Edna sees a photo she likes, it’s a simple matter to check that
photo, click the “order prints” button, provide her credit card number, and
have prints made and delivered to her door. Of course, not every photo you
take is a winner.
• Many digital photos can benefit greatly from simple photo editing. Although
some photo sharing sites offer modest photo editing capabilities, you’re
probably better off using a dedicated web-based photo editing application,
such as Adobe’s Photoshop Express (www.photoshop.com/express/).
• These programs not only offer easy-to-use photo editing tools, but also help
you manage the photos stored on your own PC.
• And, because they’re based in the cloud, you can access these programs
(typically for free) from any PC anywhere you have an Internet connection
FIGURE 3.4 SHARING FAMILY PHOTOS
CLOUD COMPUTING CS & BCA
101 A. SIVASANKARI , SIASC.
3.1.8 THE COLLABORATIVE FAMILY
• In the old days, family life was simpler. Kids had less homework, fewer
friends, and fewer activities and commitments.
• Adults had a work life and a home life, and the two didn’t overlap. There were
fewer time constraints across the board; you worked or went to school during
the day and did family stuff at night and on weekends.
• Today, family life is a lot more complicated. Kids have tons of homework
(much of it requiring online research and group collaboration), hundreds of
virtual friends located around the globe, and a schedule of activities so full it
takes a full-time project manager to keep track of them all.
• Adults take work home with them and manage home activities at work, thanks
to Black Berries, iPhones, and notebook computers.
• It’s tough to tell when work ends and family time begins. And for all
concerned, life is a never-ending series of tasks and commitments and things
that have to be done now, no exceptions.
• All this activity causes time and schedule stress among all the members of
your family, from the oldest to the youngest.
• Although technology can’t make any of these tasks go away (and in fact
enable some of this hyperactivity), it can help you manage what you’re doing.
• Technology—cloud computing technology in particular—is proving quite
useful in helping people keep track of various tasks and activities, and
coordinate and collaborate with others to better get things done.
FIGURE 3.5 THE COLLABORATIVE FAMILY
CLOUD COMPUTING CS & BCA
102 A. SIVASANKARI , SIASC.
3.2 CLOUD COMPUTING FOR THE COMMUNITY
OBJECTIVE
This is the last Cloud Computing Deployment Model, after the Private Cloud. In this
Community Cloud Model, we are going to learn the important advantages of Community
Cloud with an example.
WHAT IS A COMMUNITY CLOUD?
• The cloud service shares among various organizations and companies which belong to
the same community with the common concerns. This can manage either by the third
party or internally.
• Organizations having similar computing concern and have shared interest can share it.
This type of cloud computing is best compatible with ventures, business
organizations, research organizations, and tenders. This benefits the user of
community cloud to know and analyze the business demand first. The presence of the
community cloud can be either onsite or offsite.
• Community cloud diminishes the cost pressure, security concerns, technical
complexities, and lack of specific services.
The infrastructure is shared by several organizations and supports a specific community
that has shared concerns
FIG 3.6 PROVIDES A GENERAL VIEW OF THE USAGE SCENARIO OF
COMMUNITY CLOUDS
CLOUD COMPUTING CS & BCA
103 A. SIVASANKARI , SIASC.
COMMUNITY CLOUD IS ADAPTIVE IN NATURE
The Community Cloud is very adaptive in nature such that there is a very gradual
migration process. Moreover, there are more and more resources available in the data centre
and migrations can be done at many levels.
FIG 3.7 COMMUNITY CLOUD MODEL
Candidate sectors for community clouds are as follows:
Media industry:
• In the media industry, companies are looking for low-cost, agile, and simple
solutions to improve the efficiency of content production.
• Community clouds can provide a shared environment where services can
facilitate business-to-business collaboration and offer the horsepower in terms
of aggregate bandwidth, CPU, and storage required to efficiently support
media production.
Healthcare industry:
• In the healthcare industry, there are different scenarios in which community
clouds could be of use.
CLOUD COMPUTING CS & BCA
104 A. SIVASANKARI , SIASC.
• Community clouds can provide a global platform on which to share
information and knowledge without revealing sensitive data maintained within
the private infrastructure.
Energy and other core industries:
In these sectors, community clouds can bundle the comprehensive set of
solutions that together vertically address management, deployment, and orchestration
of services and operations.
Public sector:
• Legal and political restrictions in the public sector can limit the adoption of
public cloud offerings.
• Moreover, governmental processes involve several institutions and agencies
and are aimed at providing strategic solutions at local, national, and
international administrative levels.
Scientific research:
Science clouds are an interesting example of community clouds. The common
interest driving different organizations sharing a large distributed infrastructure is
scientific computing.
Example of Community Cloud
• Community cloud can explain with the help of an example. There are organizations
which require the application, which is available at one set of cloud servers.
• So, the company which are allowing multiple servers will not provide a particular
server in the cloud.
• But they will allow multiple customers to connect to the cloud and segment their
sessions. The customer will use the same hardware the other customers are using. It
simply means that servers are using the same application which makes it a community
cloud.
ADVANTAGES:
1. Flexibility and Scalability
The community cloud is very scalable and flexible as it is mostly compatible
with every user and they can modify as per their use. The cloud will support ways like
acquisitions, reductions in branches or employees, or rapid climb.
2. Available and Reliable
CLOUD COMPUTING CS & BCA
105 A. SIVASANKARI , SIASC.
The replication of data is done in the cloud to protect it against the disaster. It is
replicated to various places which are safe and secure.
The cloud includes redundant property, networking, storage, hardware,
uninterruptible power provide, generators, replicated knowledge stores, onsite fuel, and more.
3. Secure and Compliance
The data of the clients should be secure and manage properly. When applications
and knowledge offer anytime and anyplace from any device, the info ought not to move.
It should be able to block users from downloading.Sensitive data should be kept
securely and on the servers.
These data should not be kept elsewhere an intensive security audit revealed that the
sensitive data is present on desktops, laptops, backup units, USB drives, smartphones, tablets,
and even employees’ personal computers.
4. Improved Services
Community Cloud includes all systems, applications, and data within the cloud
which removes the requirement to own valuable IT employees to take care of and support
those systems. This will raise a fact that the customers will target the rising companies and
services.
There are two fundamentally different types of clouds, public and private. Each has
its own advantages and disadvantages.
The cloud-service providers (CSPs) may offer hybrid clouds that combine features of
both the public and private models.
➢ Public
➢ Private
➢ Hybrid
Public Clouds
• In a public cloud, individual businesses share on premise and access to basic
computer infrastructure provided by a CSP.
• Each company shares the CSP’s infrastructure with the other companies that have
subscribed to the cloud.
• Payment is usually pay-as-you-go with no minimum time requirements. Some CSPs
derive revenue from advertising and offer free public clouds.
CLOUD COMPUTING CS & BCA
106 A. SIVASANKARI , SIASC.
• Public clouds are usually based on massive hardware installations distributed in
locations throughout the country or across the globe.
• Their size enables economies of scale that permit maximum scalability to meet
requirements as a company’s needs expand or contract, maximum flexibility to meet
surges in demand in real time, and maximum reliability in case of hardware failures.
• Public clouds are highly cost effective because the business only pays for the
computer resources it uses
• The main disadvantage of public clouds is that advanced security and privacy
provisions are beyond their capabilities.
Private Clouds
• In a private cloud, a business has access to infrastructure in the cloud that is not
shared with anyone else.
• The business typically deploys its own platforms and software applications on the
cloud infrastructure.
• The business’s infrastructure usually lies behind a firewall that is accessed through the
company intranet over encrypted connections. Payment is often based on a fee-per-
unit-time model.
• Private clouds have the significant advantage of being able to provide enhanced levels
of security and privacy because computer infrastructure is dedicated to a single client.
• An important disadvantage of private clouds for some companies is that the company
is responsible for managing their own development platforms and software
applications on the CSP’s infrastructure.
• Private clouds have the additional disadvantages that they tend to be more expensive
and the company is limited to using the infrastructure specified in their contract with
the CSP.
Hybrid Cloud
• In a hybrid cloud, a company’s cloud deployment is split between public and private
cloud infrastructure.
• Sensitive data remains within the private cloud where high security standards can be
maintained. Operations that do not make use of sensitive data are carried out in the
public cloud where infrastructure can scale to meet demands and costs are reduced.
• Hybrid clouds are well suited to carrying out big data operations on non-sensitive data
in the public cloud while keeping sensitive data protected in the private cloud.
CLOUD COMPUTING CS & BCA
107 A. SIVASANKARI , SIASC.
3.3 COLLABORATING ON GROUP PROJECTS AND EVENTS
Community groups often have a lot on their plates. Someone has to schedule the
next fundraiser, someone else needs to print up flyers, someone else is in charge of recruiting
new members.
FIGURE 3.8 COLLABORATING ON GROUP PROJECTS AND EVENTS
3.3.1 COLLABORATING ON TASK MANAGEMENT
• For managing more complex tasks, a simple to-do list application might not cut the
mustard. Instead, consider using a web-based task management application that lets
you manage the multiple pieces and parts of large projects.
• Basic task management can be accomplished with applications such as HiTask
(www.hitask.com) and Zoho Planner (planner.zoho.com).
• For the most complicated projects, consider using a dedicated project management
application, such as Basecamp (www.basecamphq.com) or Goplan
(www.goplan.com).
• Whichever option you choose, you must break your project down into all its
component tasks, set a due date for each, and then assign each task to a specific group
member.
• Group members can then access the application online from their own computers and
update the project with their own individual progress.
CLOUD COMPUTING CS & BCA
108 A. SIVASANKARI , SIASC.
FIGURE 3.9 COLLABORATING ON TASK MANAGEMENT
3.3.2 COLLABORATING ON EVENT MANAGEMENT
• When you‘re putting on a big event such as a concert or conference, you have a whole
new set of challenges to face.
• Not only do you have to manage the tasks involved with putting together the event,
you also have to handle attendee registration, event marketing, ticket sales, and the
like.
• It‘s a massive effort made somewhat easier by web-based event management tools.
With web-based event management applications, the cloud hosts everything you need
to schedule and market your events, as well as handle registration, payment, and other
important tasks. Most of these apps also offer detailed task and budget management
functions.
• These are very robust applications, capable of handling every last detail over the web.
Some of the most popular of these apps include Cvent (www.cvent.com), RegOnline
(www.regonline.com), and View Central (www.rmkr.com/viewcentral).
• Unlike some other web-based apps, these aren‘t free; you have to pay for the power
you need to manage the details of your particular event.
• That‘s because most event management applications also handle basic event
marketing. But when it comes to promoting your community events, you want to go
beyond the basics to more creative forms of marketing.
CLOUD COMPUTING CS & BCA
109 A. SIVASANKARI , SIASC.
• Naturally, you can also use web-based local search sites, such as Zvents
(www.zvents.com), to post announcements of your community events. You may even
want to use cloud-based social media sites, such as Facebook and MySpace, to
promote your event online.
• And, after the event, you can post pictures of the event on community photo-sharing
sites, such as Flickr (www.flickr.com). It‘s all possible because of the cloud!
3.3.2.1 UNDERSTANDING EVENT MANAGEMENT APPLICATIONS
What exactly does an event management application manage? Less-sophisticated apps
may focus on one or two operations, such as event registration or facilities booking. The
more full-featured apps include management of everything from pre-event marketing to post-
event analysis.
Event Planning and Workflow Management
A successful event starts well in advance of its opening date. There are tons of details
involved in an event of any size, and managing all those tasks takes quite a bit of computing
horsepower just the thing cloud computing can help you out with. Most event management
applications include robust task planning modules, similar to what you’d find in higher-end
task management applications or lower-end project management apps.
What you want is the ability not just to track individual tasks in a to-do list fashion,
but also benefit from sophisticated workflow management. That is, you need to know which
tasks need to be completed before later tasks can be started; you need to know who’s doing
what, and be alerted to any tasks that are unstaffed or understaffed. In other words, you need
the planning and workflow management functionality to continue into the event itself, so that
you can manage your staff in an efficient and effective manner.
Event Marketing
Unless you let people know about your event, you could be disappointed with the
final attendance. To that end, many event management applications include modules to help
you market your event.
For example, many apps offer web-based email marketing, which lets you promote
your event via targeted email messages. Other apps help you create your own event website
(on their cloud computers), which also helps to promote your event.
CLOUD COMPUTING CS & BCA
110 A. SIVASANKARI , SIASC.
Event Calendar
Another part of your event marketing mix is an event calendar—an online calendar
that displays all the happenings within your overall event. This proves particularly useful if
you’re hosting a conference or trade show made of lots of individual panels, sessions, or
meetings. You can post each individual event on the main event calendar, easily accessed by
any attendee or potential attendee with a web browser.
Facilities Scheduling
Unless you’re running a one-room meeting, chances are your event involves multiple
rooms and maybe event multiple locations. If so, you need to be able to schedule different
rooms for different components of your event; when a participant or group asks for a room,
you need to be able to see what’s available and when.
To that end, most event management apps include a facilities scheduling module.
Ideally, this module ties into the event host’s systems, giving you complete power over room
or hall scheduling
CLOUD COMPUTING CS & BCA
111 A. SIVASANKARI , SIASC.
UNIT-IV
PARALLEL AND DISTRIBUTED PROGRAMMING
4.1 PARALLEL PROGRAMMING
It is the use of multiple processing elements simultaneously for solving any problem.
Problems are broken down into instructions and are solved concurrently as each resource
which has been applied to work is working at the same time.
Advantages of Parallel Computing over Serial Computing are as follows:
1. It saves time and money as many resources working together will reduce the time and
cut potential costs.
2. It can be impractical to solve larger problems on Serial Computing.
3. It can take advantage of non-local resources when the local resources are finite.
4. Serial Computing ‘wastes’ the potential computing power, thus Parallel Computing
makes better work of hardware.
4.1.1 TYPES OF PARALLELISM
1. Bit-level parallelism:
It is the form of parallel computing which is based on the increasing processor’s size.
It reduces the number of instructions that the system must execute in order to perform a task
on large-sized data.
Example: Consider a scenario where an 8-bit processor must compute the sum of two
16-bit integers. It must first sum up the 8 lower-order bits, then add the 8 higher-order bits,
thus requiring two instructions to perform the operation. A 16-bit processor can perform the
operation with just one instruction.
2. Instruction-level parallelism:
A processor can only address less than one instruction for each clock cycle phase.
These instructions can be re-ordered and grouped which are later on executed concurrently
without affecting the result of the program. This is called instruction-level parallelism.
3. Task Parallelism
Task parallelism employs the decomposition of a task into subtasks and then
allocating each of the subtasks for execution. The processors perform execution of sub
tasks concurrently.
Why parallel computing?
• The whole real world runs in dynamic nature i.e. many things happen at a certain time
but at different places concurrently. This data is extensively huge to manage.
CLOUD COMPUTING CS & BCA
112 A. SIVASANKARI , SIASC.
• Real world data needs more dynamic simulation and modeling, and for achieving the
same, parallel computing is the key.
• Parallel computing provides concurrency and saves time and money.
• Complex, large datasets, and their management can be organized only and only using
parallel computing’s approach.
• Ensures the effective utilization of the resources. The hardware is guaranteed to be used
effectively whereas in serial computation only some part of hardware was used and the
rest rendered idle.
• Also, it is impractical to implement real-time systems using serial computing.
4.1.2 APPLICATIONS OF PARALLEL COMPUTING
• Data bases and Data mining.
• Real time simulation of systems.
• Science and Engineering.
• Advanced graphics, augmented reality and virtual reality.
4.1.3 LIMITATIONS OF PARALLEL COMPUTING
• It addresses such as communication and synchronization between multiple sub-tasks and
processes which is difficult to achieve.
• The algorithms must be managed in such a way that they can be handled in the parallel
mechanism.
• The algorithms or program must have low coupling and high cohesion. But it’s difficult
to create such programs.
• More technically skilled and expert programmers can code a parallelism based program
well.
4.1.4 FUTURE OF PARALLEL COMPUTING
The computational graph has undergone a great transition from serial computing to
parallel computing.
• Tech giant such as Intel has already taken a step towards parallel computing by
employing multicore processors.
• Parallel computation will revolutionize the way computers work in the future, for the
better good.
• With all the world connecting to each other even more than before, Parallel
Computing does a better role in helping us stay that way.
CLOUD COMPUTING CS & BCA
113 A. SIVASANKARI , SIASC.
• With faster networks, distributed systems, and multi-processor computers, it becomes
even more necessary.
4.2 MAP REDUCE
MapReduce is a parallel programming model for writing distributed applications
devised at Google for efficient processing of large amounts of data (multi-terabyte data-sets),
on large clusters (thousands of nodes) of commodity hardware in a reliable, fault-tolerant
manner.
• The MapReduce program runs on Hadoop which is an Apache open-source
framework.
• Hadoop Distributed File System ,The Hadoop Distributed File System
(HDFS) is based on the Google File System (GFS) and provides a distributed
file system that is designed to run on commodity hardware.
• It has many similarities with existing distributed file systems. However, the
differences from other distributed file systems are significant.
• It is highly fault-tolerant and is designed to be deployed on low-cost hardware. It
provides high throughput access to application data and is suitable for applications
having large datasets.
• Apart from the above-mentioned two core components, Hadoop framework also
includes the following two modules:
Hadoop Common:
These are Java libraries and utilities required by other Hadoop modules.
Hadoop YARN:
This is a framework for job scheduling and cluster resource management.
How Does Hadoop Work?
➢ It is quite expensive to build bigger servers with heavy configurations that handle
large scale processing, but as an alternative.
➢ you can tie together many commodity computers with single-CPU, as a single
functional distributed system and practically, the clustered machines can read the
dataset in parallel and provide a much higher throughput.
➢ It is cheaper than one high-end server. So this is the first motivational factor behind
using Hadoop that it runs across clustered and low-cost machines.
➢
CLOUD COMPUTING CS & BCA
114 A. SIVASANKARI , SIASC.
➢ Hadoop runs code across a cluster of computers. This process includes the following
core tasks that Hadoop performs:
➢ Data is initially divided into directories and files. Files are divided into uniform sized
blocks of 128M and 64M (preferably 128M).
➢ These files are then distributed across various cluster nodes for further processing.
➢ HDFS, being on top of the local file system, supervises the processing.
➢ Blocks are replicated for handling hardware failure.
➢ Checking that the code was executed successfully.
➢ Performing the sort that takes place between the map and reduce stages.
➢ Sending the sorted data to a certain computer.
➢ Writing the debugging logs for each job.
ADVANTAGES OF HADOOP
➢ Hadoop framework allows the user to quickly write and test distributed systems. It is
efficient, and it automatic distributes the data and work across the machines and in
turn, utilizes the underlying parallelism of the CPU cores.
➢ Hadoop does not rely on hardware to provide fault-tolerance and high availability
(FTHA), rather Hadoop library itself has been designed to detect and handle failures
at the application layer.
➢ Servers can be added or removed from the cluster dynamically and Hadoop continues
to operate without interruption.
➢ Another big advantage of Hadoop is that apart from being open source, it is
compatible on all the platforms since it is Java based.
4.3 TWISTER AND ITERATIVE MAP REDUCE
• MapReduce programming model has simplified the implementations of many data
parallel applications.
• The simplicity of the programming model and the quality of services provided by
many implementations of MapReduce attract a lot of enthusiasm among parallel
computing communities.
• From the years of experience in applying MapReduce programming model to various
scientific applications we identified a set of extensions to the programming model
and improvements to its architecture that will expand the applicability of MapReduce
to more classes of applications.
• Twister is a lightweight MapReduce runtime we have developed by incorporating
CLOUD COMPUTING CS & BCA
115 A. SIVASANKARI , SIASC.
these enhancements.
FIGURE 4.1 TWISTER CONFIGURATION
FEATURES TO SUPPORT MAPREDUCE COMPUTATIONS
➢ Distinction on static and variable data
➢ Configurable long running (cacheable) map/reduce tasks
➢ Pub/sub messaging based communication/data transfers
➢ Efficient support for Iterative MapReduce computations (extremely faster than
Hadoop or Dryad/DryadLINQ)
➢ Combine phase to collect all reduce outputs
➢ Data access via local disks
➢ Lightweight (~5600 lines of Java code)
➢ Support for typical MapReduce computations
CLOUD COMPUTING CS & BCA
116 A. SIVASANKARI , SIASC.
➢ Tools to manage data
TWISTER PROGRAMMING MODEL
FIGURE 4.2 ITERATIVE MAPREDUCE PROGRAMMING MODEL USING
TWISTER
Static vs. Dynamic Data
• Many iterative applications we analyzed show a common characteristic of operating
on two types of data products.
• Static data is used in each iteration and remain fixed throughout the computation
whereas the variable data is the computed results in each iteration and typically
consumed in the next iteration in many expectation maximization (EM) type
algorithms.
CLOUD COMPUTING CS & BCA
117 A. SIVASANKARI , SIASC.
Cacheable Mappers/Reducers
• Although some of the typical MapReduce computations such as distributed sorting
and information retrieval consume very large data sets, many iterative applications
we encounter operate on moderately sized data sets which can fit into the distributed
memory of the computation clusters.
• This observation led us to explore the idea of using long running map/reduce tasks
similar to the long running parallel processes in many MPI applications which last
throughout the life of the computation.
• Current MapReduce implementations such as Hadoop and DryadLINQ do not
support this behavior and hence they initiate new map/reduce tasks and load static
data in each iteration incurring considerable performance overheads.
Supports "side-effect-free" Programming
By supporting long running map/reduce tasks Twister does not encourage users to
store state information in the map/reduce tasks violating the "side-effect-free" nature of the
map/reduce computations rather achieving considerable performance gains by caching the
static data across map/reduce tasks.
Combine step as a Further Reduction
Twister also introduce an optional reduction phase named "combine", which is another
reduction phase that can be used to combine the results of the reduce phase into a single
value.
The user program and the combine operation run on a single process space allowing its
output directly accessible to the user program. This enables the user to check conditions
based on the output of the MapReduce computations.
Uses Pub/Sub Messaging
Twister uses pub/sub messaging for all the communication/data transfer requirements
which eliminates the overhead in transferring data via file systems as in Hadoop.
The output <Key,Value> pairs produced during the map stage get transferred directly to
the reduce stage and the output of the reduce stage get transferred directly to the combined
stage via the pub-sub broker network.
Data Access via Local Disks
We provide two mechanisms to access data in Twister; (i) from the local disk of the
computer nodes, (ii) directly from the pub-sub infrastructure. For the simplicity of the
implementation, we provide a file based data access mechanism for the map/reduce tasks.
CLOUD COMPUTING CS & BCA
118 A. SIVASANKARI , SIASC.
Fault Tolerance [Working progress]
Providing fault tolerance support for iterative computations with Twister is currently
under development.
4.4 HADOOP LIBRARY FROM APACHE
Apache Hadoop is an open source software framework for storage and large scale
processing of data-sets on clusters of commodity hardware. Hadoop is an Apache top-level
project being built and used by a global community of contributors and users.The Apache
Hadoop framework is composed of the following modules
Hadoop Common:
It contains libraries and utilities needed by other Hadoop modules
Hadoop Distributed File System (HDFS):
A distributed file-system that stores data on the commodity machines, providing very
high aggregate bandwidth across the cluster
Hadoop YARN:
A resource-management platform responsible for managing compute resources in
clusters and using them for scheduling of users' applications
Hadoop MapReduce:
A programming model for large scale data processing.
All the modules in Hadoop are designed with a fundamental assumption that hardware
failures (of individual machines, or racks of machines) are common and thus should be
automatically handled in software by the framework. Apache Hadoop's MapReduce and
HDFS components originally derived respectively from Google's MapReduce and Google
File System (GFS) papers.
Beyond HDFS, YARN and MapReduce, the entire Apache Hadoop "platform" is now
commonly considered to consist of a number of related projects as well: Apache Pig, Apache
Hive, Apache HBase, and others.
CLOUD COMPUTING CS & BCA
119 A. SIVASANKARI , SIASC.
FIGURE 4.3 HADOOP DISTRIBUTED FILE SYSTEM
For the end-users, though MapReduce Java code is common, any programming
language can be used with "Hadoop Streaming" to implement the "map" and "reduce" parts
of the user's program. Apache Pig and Apache Hive, among other related projects, expose
higher level user interfaces like Pig latin and a SQL variant respectively.
The Hadoop framework itself is mostly written in the Java programming language,
with some native code in C and command line utilities written as shell-scripts.
HDFS and MapReduce
There are two primary components at the core of Apache Hadoop 1.x: the Hadoop
Distributed File System (HDFS) and the MapReduce parallel processing framework. These
are both open source projects, inspired by technologies created inside Google.
CLOUD COMPUTING CS & BCA
120 A. SIVASANKARI , SIASC.
FIGURE 4.4 HADOOP ARCHITECTURE
The Hadoop distributed file system (HDFS) is a distributed, scalable, and portable
file-system written in Java for the Hadoop framework. Each node in a Hadoop instance
typically has a single namenode, and a cluster of datanodes form the HDFS cluster.
The situation is typical because each node does not require a datanode to be
present. Each datanode serves up blocks of data over the network using a block protocol
specific to HDFS.
The file system uses the TCP/IP layer for communication. Clients use Remote
procedure call (RPC) to communicate between each other.
CLOUD COMPUTING CS & BCA
121 A. SIVASANKARI , SIASC.
JOBTRACKER AND TASKTRACKER: THE MAPREDUCE ENGINE
FIGURE 4.5 JOB & TASK
Above the file systems comes the MapReduce engine, which consists of one
JobTracker, to which client applications submit MapReduce jobs. The JobTracker pushes
work out to available TaskTracker nodes in the cluster, striving to keep the work as close to
the data as possible.
With a rack-aware file system, the JobTracker knows which node contains the data,
and which other machines are nearby.
If the work cannot be hosted on the actual node where the data resides, priority is
given to nodes in the same rack. This reduces network traffic on the main backbone network.
If a TaskTracker fails or times out, that part of the job is rescheduled. The TaskTracker
on each node spawns off a separate Java Virtual Machine process to prevent the TaskTracker
itself from failing if the running job crashes the JVM.
A heartbeat is sent from the TaskTracker to the JobTracker every few minutes to check
its status. The Job Tracker and TaskTracker status and information is exposed by Jetty and
can be viewed from a web browser.
If the JobTracker failed on Hadoop 0.20 or earlier, all ongoing work was lost.
Hadoop version 0.21 added some checkpointing to this process. The JobTracker records what
it is up to in the file system. When a JobTracker starts up, it looks for any such data, so that it
can restart work from where it left off.
CLOUD COMPUTING CS & BCA
122 A. SIVASANKARI , SIASC.
4.7 GOOGLE APP ENGINE
• Google App Engine is a PaaS implementation that provides services for developing
and hosting scalable Web applications.
• App Engine is essentially a distributed and scalable runtime environment that
leverages Google‘s distributed infrastructure to scale out applications facing a large
number of requests by allocating more computing resources to them and balancing the
load among them.
• The runtime is completed by a collection of services that allow developers to design
and implement applications that naturally scale on App Engine.
• Developers can develop 24 applications in Java, Python, and Go, a new programming
language developed by Google to simplify the development of Web applications.
• Application usage of Google resources and services is metered by App Engine, which
bills users when their applications finish their free quotas.
Google is a leader in web-based applications, so it‘s not surprising that the company
also offers cloud development services. These services come in the form of the Google App
Engine, which enables developers to build their own web applications utilizing the same
infrastructure that powers Google‘s powerful applications.
The Google App Engine provides a fully integrated application environment. Using
Google‘s development tools and computing cloud, App Engine applications are easy to build,
easy to maintain, and easy to scale.
CLOUD COMPUTING CS & BCA
123 A. SIVASANKARI , SIASC.
FIGURE 4.6 GOOGLE APP ENGINE
As you might suspect, Google offers a robust cloud development environment. It
includes the following features:
• Dynamic web serving
• Full support for all common web technologies
• Persistent storage with queries, sorting, and transactions
• Automatic scaling and load balancing
• APIs for authenticating users and sending email using Google Accounts
CLOUD COMPUTING CS & BCA
124 A. SIVASANKARI , SIASC.
4.8 IBM
• It‘s not surprising, given the company‘s strength in enterprise-level computer
hardware, that IBM is offering a cloud computing solution.
• The company is targeting small- and medium-sized businesses with a suite of cloud-
based on demand services via its Blue Cloud initiative.
• Blue Cloud is a series of cloud computing offerings that enables enterprises to
distribute their computing needs across a globally accessible resource grid.
• One such offering is the Express Advantage suite, which includes data backup and
recovery, email continuity and archiving, and data security functionality some of the
more data-intensive processes handled by a typical IT department.
FIGURE 4.7 IBM
4.9 Salesforce.com
Salesforce.com is probably best known forits sales management SaaS, but it‘s also a
leader in cloud computing development.
The company‘s cloud computing architecture is dubbed Force.com. The platform as a
service is entirely on-demand, running across the Internet.
CLOUD COMPUTING CS & BCA
125 A. SIVASANKARI , SIASC.
Salesforce provides its own Force.com API and developer‘s toolkit. Pricing is on a per
log-in basis.
FIGURE 4.8 SALESFORCE.COM
• Supplementing Force.com is AppExchange, a directory of web-based applications.
Developers can use AppExchange applications uploaded by others, share their own
applications in the directory, or publish private applications accessible only by
authorized companies or clients.
• Many applications in the AppExchange library are free, and others can be
purchased or licensed from the original developers.
OTHER CLOUD SERVICES DEVELOPMENT TOOLS
Amazon, Google, IBM, and Salesforce.com aren‘t the only companies offering tools
for cloud services developers. There are also a number of smaller companies working in this
space that developers should evaluate, and that end users may eventually become familiar
with. These companies include the following:
• 3tera (www.3tera.com), which offers the AppLogic grid operating system and
Cloudware architecture for on-demand computing.
• 10gen (www.10gen.com), which provides a platform for developers to build scalable
web-based applications.
CLOUD COMPUTING CS & BCA
126 A. SIVASANKARI , SIASC.
• Cohesive Flexible Technologies (www.cohesiveft.com), which offers the Elastic
Server On-Demand virtual server platform.
• Joyent (www.joyent.com), which delivers the Accelerator scalable ondemand
infrastructure for web application developers, as well as the Connector suite of easy-
to-use web applications for small businesses.
• Mosso (www.mosso.com), which provides an enterprise-level cloud hosting service
with automatic scaling.
App Engine is a platform for developing scalable applications accessible through the
Web. The platform is logically divided into four major components: infrastructure, the run-
time environment, the underlying storage, and the set of scalable services that can be used to
develop applications.
4.10 AMAZON EC2
INTRODUCTION
• Cloud computing is at an early stage of its development. This can be seen by
observing the large number of small and start-up companies offering cloud
development tools.
• In a more established industry, the smaller players eventually fall by the wayside as
larger companies take center stage.
• The cloud services development services and tools are offered by a variety of
companies, both large and small.
• The most basic offerings provide cloud-based hosting for applications developed from
scratch.
• The more fully featured offerings include development tools and pre-built
applications that developers can use as the building blocks for their own unique web-
based applications.
• So let‘s settle back and take a look at who is offering what in terms of cloud service
development. It‘s an interesting mix of companies and services.
• Amazon, one of the largest retailers on the Internet, is also one of the primary
providers of cloud development services.
CLOUD COMPUTING CS & BCA
127 A. SIVASANKARI , SIASC.
• Amazon has spent a lot of time and money setting up a multitude of servers to service
its popular website, and is making those vast hardware resources available for all
developers to use.
• This is an Infrastructure as a Service offering.
• Amazon EC2 allows deploying servers in the form of virtual machines created as
instances of a specific image.
• Images come with a preinstalled operating system and a software stack, and instances
can be con- figured for memory, number of processors, and storage.
• Users are provided with credentials to remotely access the instance and further
configure or install software if needed.
FIGURE 4.9 Amazon EC2
• The service in question is called the Elastic Compute Cloud, also known as EC2.
• This is a commercial web service that allows developers and companies to rent
capacity on Amazon‘s proprietary cloud of servers which happens to be one of the
biggest server farms in the world. EC2 enables scalable deployment of applications by
CLOUD COMPUTING CS & BCA
128 A. SIVASANKARI , SIASC.
letting customers request a set number of virtual machines, onto which they can load
any application of their choice.
• Thus, customers can create, launch, and terminate server instances on demand,
creating a truly elastica‖ operation.
• Amazon‘s service lets customers choose from three sizes of virtual servers: Small,
which offers the equivalent of a system with 1.7GB of memory, 160GB of storage,
and one virtual 32-bit core processor Large, which offers the equivalent of a system
with 7.5GB of memory, 850GB of storage, and two 64-bit virtual core processors
Extra large, which offers the equivalent of a system with 15GB of memory, 1.7TB of
storage, and four virtual 64-bit core processors.
CLOUD COMPUTING CS & BCA
129 A. SIVASANKARI , SIASC.
• In other words, you pick the size and power you want for your virtual server, and
Amazon does the rest. EC2 is just part of Amazon‘s Web Services (AWS) set of
offerings, which provides developers with direct access to Amazon‘s software and
machines. By tapping into the computing power that Amazon has already constructed,
developers can build reliable, powerful, and low-cost web-based applications.
Amazon provides the cloud (and access to it), and developers provide the
rest.Customer segments (CS)
• In the Business Model Canvas, Customer Segments‖ are the groups of customers that
the company ultimately serves.
• The ones that consume and pay for the services. In the AWS case, although basically
anybody with a credit card can spin up a virtual machine, it looks like Amazon is
primarily targeting software developers and (startup) SaaS providers as the main
customers.
• The Amazon development teams were the first customers. External customers were
initially added as an afterthought.
Value Propositions (VP)
• The value propositions reflect the customer problems and needs. This is the central
element that describes why the customer would ultimately pay for the product or
service.
• The value proposition of cloud computing centers around its five essential
characteristics. For example in the AWS EC2 case, the core component of the value
proposition is rapid self-service provisioning of virtual machines with pay per use
billing.
• For each individual customer these translate into different business advantages. An
example is reduced capital expenditure and reduced risk of over-investing or under-
provisioning.
Channels (CH)
• Value propositions are delivered to customers through communications, distribution
and sales channels.
CLOUD COMPUTING CS & BCA
130 A. SIVASANKARI , SIASC.
• It is often assumed that cloud computing relies solely self-service direct sales, but the
reality is much more diverse. SaaS providers in particular are developing extensive
partner programs.
• AWS primarily employs a self-service direct model, where the delivery is through
APIs. AWS also provides a web user interface to those APIs.
• Interestingly, that interface used to lag in functionality behind the main AWS
services, but these days most new features are announced on the API and the Web UI
simultaneously. The model is enhanced by premium support.
Customer Relationships (CR)
• Customer relations are established and maintained with each specific customer
segment. One of the ways that AWS maintains relationships with its customer
segments is through conferences.
• The 2013 reinvent developer conference attracted 9000 visitors. Additionally, there
are vibrant on-line communities. Thus AWS does extensive analytics on the activity
that customers have on the platform.
4.11 EUCALYPTUS
Eucalyptus is a paid and open-source computer software for building Amazon Web
Services (AWS)-compatible private and hybrid cloud computing environments, originally
developed by the company Eucalyptus Systems. Eucalyptus is an acronym for Elastic Utility
Computing Architecture for Linking Your Programs To Useful Systems. Eucalyptus enables
pooling compute, storage, and network resources that can be dynamically scaled up or down
as application workloads change.
Mårten Mickos was the CEO of Eucalyptus. In September 2014, Eucalyptus was
acquired by Hewlett-Packard and then maintained by DXC Technology. After DXCstopped
developing the product in late 2017, AppScale Systems forked the code and started supporting
Eucalyptus customers.
Eucalyptus commands can manage either Amazon or Eucalyptus instances. Users can
also move instances between a Eucalyptus private cloud and the Amazon Elastic Compute
Cloud to create a hybrid cloud. Hardware virtualization isolates applications from computer
hardware details
CLOUD COMPUTING CS & BCA
131 A. SIVASANKARI , SIASC.
Eucalyptus uses the terminology
• Images – An image is a fixed collection of software modules, system software,
application software, and configuration information that is started from a known baseline
(immutable/fixed). When bundled and uploaded to the Eucalyptus cloud, this becomes
a Eucalyptus machine image (EMI).
• Instances – When an image is put to use, it is called an instance. The configuration is
executed at runtime, and the Cloud Controller decides where the image will run, and
storage and networking is attached to meet resource needs.
• IP addressing – Eucalyptus instances can have public and private IP addresses. An IP
address is assigned to an instance when the instance is created from an image. For
instances that require a persistent IP address, such as a web-server, Eucalyptus supplies
elastic IP addresses. These are pre-allocated by the Eucalyptus cloud and can be
reassigned to a running instance.
• Security – TCP/IP security groups share a common set of firewall rules. This is a
mechanism to firewall off an instance using IP address and port block/allow
functionality. Instances are isolated at TCP/IP layer 2. If this were not present, a user
could manipulate the networking of instances and gain access to neighbouring instances
violating the basic cloud tenet of instance isolation and separation.
• Networking – There are three networking modes. In Managed Mode, Eucalyptus
manages a local network of instances, including security groups and IP addresses. In
System Mode, Eucalyptus assigns a MAC address and attaches the instance's network
interface to the physical network through the Node Controller's bridge. System Mode
does not offer elastic IP addresses, security groups, or VM isolation. In Static Mode,
Eucalyptus assigns IP addresses to instances. Static Mode does not offer elastic IPs,
security groups, or VM isolation.
• Access Control – A user of Eucalyptus is assigned an identity, and identities can be
grouped together for access control.
CLOUD COMPUTING CS & BCA
132 A. SIVASANKARI , SIASC.
FIGURE 4.10 EUCALYPTUS
4.11.1 EUCALYPTUS COMPONENTS
• The Cloud Controller (CLC) is a Java program that offers EC2-compatible interfaces, as
well as a web interface to the outside world. In addition to handling incoming requests,
the CLC acts as the administrative interface for cloud management and performs high-
level resource scheduling and system accounting. The CLC accepts user API requests
from command-line interfaces like euca2ools or GUI-based tools like the Eucalyptus
User Console and manages the underlying compute, storage, and network resources. Only
one CLC can exist per cloud and it handles authentication, accounting, reporting, and
quota management.
• Walrus, also written in Java, is the Eucalyptus equivalent to AWS Simple Storage
Service (S3). Walrus offers persistent storage to all of the virtual machines in the
Eucalyptus cloud and can be used as a simple HTTP put/get storage as a service solution.
There are no data type restrictions for Walrus, and it can contain images (i.e., the building
blocks used to launch virtual machines), volume snapshots (i.e., point-in-time copies),
and application data. Only one Walrus can exist per cloud.
• The Cluster Controller (CC) is written in C and acts as the front end for a cluster within a
Eucalyptus cloud and communicates with the Storage Controller and Node Controller. It
CLOUD COMPUTING CS & BCA
133 A. SIVASANKARI , SIASC.
manages instance (i.e., virtual machines) execution and Service Level Agreements
(SLAs) per cluster.
• The Storage Controller (SC) is written in Java and is the Eucalyptus equivalent to AWS
EBS. It communicates with the Cluster Controller and Node Controller and manages
Eucalyptus block volumes and snapshots to the instances within its specific cluster. If an
instance requires writing persistent data to memory outside of the cluster, it would need
to write to Walrus, which is available to any instance in any cluster.
• The VMware Broker is an optional component that provides an AWS-compatible
interface for VMware environments and physically runs on the Cluster Controller. The
VMware Broker overlays existing ESX/ESXi hosts and transforms Eucalyptus Machine
Images (EMIs) to VMware virtual disks. The VMware Broker mediates interactions
between the Cluster Controller and VMware and can connect directly to either ESX/ESXi
hosts or to vCenter Server.
• The Node Controller (NC) is written in C and hosts the virtual machine instances and
manages the virtual network endpoints. It downloads and caches images from Walrus as
well as creates and caches instances. While there is no theoretical limit to the number of
Node Controllers per cluster, performance limits do exist.
4.11.2 HISTORY
Version Date
Eucalyptus 4.4.5 Dec 28, 2018
Eucalyptus 4.4.4 Jul 9, 2018
Eucalyptus 4.4.3 Apr 30, 2018
Eucalyptus 4.4.2 Aug 30, 2017
Eucalyptus 4.4.1 May 9, 2017
Eucalyptus 4.4.0 March 7, 2017
Eucalyptus 4.3.1 December 14, 2016
Eucalyptus 4.3.0 August 9, 2016
Eucalyptus 4.2.2 April 28, 2016
Eucalyptus 4.2.1 December 7, 2015
Eucalyptus 4.2.0 October 22, 2015
CLOUD COMPUTING CS & BCA
134 A. SIVASANKARI , SIASC.
Eucalyptus 4.1.2 July 29, 2015
Eucalyptus 4.1.1 May 11, 2015
Eucalyptus 4.1.0 January 29, 2015
Eucalyptus 4.0.2 October 20, 2014
Eucalyptus 4.0.1 August 13, 2014
Eucalyptus 4.0 May 30, 2014
Eucalyptus 3.4.2 February 24, 2014
Eucalyptus 3.4 October 24, 2013
Eucalyptus 3.3 June 18, 2013
Eucalyptus 3.2 December 19, 2012
Eucalyptus 3.1 June 27, 2012
Eucalyptus 3.0 February 8, 2012
Eucalyptus 2.0 August 2010
Eucalyptus 1.6 November 2009
4.12 OPENNEBULA
OpenNebula is a cloud computing platform for managing heterogeneous
distributed data center infrastructures. The OpenNebula platform manages a data center's
virtual infrastructure to build private, public and hybrid implementations of infrastructure as
a service. The two primary uses of the OpenNebula platform are data center virtualization
solutions and cloud infrastructure solutions.The platform is also capable of offering the cloud
infrastructure necessary to operate a cloud on top of existing infrastructure management
solutions. OpenNebula is free and open-source software, subject to the requirements of
the Apache License version 2.e
4.12.1 HISTORY
• Version 4.4, released in 2014, brought a number of innovations in Open Cloud,
improved cloud bursting, and implemented the use of multiple system datastores for
storage load policies.
CLOUD COMPUTING CS & BCA
135 A. SIVASANKARI , SIASC.
• Version 4.6 allowed users to have different instances of OpenNebula in geographically
dispersed and different data centers, this was known as the Federation of OpenNebula. A
new cloud portal for cloud consumers was also introduced and in App market support
was provided to import OVAs.
• Version 4.8 began offering support for Microsoft Azure and IBM. Developers, it also
continued evolving and improving the platform by incorporating support for One Flow in
cloud view. This meant end users could now define virtual machine applications and
services elastically.
• Version 4.10 integrated the support portal with the Sun Stone GUI. Login token was also
developed, and support was provided for VMS and vCenter.
• Version 4.12 offered new functionality to implement security groups and improve
vCenter integration. Show back model was also deployed to track and analyze clouds due
to different departments.
• Version 4.14 introduced a newly redesigned and modularized graphical interface code,
Sunstone. This was intended to improve code readability and ease the task of adding new
components
4.12.2 BASIC COMPONENTS
• Host: Physical machine running a supported hypervisor.
• Cluster: Pool of hosts that share data stores and virtual networks.
• Template: Virtual Machine definition.
• Image: Virtual Machine disk image.
• Virtual Machine: Instantiated Template. A Virtual Machine represents one life-cycle,
and several Virtual Machines can be created from a single Template.
• Virtual Network: A group of IP leases that VMs can use to automatically obtain IP
addresses. It allows the creation of Virtual Networks by mapping over the physical ones.
They will be available to the VMs through the corresponding bridges on hosts. Virtual
network can be defined in three different parts:
1. Underlying of physical network infrastructure.
2. The logical address space available (IPv4, IPv6, dual stack).
3. Context attributes (e.g. net mask, DNS, gateway). OpenNebula also comes with a
Virtual Router appliance to provide networking services like DHCP, DNS etc.
CLOUD COMPUTING CS & BCA
136 A. SIVASANKARI , SIASC.
4.13 OPEN STACK
OpenStack is a free and open-source software platform for cloud
computing, mostly deployed as infrastructure-as-a-service (IaaS), whereby virtual servers
and other resources are made available to customers. The software platform consists of
interrelated components that control diverse, multi-vendor hardware pools of processing,
storage, and networking resources throughout a data center. Users either manage it through a
web-based dashboard, through command-line tools, or through RESTful web services.
FIGURE 4.11 OPEN STACK
Compute (Nova)
OpenStack Compute (Nova) is a cloud computing fabric controller, which is the main
part of an IaaS system. It is designed to manage and automate pools of computer resources
and can work with widely available virtualization technologies, as well as bare
metal and high-performance computing (HPC) configurations. KVM, VMware, and Xen are
available choices for hypervisor technology (virtual machine monitor), together with Hyper-
V and Linux container technology such as LXC.
It is written in Python and uses many external libraries such as Eventlet (for
concurrent programming), Kombu (for AMQP communication), and SQLAlchemy (for
CLOUD COMPUTING CS & BCA
137 A. SIVASANKARI , SIASC.
database access). Compute's architecture is designed to scale horizontally on standard
hardware with no proprietary hardware or software requirements and provide the ability to
integrate with legacy systems and third-party technologies.
Due to its widespread integration into enterprise-level infrastructures, monitoring
OpenStack performance in general, and Nova performance in particular, scaling has become
an increasingly important issue. Monitoring end-to-end performance requires tracking metrics
from Nova, Keystone, Neutron, Cinder, Swift and other services, in addition to
monitoring RabbitMQ which is used by OpenStack services for message passing. All these
services generate their own log files, which, especially in enterprise-level infrastructures, also
should be monitored.
Networking (Neutron)
OpenStack Networking (Neutron) is a system for managing networks and IP
addresses. OpenStack Networking ensures the network is not a bottleneck or limiting factor
in a cloud deployment, and gives users self-service ability, even over network configurations.
OpenStack Networking provides networking models for different applications or user groups.
Standard models include flat networks or VLANs that separate servers and traffic. OpenStack
Networking manages IP addresses, allowing for dedicated static IP addresses
or DHCP. Floating IP addresses let traffic be dynamically rerouted to any resources in the IT
infrastructure, so users can redirect traffic during maintenance or in case of a failure.
Users can create their own networks, control traffic, and connect servers and devices
to one or more networks. Administrators can use software-defined networking (SDN)
technologies like OpenFlow to support high levels of multi-tenancy and massive scale.
OpenStack networking provides an extension framework that can deploy and manage
additional network services—such as intrusion detection systems (IDS), load
balancing, firewalls, and virtual private networks (VPN).
Block storage (Cinder)
OpenStack Block Storage (Cinder) provides persistent block-level storage devices for
use with OpenStack compute instances. The block storage system manages the creation,
attaching and detaching of the block devices to servers. Block storage volumes are fully
integrated into OpenStack Compute and the Dashboard allowing for cloud users to manage
their own storage needs. In addition to local Linux server storage, it can use storage platforms
CLOUD COMPUTING CS & BCA
138 A. SIVASANKARI , SIASC.
including Ceph, CloudByte, Coraid, EMC (ScaleIO, VMAX, VNX and
XtremIO), GlusterFS, Hitachi Data Systems, IBM Storage (IBM DS8000, Storwize
family, SAN Volume Controller, XIV Storage System, and GPFS), Linux
LIO, NetApp, Nexenta, Nimble Storage, Scality, SolidFire, HP (StoreVirtual and 3PAR
StoreServ families), INFINIDAT (InfiniBox) and Pure Storage. Block storage is appropriate
for performance sensitive scenarios such as database storage, expandable file systems, or
providing a server with access to raw block level storage. Snapshot management provides
powerful functionality for backing up data stored on block storage volumes. Snapshots can be
restored or used to create a new block storage volume.
Identity (Keystone)
OpenStack Identity (Keystone) provides a central directory of users mapped to the
OpenStack services they can access. It acts as a common authentication system across the
cloud operating system and can integrate with existing backend directory services like LDAP.
It supports multiple forms of authentication including standard username and password
credentials, token-based systems and AWS-style (i.e. Amazon Web Services) logins.
Additionally, the catalog provides a queryable list of all of the services deployed in an
OpenStack cloud in a single registry. Users and third-party tools can programmatically
determine which resources they can access.
Image (Glance)
OpenStack Image (Glance) provides discovery, registration, and delivery services
for disk and server images. Stored images can be used as a template. It can also be used to
store and catalog an unlimited number of backups. The Image Service can store disk and
server images in a variety of back-ends, including Swift. The Image Service API provides a
standard REST interface for querying information about disk images and lets clients stream
the images to new servers.
Glance adds many enhancements to existing legacy infrastructures. For example, if
integrated with VMware, Glance introduces advanced features to the vSphere family such as
vMotion, high availability and dynamic resource scheduling (DRS). vMotion is the live
migration of a running VM, from one physical server to another, without service interruption.
Thus, it enables a dynamic and automated self-optimizing datacenter, allowing hardware
maintenance for the underperforming servers without downtimes.
CLOUD COMPUTING CS & BCA
139 A. SIVASANKARI , SIASC.
Other OpenStack modules that need to interact with Images, for example Heat, must
communicate with the images metadata through Glance. Also, Nova can present information
about the images, and configure a variation on an image to produce an instance. However,
Glance is the only module that can add, delete, share, or duplicate images.
Object storage (Swift)
OpenStack Object Storage (Swift) is a scalable redundant storage system. Objects and
files are written to multiple disk drives spread throughout servers in the data center, with the
OpenStack software responsible for ensuring data replication and integrity across the cluster.
Storage clusters scale horizontally simply by adding new servers. Should a server or hard
drive fail, OpenStack replicates its content from other active nodes to new locations in the
cluster. Because OpenStack uses software logic to ensure data replication and distribution
across different devices, inexpensive commodity hard drives and servers can be used.
In August 2009, Rackspace started the development of the precursor to OpenStack
Object Storage, as a complete replacement for the Cloud Files product. The initial
development team consisted of nine developers. SwiftStack, an object storage software
company, is currently the leading developer for Swift with significant contributions
from HP, Red Hat, NTT, NEC, IBM and more.
Dashboard (Horizon)
OpenStack Dashboard (Horizon) provides administrators and users with a graphical
interface to access, provision, and automate deployment of cloud-based resources. The design
accommodates third party products and services, such as billing, monitoring, and additional
management tools. The dashboard is also brand-able for service providers and other
commercial vendors who want to make use of it. The dashboard is one of several ways users
can interact with OpenStack resources. Developers can automate access or build tools to
manage resources using the native OpenStack API or the EC2 compatibility API.
Orchestration (Heat)
Heat is a service to orchestrate multiple composite cloud applications using templates,
through both an OpenStack-native REST API and a Cloud Formation-compatible Query API.
Workflow (Mistral)
CLOUD COMPUTING CS & BCA
140 A. SIVASANKARI , SIASC.
Mistral is a service that manages workflows. User typically writes a workflow using
workflow language based on YAML and uploads the workflow definition to Mistral via its
REST API. Then user can start this workflow manually via the same API or configure a
trigger to start the workflow on some event.
Telemetry (Ceilometer)
OpenStack Telemetry (Ceilometer) provides a Single Point Of Contact for billing
systems, providing all the counters they need to establish customer billing, across all current
and future OpenStack components. The delivery of counters is traceable and auditable, the
counters must be easily extensible to support new projects, and agents doing data collections
should be independent of the overall system.
Database (Trove)
Trove is a database-as-a-service provisioning relational and a non-
relational database engine.
Elastic map reduce (Sahara)
Sahara is a component to easily and rapidly provision Hadoop clusters. Users will
specify several parameters like the Hadoop version number, the cluster topology type, node
flavor details (defining disk space, CPU and RAM settings), and others. After a user provides
all of the parameters, Sahara deploys the cluster in a few minutes. Sahara also provides
means to scale a preexisting Hadoop cluster by adding and removing worker nodes on
demand.
Bare metal (Ironic)
Ironic is an OpenStack project that provisions bare metal machines instead of virtual
machines. It was initially forked from the Nova Baremetal driver and has evolved into a
separate project. It is best thought of as a bare-metal hypervisor API and a set of plugins that
interact with the bare-metal hypervisors. By default, it will use PXE and IPMI in concert to
provision and turn on and off machines, but Ironic supports and can be extended with vendor-
specific plugins to implement additional functionality.
CLOUD COMPUTING CS & BCA
141 A. SIVASANKARI , SIASC.
Messaging (Zaqar)
Zaqar is a multi-tenant cloud messaging service for Web developers. The service
features a fully RESTful API, which developers can use to send messages between various
components of their SaaS and mobile applications by using a variety of communication
patterns. Underlying this API is an efficient messaging engine designed with scalability and
security in mind. Other OpenStack components can integrate with Zaqar to surface events to
end users and to communicate with guest agents that run in the "over-cloud" layer.
Shared file system (Manila)
OpenStack Shared File System (Manila) provides an open API to manage shares in a
vendor agnostic framework. Standard primitives include ability to create, delete, and
give/deny access to a share and can be used standalone or in a variety of different network
environments. Commercial storage appliances from EMC, NetApp, HP, IBM, Oracle,
Quobyte, INFINIDAT and Hitachi Data Systems are supported as well as filesystem
technologies such as Red Hat GlusterFS or Ceph.
DNS (Designate)
Designate is a multi-tenant REST API for managing DNS. This component provides
DNS as a Service and is compatible with many backend technologies, including PowerDNS
and BIND. It doesn't provide a DNS service as such as its purpose is to interface with
existing DNS servers to manage DNS zones on a per tenant basis.
Search (Searchlight)
Searchlight provides advanced and consistent search capabilities across various
OpenStack cloud services. It accomplishes this by offloading user search queries from other
OpenStack API servers by indexing their data into ElasticSearch. Searchlight is being
integrated into Horizon and also provides a Command-line interface.
Key manager (Barbican)
CLOUD COMPUTING CS & BCA
142 A. SIVASANKARI , SIASC.
Barbican is a REST API designed for the secure storage, provisioning and
management of secrets. It is aimed at being useful for all environments, including large
ephemeral Clouds.
Container orchestration (Magnum)
Magnum is an OpenStack API service developed by the OpenStack Containers Team
making container orchestration engines such as Docker Swarm, Kubernetes, and Apache
Mesos available as first class resources in OpenStack. Magnum uses Heat to orchestrate an
OS image which contains Docker and Kubernetes and runs that image in either virtual
machines or bare metal in a cluster configuration.
Root Cause Analysis (Vitrage)
Vitrage is the OpenStack RCA (Root Cause Analysis) service for organizing,
analyzing and expanding OpenStack alarms & events, yielding insights regarding the root
cause of problems and deducing their existence before they are directly detected.
Rule-based alarm actions (Aodh)
This alarming service enables the ability to trigger actions based on defined rules
against metric or event data collected by Ceilometer or Gnocchi.
4.14 ANEKA
Aneka is a platform and a framework for developing distributed applications on the
Cloud. It harnesses the spare CPU cycles of a heterogeneous network of desktop PCs and
servers or data centers on demand. Aneka provides developers with a rich set of APIs for
transparently exploiting such resources and expressing the business logic of applications by
using the preferred programming abstractions. System administrators can leverage on a
collection of tools to monitor and control the deployed infrastructure. This can be a public
cloud available to anyone through the Internet, or a private cloud constituted by a set of nodes
with restricted access.
The Aneka based computing cloud is a collection of physical and virtualized
resources connected through a network, which are either the Internet or a private intranet.
Each of these resources hosts an instance of the Aneka Container representing the runtime
environment where the distributed applications are executed. The container provides the basic
CLOUD COMPUTING CS & BCA
143 A. SIVASANKARI , SIASC.
management features of the single node and leverages all the other operations on the services
that it is hosting.
The services are broken up into fabric, foundation, and execution services. Fabric
services directly interact with the node through the Platform Abstraction Layer (PAL) and
perform hardware profiling and dynamic resource provisioning. Foundation services identify
the core system of the Aneka middleware, providing a set of basic features to enable Aneka
containers to perform specialized and specific sets of tasks. Execution services directly deal
with the scheduling and execution of applications in the Cloud.
One of the key features of Aneka is the ability of providing different ways for
expressing distributed applications by offering different programming models; execution
services are mostly concerned with providing the middleware with an implementation for
these models. Additional services such as persistence and security are transversal to the entire
stack of services that are hosted by the Container. At the application level, a set of different
components and tools are provided to: 1) simplify the development of applications (SDK); 2)
porting existing applications to the Cloud; and 3) monitoring and managing the Aneka Cloud.
A common deployment of Aneka is presented at the side. An Aneka based Cloud is
constituted by a set of interconnected resources that are dynamically modified according to
the user needs by using resource virtualization or by harnessing the spare CPU cycles of
desktop machines. If the deployment identifies a private Cloud all the resources are in house,
for example within the enterprise. This deployment is extended by adding publicly available
resources on demand or by interacting with other Aneka public clouds providing computing
resources connected over the Internet.
FIGURE 4.12 ANEKA MULTIPLE APPLICATIONS
CLOUD COMPUTING CS & BCA
144 A. SIVASANKARI , SIASC.
4.15 CLOUD SLIM
CloudSim is a framework for modeling and simulation of cloud
computing infrastructures and services. Originally built primarily at the Cloud Computing
and Distributed Systems (CLOUDS) Laboratory, The University of Melbourne, Australia,
CloudSim has become one of the most popular open source cloud simulators in the research
and academia. CloudSim is completely written in Java.
Recently, cloud computing emerged as the leading technology for delivering reliable,
secure, fault-tolerant, sustainable, and scalable computational services, which are presented
as Software, Infrastructure, or Platform as services (SaaS, IaaS, PaaS). Moreover, these
services may be offered in private data centers (private clouds), may be commercially offered
for clients (public clouds), or yet it is possible that both public and private clouds are
combined in hybrid clouds.
These already wide ecosystem of cloud architectures, along with the increasing
demand for energy-efficient IT technologies, demand timely, repeatable, and controllable
methodologies for evaluation of algorithms, applications, and policies before actual
development of cloud products. Because utilization of real testbeds limits the experiments to
the scale of the testbed and makes the reproduction of results an extremely difficult
undertaking, alternative approaches for testing and experimentation leverage development of
new Cloud technologies.
MAIN FEATURES
Overview of CloudSim functionalities:
• support for modeling and simulation of large scale Cloud computing data centers
• support for modeling and simulation of virtualized server hosts, with customizable
policies for provisioning host resources to virtual machines
• support for modeling and simulation of application containers
• support for modeling and simulation of energy-aware computational resources
• support for modeling and simulation of data center network topologies and message-
passing applications
• support for modeling and simulation of federated clouds
• support for dynamic insertion of simulation elements, stop and resume of simulation
• support for user-defined policies for allocation of hosts to virtual machines and
policies for allocation of host resources to virtual machines
CLOUD COMPUTING CS & BCA
145 A. SIVASANKARI , SIASC.
UNIT- V
5. CLOUD COMPUTING SECURITY
5.1 SECURITY
Security in cloud computing is a major concern. Data in cloud should be stored in
encrypted form. To restrict client from accessing the shared data directly, proxy and
brokerage services should be employed.
Security Cloud computing
Security Cloud computing supports the development of elastically scalable systems by
level arranging large computing infrastructures that eventually hosts applications, services,
and data. In this scenario, security arrangements constitute a fundamental requirement that
cannot be overlooked. Security management becomes even more complex in the case of a
cloud federation, where confidential information is dynamically moved across several cloud
computing vendors.
One of the first questions that should be asked is whether the cloud vendors offer
enough transparency to implement the security management process required to protect your
data and applications. Implementing and deploying the required security infrastructure is
important to understanding the responsibilities of those who offer cloud computing services
and of those who use them. Cloud computing is a new territory for security; compared to
managed services providers, where the management of security infrastructure is completely
handled by the service provider, in a cloud deployment security management is divided
between the provider and the customer. The responsibilities of the two parties change
according to the type of service offering.
IaaS vendors are required to provide basic security in terms of auditing and logging
of access to virtual machine instances or cloud storage.
PaaS vendors are expected to offer a secure development platform and a runtime
environment for applications.
SaaS vendors have the major responsibilities in terms of security, since they have to
build a secure computing stack (infrastructure, platform , and applications )that users
customize for their needs.
Despite the novelty introduced by cloud computing, it is possible to consider existing
security frameworks and practices as a starting point for securely running applications and
systems. In particular, the standard ISO/IEC 27001/27002 and the Information Technology
CLOUD COMPUTING CS & BCA
146 A. SIVASANKARI , SIASC.
Infrastructure Library(ITIL) service management framework are industry standards that
provide guidance in terms of security management processes and practices.
ITIL is a set of guidelines that define a security frame work in terms of policies, processes,
procedures, and work instructions. ITIL is not a standard, and therefore organizations and
management systems cannot be certified “ITIL-compliant.” Despite this fact, these guidelines
constitute a reference model for implementing security measures. ISO/IEC27001/27002
formally define the mandatory requirements for an information security management system
and provide guidelines for the security controls to implement within a security system. In
short, these standards help organizations ensure that the current security levels are
appropriate to their needs and to implement security. Key elements in management of
security in a cloud scenario have been identified as the following
• Availability management (ITIL)
• Access control (ISO/IEC27002,ITIL)
• Vulnerability management (ISO/IEC27002)
• Patch management (ITIL)
• Configuration management (ITIL)
• Incident response (ISO/IEC27002)
• System use and access monitoring (ISO/IEC27002)
SECURITY PLANNING
Before deploying a particular resource to cloud, one should need to analyze several
aspects of the resource such as:
• Select resource that needs to move to the cloud and analyze its sensitivity to risk.
• Consider cloud service models such as IaaS, PaaS, and SaaS. These models require
customer to be responsible for security at different levels of service.
• Consider the cloud type to be used such as public, private, community or hybrid.
• Understand the cloud service provider's system about data storage and its transfer into
and out of the cloud.
The risk in cloud deployment mainly depends upon the service models and cloud types.
5.2 UNDERSTANDING SECURITY OF CLOUD
SECURITY BOUNDARIES
A particular service model defines the boundary between the responsibilities of
service provider and customer. Cloud Security Alliance (CSA) stack model defines the
CLOUD COMPUTING CS & BCA
147 A. SIVASANKARI , SIASC.
boundaries between each service model and shows how different functional units relate to
each other. The following diagram shows the CSA stack model:
FIGURE 5.1 SECURITY BOUNDARIES
Key Points to CSA Model
• IaaS is the most basic level of service with PaaS and SaaS next two above levels of
services.
• Moving upwards, each of the service inherits capabilities and security concerns of the
model beneath.
• IaaS provides the infrastructure, PaaS provides platform development environment,
and SaaS provides operating environment.
• IaaS has the least level of integrated functionalities and integrated security while
SaaS has the most.
• This model describes the security boundaries at which cloud service provider's
responsibilities end and the customer's responsibilities begin.
• Any security mechanism below the security boundary must be built into the system
and should be maintained by the customer.
Although each service model has security mechanism, the security needs also depend
upon where these services are located, in private, public, hybrid or community cloud.
Understanding Data Security
CLOUD COMPUTING CS & BCA
148 A. SIVASANKARI , SIASC.
Since all the data is transferred using Internet, data security is of major concern in the
cloud. Here are key mechanisms for protecting data.
• Access Control
• Auditing
• Authentication
• Authorization
All of the service models should incorporate security mechanism operating in all above-
mentioned areas.
Isolated Access to Data
Since data stored in cloud can be accessed from anywhere, we must have a
mechanism to isolate data and protect it from client’s direct access.
Brokered Cloud Storage Access is an approach for isolating storage in the cloud. In this
approach, two services are created:
• A broker with full access to storage but no access to client.
• A proxy with no access to storage but access to both client and broker.
Working Of Brokered Cloud Storage Access System
When the client issues request to access data:
• The client data request goes to the external service interface of proxy.
• The proxy forwards the request to the broker.
• The broker requests the data from cloud storage system.
• The cloud storage system returns the data to the broker.
• The broker returns the data to proxy.
• Finally the proxy sends the data to the client.
All of the above steps are shown in the following diagram:
FIGURE 5.2 CLOUD STORAGE
CLOUD COMPUTING CS & BCA
149 A. SIVASANKARI , SIASC.
Encryption
Encryption helps to protect data from being compromised. It protects data that is
being transferred as well as data stored in the cloud. Although encryption helps to protect
data from any unauthorized access, it does not prevent data loss.
5.3 CLOUD COMPUTING CHALLENGES
Cloud computing, an emergent technology, has placed many challenges in different
aspects of data and information handling. Some of these are shown in the following
diagram:
FIGURE 5.3 CLOUD COMPUTING CHALLENGES
Security and Privacy
Security and Privacy of information is the biggest challenge to cloud computing.
Security and privacy issues can be overcome by employing encryption, security hardware
and security applications.
Portability
This is another challenge to cloud computing that applications should easily be
migrated from one cloud provider to another. There must not be vendor lock-in. However, it
is not yet made possible because each of the cloud provider uses different standard
languages for their platforms.
CLOUD COMPUTING CS & BCA
150 A. SIVASANKARI , SIASC.
Interoperability
It means the application on one platform should be able to incorporate services from
the other platforms. It is made possible via web services, but developing such web services
is very complex.
Computing Performance
Data intensive applications on cloud requires high network bandwidth, which results
in high cost. Low bandwidth does not meet the desired computing performance of cloud
application.
Reliability and Availability
It is necessary for cloud systems to be reliable and robust because most of the
businesses are now becoming dependent on services provided by third-party.
5.4 GOVERNANCE AND SECURITY
Security
Security is the degree of protection to safeguard a nation, union of nations, persons or
person against danger, damage, loss, and crime. Security as a form of protection are
structures and processes that provide or improve security as a condition.
The five security-related issues with cloud computing that are critical to the success
and security of a cloud-based project—and that are not always getting the full consideration
they deserve.
1 Internal clouds are not inherently secure.
In the past year, many organizations have foregone using public clouds, choosing
instead to build private clouds behind their firewalls. This may be the best solution for risk-
averse groups.
These teams, though, need to understand that just because they’ve built a cloud inside their
firewall doesn’t mean that their solution is safe. It still takes just one bad apple to spoil the
barrel—a single department, user or application that is not behaving as it should.
An organization that is risk-averse enough to avoid the public cloud should be
building a secure cloud—possibly the company should be building its dream cloud, which
contains all the security controls that it thinks are missing from a public environment. Since
the company physically owns the private cloud, incident response can be very swift.
Detection capabilities need to be cloud-specific (for example, sensors need to monitor inside
the cloud, not just at its perimeter) and operational capabilities such as patch management
CLOUD COMPUTING CS & BCA
151 A. SIVASANKARI , SIASC.
must be sharp. A vulnerable service that’s in a cloud might have greater exposure and risk
than the same service in a standard server farm thanks to the shared nature of cloud resources.
2 Companies lack security visibility and risk awareness.
The paucity of security visibility that most providers offer their customers is itself
getting plenty of visibility. Obviously, when using a public cloud service, companies must
balance the competing factors of control, visibility and cost. This can be a significant issue—
reduced visibility results in diminished situational awareness and a questionable
understanding of risk. When planning a move to the cloud, an organization needs to
recognize this lack of visibility and determine how to best leverage what insight they can get
their hands on. Really, this means designing mitigating controls.
At the infrastructure and platform levels, this is straightforward: Log more
information in your applications and set systems up to generate alerts when signs of
compromise or malicious use are spotted (for example, when files are modified, records are
changed more frequently than usual, or resource usage is abnormally high). For software as a
service (SaaS), though, these precautions will require more thought.
SaaS providers are beginning to distinguish themselves via security features.
Organizations vetting SaaS providers should consider how they will handle risk awareness—
does the provider offer usage data that is granular enough to recognize changes in usage?
(Monthly billing doesn’t really cut it, unless the risk scenario is a malefactor who only attacks
on the 29th of the month.)
3 Sensitive information needs safer storage
Safely storing sensitive information is one of the toughest problems in cloud
computing. The solution is to encrypt data, but the critical questions are where to encrypt, and
how.
The first requirement of successful encryption in the cloud, which some providers do
not yet understand (or at least don’t practice), is: Do not store the encryption key with the
encrypted data. Doing so more or less negates any value gained from encrypting the data.
Several companies make appliances (virtual or physical) that proxy data leaving an
office on the way to a cloud service and encrypt or tokenize it before sending it to the cloud.
This allows them to use a cloud service without worrying about data loss—as long as they
only intend to access the cloud service from behind that appliance.
4 Apps aren’t secure
CLOUD COMPUTING CS & BCA
152 A. SIVASANKARI , SIASC.
Application security has been getting attention for years. In my mind, its importance
increases when an application is deployed to a cloud environment, as the application is more
exposed.
One of the biggest mistakes an organization can make is to take an existing
application and simply deploy it to a cloud without first considering what new attack vectors
this move opens up.
When possible, an application should be re-architected for cloud deployment—this
allows parts of the application to scale independently, and to be more distributed and
resilient. It’s really an opportunity to make an application more secure than ever. Forcing a
development team to not use the corporate firewall as a crutch will result in a solid
application.
5 Authentication and authorization must be more robust
Of all the problems covered in this article, cloud authentication and authorization has
the greatest number of commercial solutions available. This does not mean the issue is easily
solved, however. Every organization has its own way to manage authentication and
authorization.
First, it must determine if its current authentication system could also work in a secure
and reliable way for users in a cloud environment. If the answer is yes, the follow-up question
is whether that is also the best way to authenticate cloud services.
5.5 RISK MANAGEMENT FOR CLOUD COMPUTING DEPLOYMENTS
When you consider the recent trends and studies on cloud computing, it’s clear that
after the Internet, it’s the turn of cloud computing to shape the future of computing. The
question is no longer “To cloud or not to cloud”, but more of “when will the shift happen”
and “what processes will shift to the cloud”. In this series of articles, we will endeavor to
perform a complete cloud risk management exercise.
As part of a risk management exercise for cloud computing, it’s important to rank the
positive information security benefits from utilizing cloud infrastructure. Since the largest
risks lie on public cloud fronts (unless mentioned otherwise), all references are only to public
cloud infrastructure.
CLOUD COMPUTING CS & BCA
153 A. SIVASANKARI , SIASC.
A background
By its very nature, cloud computing setups have a huge setup in place, which typically
comprises of hundreds (if not thousands) of servers running a wide variety of operating
systems, virtualized platforms and databases. The network will utilize equipment with
Gigabit transfer rates and high end security systems. The data centre is at least a tier 2+, if not
a tier 3/4 setup.
What this translates into is:
1. Specialized personnel: Since the entire business model is based on providing IT
resources, cloud providers can afford to hire and retain the industry’s finest skillsets. This
is a huge boon for many organizations, since they are unable to attract and retain highly
skilled resources. It’s not rare to see organizations which are able to spend large sums on
IT Infrastructure, but unable to derive due benefits due to lack of skilled resources.
2. Opex, NOT capex: In many countries, organizations purchasing IT equipments for
internal consumption – “capex - capital expenditure” cannot take immediate tax benefits
by writing off expenditure, but get staggered benefits spread over five years. By
employing a cloud provider’s resources, investments in cloud resources get classified as
operational expense (opex), which results in immediate tax benefits.
3. Platform support: Many organizations are unable to rollout patches on time, or even
identify the applicable patches due to various reasons like lack of adequate knowledge
base, time, or adequate testing infrastructure. These shortcomings are not there for most
cloud providers, ensuring that the platforms and applications that you use on those cloud
setups are adequately up to date. This is a two edged sword, since this very point has also
been observed as a weakness in certain cloud providers whom we have audited.
Organizations which have fairly mature processes in place ensure aspects like timely
internal system updates and adequate testing. The same cannot be said in a guaranteed
manner for cloud providers due to lack of visibility and transparency. We will cover this
aspect in detail with mitigation strategies in the next installments of this tip.
4. Backup and recovery: Almost all the organizations that I have worked with in the past
20 years take regular backups. However, very few organizations ever perform regular
restoration to check the working and adequacy of backups, which lead to last minute
unpleasant surprises. Cloud providers have this step pat in place, since the repercussions
of a mess-up will be fatal for their existence. Again, this is a two edged sword dependent
on the policies of the cloud provider, which may or may not be sufficient for your
CLOUD COMPUTING CS & BCA
154 A. SIVASANKARI , SIASC.
organizational requirements. We will cover mitigation strategies in detail in the next
parts.
5. Disaster recovery: This is critical for most organizations, but regularly side-stepped or
watered down. Redundancy and disaster recovery capabilities are built into cloud
computing environments. This is a two edged sword dependent on the cloud provider’s
policies and implementation strategy, which may not be sufficient for your organizational
requirements.
6. Thin clients: Since applications and data (in most cases) will reside on the cloud
infrastructure, you will not require powerful laptops and desktops to run your
applications. Not much confidential data will reside on your internal systems, thus cutting
down on your information risk factors. This is again based on the cloud provider’s
policies and your implementation topology.
7. Power savings: Last year, Pike Research found that cloud computing could lead to a 38
percent reduction in worldwide data center energy use by 2020, compared to what the
growth of data center energy consumption would be without cloud computing. Another
study from Microsoft, Accenture and WSP Environment and Energy in 2011 found that
moving business applications to the cloud could cut the associated per-user carbon
footprint by 30 percent for large, already-efficient companies. This figure could be as
much as 90 percent for the smallest and least efficient businesses.
5.6 CLOUD SECURITY MONITORING WORKS
There are several approaches to cloud security monitoring. Cloud monitoring can be done
in the cloud platform itself, on premises using an enterprise’s existing security management
tools, or via a third party service provider. Some of the key capabilities of cloud security
monitoring software include:
• Scalability: tools must be able to monitor large volumes of data across many
distributed locations
• Visibility: the more visibility into application, user, and file behavior that a cloud
monitoring solution provides, the better it can identify potential attacks or
compromises
• Timeliness: the best cloud security monitoring solutions will provide constant
monitoring, ensuring that new or modified files are scanned in real time
• Integration: monitoring tools must integrate with a wide range of cloud storage
providers to ensure full monitoring of an organization’s cloud usage
CLOUD COMPUTING CS & BCA
155 A. SIVASANKARI , SIASC.
• Auditing and Reporting: cloud monitoring software should provide auditing and
reporting capabilities to manage compliance requirements for cloud security
5.7 CLOUD COMPUTING SECURITY ARCHITECTURES
How the Cloud Computing Security Architectures Vary Based on Cloud Service Models
While all cloud architecture models require performance management tools and strategy, the
security architecture varies based on the type of cloud model — software-as-a-service (SaaS),
infrastructure-as-a-service (IaaS), or platform-as-a-service model (PaaS). It’s important to
distinguish the different service models, as The Cloud Security Alliance notes: “IaaS is the
foundation of all cloud services, with PaaS building upon IaaS, and SaaS in turn building
upon PaaS.”
FIGURE 5.4 CLOUD COMPUTING SECURITY ARCHITECTURES
Source: Cloud Security Alliance
IaaS Cloud Computing Security Architecture
This infrastructure provides the storage and networking components to cloud
networking. It relies heavily on application programming interfaces (APIs) to allow
enterprises to manage and interact with the cloud. However, cloud APIs tend to be insecure
as they’re open and readily accessible on the network.
CLOUD COMPUTING CS & BCA
156 A. SIVASANKARI , SIASC.
The CSP handles the security of the infrastructure and the abstraction layers. The
enterprise’s security obligations include the rest of the stack, including the applications.
Deploying network packet brokers (NPB) in an IaaS environment provides the
visibility into security issues within a cloud network. NPB’s direct traffic and data to the
appropriate network performance management (NPM) and security tools. Along with
deploying NPB to gather wire data, enterprises should log wires to view issues occurring at
the endpoints in a network.
IaaS cloud computing service models require these additional security features:
• Virtual web application firewalls placed in front of a website to protect against malware.
• Virtual network-based firewalls located at the cloud network’s edge that guards the
perimeter.
• Virtual routers
• Intrusion Detection Systems and Intrusion Prevention Systems (IDS/IPS)
• Network segmentation
SaaS Cloud Computing Security Architecture
SaaS centrally hosts software and data that are accessible via a browser. The
enterprise normally negotiates with the CSP the terms of security ownership in a legal
contract.
Cloud Access Security Brokers (CASB) play a central role in discovering security
issues within a SaaS cloud service model as it logs, audits, provides access control, and
oftentimes includes encryption capabilities.
Other security features for the SaaS cloud environment include:
• Logging
• IP restrictions
• API gateways
PaaS Cloud Computing Security Architecture
CSA defines PaaS as the “deployment of applications without the cost and complexity
of buying and managing the underlying hardware and software and provisioning hosting
capabilities.”
The CSP secures a majority of a PaaS cloud service model. However, the security of
applications rests with the enterprise. The essential components to secure the PaaS cloud
include:
• Logging
CLOUD COMPUTING CS & BCA
157 A. SIVASANKARI , SIASC.
• IP restrictions
• API gateways
• CASB
5.8 DATA SECURITY IN CLOUD COMPUTING
Data security in cloud computing involves more than data encryption. Requirements
for data security depends upon on the three service models SaaS, PaaS, and IaaS. Two states
of data normally have threat to its security in clouds; Data at Rest which means the data
stored in the cloud and Data in Transit which means data that is moving in and out of the
cloud. Confidentiality, and Integrity of data is based upon the nature of data protection
mechanisms, procedures, and processes. The most significant matter is the exposure of data
in above mentioned two states.
A. Data at Rest
Data at rest refers to data in cloud, or any data that can be accessed using Internet.
This includes backup data as well as live data. As mentioned earlier, sometimes it is very
difficult for organizations to protect data at rest if they are not maintaining a private cloud
since they do not have physical control over the data. However, this issue can be resolved by
maintaining a private cloud with carefully controlled access.
B. Data in Transit
Data in transit normally refers to data which is moving in and out of the cloud. This
data can be in the form of a file or database stored on the cloud and can be requested for use
at some other location. Whenever, data is uploaded to the cloud, the data at time of being
uploaded is called data in transit. Data in transit can be very sensitive data like user names
and passwords and can be encrypted at times. However, data in unencrypted form is also data
in transit.
Data in transit is sometimes more exposed to risks than the data at rest because it has
to travel from one location to another. (See Fig 1). There are several ways in which
intermediary software can eavesdrop the data and sometimes have the ability to change the
data on its way to the destination.
In order to protect data in transit, one of the best strategies is encryption.
CLOUD COMPUTING CS & BCA
158 A. SIVASANKARI , SIASC.
FIGURE 5.5 DATA AT REST AND IN TRANSIT.
5.9 APPLICATION SECURITY
The final level of security is application security in which the application can only be
accessed by providing some kind of credentials only and by providing the type of credentials
we can further divide the application security in four types
1. Identity based access
2. Role based access
3. Key based access
4. Claim based access
IDENTITY BASED ACCESS
In identity based access a username and password is provided by the user and if they
matches with the records in the database then only the access is provided otherwise the access
is denied. Now the username can be of many types for example, name, email address, id
proofs like driving license number, pan card number, ssn number in America, Uid number in
India etc which will uniquely identify that person. In case of email id we have got additional
advantage that in case of lost password we the issuing authority can send the new password to
that email id. We can also enjoy the advantage of email id with other identity types if we take
email id as an input at the time of registering.
ROLE BASED ACCESS
In role based identity a role is associated with the user like administrator, developer
etc and the application changes the view according to the role of that user. Other credentials
are also stored while issuing the role based identity to that user for security purpose.
KEY BASED ACCESS
In key based identity the end user is provided a key and by using that key only the end user
can access the services. This key is also stored in the database for verification. This key is
CLOUD COMPUTING CS & BCA
159 A. SIVASANKARI , SIASC.
encrypted and is generally very long such that no one can guess it. The level of security is
very high with key based identity. It is generally associated with a time stamp and the
services can only be enjoyed generally for certain amount of time only like 1 day or 6 hours,
1month etc.
CLAIM BASED ACCESS
In claim based identity a live id is created for a particular brand and all other services
provided by that particular brand are accessed by that id. This is done because the end user or
customer does not want to or does not prefer to create a new id and remembering the
credentials each time for using the different services of that particular brand.
The end user never likes filling the form each time for different services of that
particular brand. So in order to attract customer to use their services without any pain and at
the same time not compromising with the security claim based identity has been introduced
and efforts and cost for maintain the data also reduce to great extent and at the same time we
can track the data that how many services and what type of the services has been accessed by
a particular type of person and this data can be used for data warehousing purpose.
The example of claim based identity is Google id which is same for Gmail, Google+,
Blogspot, Google search etc. Similarly Windows live id which is common for downloading
all kinds of software provided for Windows. Similarly facebook id which is not only accepted
by facebook but also accepted by websites of other brands also like Scribd as an additional
type for login purpose.
5.10 VIRTUALIZATION SECURITY IN CLOUD COMPUTING
Virtualization in Cloud Computing is making a virtual platform of server operating
system and storage devices. This will help the user by providing multiple machines at the
same time it also allows sharing a single physical instance of resource or an application to
multiple users. Cloud Virtualizations also manage the workload by transforming traditional
computing and make it more scalable, economical and efficient.
Virtualizations in Cloud Computing rapidly integrating the fundamental way of
computing. One of the important features of virtualization is that it allows sharing of
applications to multiple customers and companies.
Types of Virtualization in Cloud Computing
• Operating System Virtualization
• Hardware Virtualization
CLOUD COMPUTING CS & BCA
160 A. SIVASANKARI , SIASC.
• Server Virtualization
• Storage Virtualization
a. Operating System Virtualization
In operating system virtualization in Cloud Computing, the virtual machine software
installs in the operating system of the host rather than directly on the hardware system. The
most important use of operating system virtualization is for testing the application on
different platforms or operating system. Here, the software is present in the hardware, which
allows different applications to run.
b. Server Virtualization
In server virtualization in Cloud Computing, the software directly installs on the
server system and use for a single physical server can divide into many servers on the
demand basis and balance the load. It can be also stated that the server virtualization is
masking of the server resources which consists of number and identity. With the help of
software, the server administrator divides one physical server into multiple servers.
c. Hardware Virtualization
Hardware virtualization in Cloud Computing, used in server platform as it is flexible
to use Virtual Machine rather than physical machines. In hardware virtualizations, virtual
machine software installs in the hardware system and then it is known as hardware
virtualization. It consists of a hypervisor which use to control and monitor the process,
memory, and other hardware resources. After the completion of hardware virtualization
process, the user can install the different operating system in it and with this platform
different application can use.
d. Storage Virtualization
In storage virtualization in Cloud Computing, a grouping is done of physical storage
which is from multiple network storage devices this is done so it looks like a single storage
device. It can implement with the help of software applications and storage virtualization is
done for the backup and recovery process. It is a sharing of the physical storage from
multiple storage devices.
2011 ended with the popularization of an idea: Bringing VMs (virtual machines) onto
the cloud. Recent years have seen great advancements in both cloud computing and
virtualization On one hand there is the ability to pool various resources to provide software-
as-a-service, infrastructure-as-a-service and platform-as-a-service. At its most basic, this is
what describes cloud computing. On the other hand, we have virtual machines that provide
CLOUD COMPUTING CS & BCA
161 A. SIVASANKARI , SIASC.
agility, flexibility, and scalability to the cloud resources by allowing the vendors to copy,
move, and manipulate their VMs at will.
The term virtual machine essentially describes sharing the resources of one single
physical computer into various computers within itself. VMware and virtual box are very
commonly used virtual systems on desktops. Cloud computing effectively stands for many
computers pretending to be one computing environment. Obviously, cloud computing would
have many virtualized systems to maximize resources.
Keeping this information in mind, we can now look into the security issues that arise
within a cloud-computing scenario. As more and more organizations follow the “Into the
Cloud” concept, malicious hackers keep finding ways to get their hands on valuable
information by manipulating safeguards and breaching the security layers (if any) of cloud
environments.
One issue is that the cloud-computing scenario is not as transparent as it claims to be. The
service user has no clue about how his information is processed and stored. In addition, the
service user cannot directly control the flow of data/information storage and processing. The
service provider usually is not aware of the details of the service running on his or her
environment. Thus, possible attacks on the cloud-computing environment can be classified in
to:
1. Resource attacks:
These kinds of attacks include manipulating the available resources into mounting a
large-scale botnet attack. These kinds of attacks target either cloud providers or
service providers.
Data attacks:
These kinds of attacks include unauthorized modification of sensitive data at
nodes, or performing configuration changes to enable a sniffing attack via a specific
device etc. These attacks are focused on cloud providers, service providers, and also
on service users.
Denial of Service attacks:
The creation of a new virtual machine is not a difficult task, and thus, creating
rogue VMs and allocating huge spaces for them can lead to a Denial of Service attack
for service providers when they opt to create a new VM on the cloud. This kind of
attack is generally called virtual machine sprawling.
Backdoor:
CLOUD COMPUTING CS & BCA
162 A. SIVASANKARI , SIASC.
Another threat on a virtual environment empowered by cloud computing is the use
of backdoor VMs that leak sensitive information and can destroy data privacy.
Having virtual machines would indirectly allow anyone with access to the host disk
files of the VM to take a snapshot or illegal copy of the whole System. This can lead
to corporate espionage and piracy of legitimate products.
With so many obvious security issues (and a lot more can be added to the list), we
need to enumerate some steps that can be used to secure virtualization in cloud
computing.
5.11 IDENTITY AND ACCESS MANAGEMENT
Managing identities and access control for enterprise applications remains one of the
greatest challenges facing IT today. While an enterprise may be able to leverage several
cloud computing services without a good identity and access management strategy, in the
long run extending an organization’s identity services into the cloud is a necessary
prerequisite for strategic use of on-demand computing services. Supporting today’s
aggressive adoption of an admittedly immature cloud ecosystem requires an honest
assessment of an organization’s readiness to conduct cloud-based Identity and Access
Management (IAM), as well as understanding the capabilities of the organization’s cloud
computing providers.
We will discuss the following major IAM functions that are essential for successful
and effective management of identities in the cloud:
• Identity provisioning/deprovisioning
• Authentication & federation
• Authorization & user profile management
• Support for compliance
The SPI (SaaS, PaaS, IaaS) cloud delivery models call for IT departments and the cloud
service provider (CSP) to jointly extend the organization’s IAM practices, processes, and
procedures to cloud services in ways that are scalable, effective, and efficient for both the
provider and its customers. Identity Provisioning: One of the major challenges for
organizations adopting cloud computing services is the secure and timely management of on-
boarding (provisioning) and off-boarding (deprovisioning) of users in the cloud. Further,
enterprises that have invested in user management processes within an enterprise will seek to
extend those processes to cloud services.
CLOUD COMPUTING CS & BCA
163 A. SIVASANKARI , SIASC.
Authentication:
When organizations utilize cloud services, authenticating users in a trustworthy and
manageable manner is a vital requirement. Organizations must address authentication-related
challenges such as credential management, strong authentication, delegated authentication,
and managing trust across all types of cloud services. Federation: In the cloud computing
environment, Federated Identity Management plays a vital role in enabling organizations to
authenticate their users of cloud services using the organization’s chosen identity provider
(IdP).
In that context, exchanging identity attributes between the service provider (SP) and the
IdP securely is also a requirement. Organizations considering federated identity management
in the cloud should understand the various challenges and possible solutions to address those
challenges with respect to identity lifecycle management, available authentication methods to
protect confidentiality, and integrity, while supporting non-repudiation.
Authorization and User Profile Management:
The requirements for user profiles and access control policy vary, depending on whether
the user is acting on their own behalf (such as a consumer) or as a member of an organization
(such as an employer, university, hospital, or other enterprise). The access control
requirements in SPI environments include establishing trusted user profile and policy
information, using it to control access within the cloud service, and doing this in an auditable
way.
Compliance:
For customers who rely on cloud services, it is important to understand how Identity
Management can enable compliance with internal or regulatory requirements. Well designed
identity management can ensure that information about accounts, access grants, and
segregation of duty enforcement at cloud providers, can all be pulled together to satisfy an
enterprise’s audit and compliance reporting requirements. For each of these IAM functions,
we will discuss the challenges, solutions, and future outlook; and present a provider check list
and set of questions to will help you get ready for cloud adoption.
5.12 ACCESS CONTROL MODEL
There are several different access control models, but in general the model that is
good for a particular situation in a non-cloud model will still be appropriate in a cloud
situation. Transaction processing services may be best served by Role Based Access Control
(RBAC) models, possibly complemented by data-centric policy (such as SQL views)
CLOUD COMPUTING CS & BCA
164 A. SIVASANKARI , SIASC.
implemented in underlying databases. Unstructured content may be best protected by an ACL
model in many cases, and a MAC/MLS model when it is necessary to make access control
decisions based upon the classification of assets or information.
Web service access to the cloud is generally best supported by an ACL model. In
addition to basic access control, cloud environments may impose quota-based restrictions.
Customers should make sure they fully understand the capabilities and limitations of the
access model in use. Finally, large corporate customers will need to invest in designing a
group or role model that maps user roles to their internal business functions in order to
effectively manage the access model.
CLOUD COMPUTING CS & BCA
165 A. SIVASANKARI , SIASC.
CLOUD COMPUTING
UNIT I
Multiple Choice Questions With Answers
1) Cloud is based on?
a. Internet
b. Service
c. Application
d. None
Ans : a
2. Benifits of Cloud?
a. Provide you low-cost software
b. Offers advanced online security
c. Location and Device Independence
d. All of the above
Ans: d
3. Cloud computing is the delivery of computing services including servers, storage, on
a. Medium
b. wireless
c. Both
d. Internet
Ans: d
4. SAAS Stands for
a. System As A Software
b. Software As A Service
C. Service As A Software
d. Service As A System
Ans: b
5. The SOA means?
a. Service Oriented Architecture
b. System Oriented Architecture
c. Service Oriented Assign
d. none
Ans: a
CLOUD COMPUTING CS & BCA
166 A. SIVASANKARI , SIASC.
6 NAAS means ?
a. Network As a Server
b. Network As a System
c. Network As A Service
d. None
Ans : c
7. IAAS Stands for?
a. Information As a Server
b. Infrastructure As a Service
c. Information As a System
d. None of above
Ans : b
9.) Which of these is not a Cloud Model?
a. Public
b. private
c. Hybrid
d. Semi
Ans : d
2 MARK QUESTIONS
1. What is Cloud Computing?
Cloud computing is the delivery of computing services including servers, storage,
databases, networking, software, analytics, and intelligence over the Internet (“the cloud”) to
offer faster innovation, flexible resources, and economies of scale. You typically pay only for
cloud services you use, helping lower your operating costs, run your infrastructure more
efficiently and scale as your business needs change.
2. What is the use of Cloud Computing?
• Cost
• Speed
• Reliability
• Global Scale
• Performance
• Productivity
CLOUD COMPUTING CS & BCA
167 A. SIVASANKARI , SIASC.
3. What are the types of Cloud?
• Public
• Private
• Hybrid
.
4. What are the advantages of Cloud?
• Cost Savings
• Strategic edge
• High Speed
• Back-up and restore data
• Automatic Software Integration
• Reliability
• Mobility
• Unlimited storage capacity
• Collaboration
• Quick Deployment
5. What are the disadvantages of Cloud?
• Performance Can Vary
• Technical Issues
• Security Threat in the Cloud
• Downtime
• Internet Connectivity
• Lower Bandwidth
• Lacks of Support
6. List out the benefits of Cloud.
1. On-Demand Self-service
2. Multi-tenancy
3. Offers Resilient Computing
4. Fast and effective virtualization
5. Provide you low-cost software
6. Offers advanced online security
7. Location and Device Independence
CLOUD COMPUTING CS & BCA
168 A. SIVASANKARI , SIASC.
8. Always available, and scales automatically to adjust to the increase in demand
9. Allows pay-per-use
7. List out the Cloud Computing Service Providers.
• Microsoft Azure
• Amazon Web Services
• Kamatera
• Cloudways
• DigitalOcean
• Rackspace
• MassiveGrid
• Alibaba Cloud
• Liquidweb
• Google Cloud Platform
8. What are the broad divisions of Cloud Computing Architecture?
The broad divisions of cloud architecture are:
• Front-end
• Back-end
Name the technologies specified by Cloud.
There are certain technologies working behind the cloud computing platforms making
cloud computing flexible, reliable, and usable. These technologies are listed below:
• Virtualization
• Service-Oriented Architecture (SOA)
• Grid Computing
• Utility Computing
9. What are the Cloud Services?
• Software as a Service
• Platform as a Service
• Infrastructure as a Service
• Identity as a Service
• Network as a Service
CLOUD COMPUTING CS & BCA
169 A. SIVASANKARI , SIASC.
5 MARK QUESTIONS
1. What are the basics of Cloud Computing? Summarize.
2. Draw a neat diagram of Cloud architecture and explain in detail.
3. Explain the services of Cloud Computing
4. Write notes on Benefits of Cloud.
5. Briefly notes on Cloud Storage.
10 MARK QUESTIONS
1. Explain in detail about the History of Cloud Computing.
2. State the requirements of Cloud. Explain its architectural components.
3. Describe the advantages and disadvantages of Cloud in detail.
4. Explain Cloud Storage in detail.
UNIT II: DEVELOPING CLOUD SERVICES
Multiple Choice Questions With Answers
1. A ______ Service Provider gets the same benifits of composable system that a user
does
a. CAAS
b. SAAS
c. PAAS
d. None
Ans : c
2. From the standpoint of an ________ it makes no sense to offer non-standard machine
instances to customers.
a. CAAS
b. SAAS
c. PAAS
d. IAAS
Ans : d
3. A Service Provider reselling an _______ may have the option to offer one module to
customize the information.
a. CAAS
b. SAAS
c. PAAS
CLOUD COMPUTING CS & BCA
170 A. SIVASANKARI , SIASC.
d. IAAS
Ans : b
4. Which one of the following is the highest degree of integration in cloud computing
a. CAAS
b. SAAS
c. PAAS
d. IAAS
Ans : b
5. Which of the architectural layer is used as front end in Cloud Computing.
a. Client
b. Cloud
c. Soft
d. none
Ans: a
6 Which of the component is called as hypervisor.
a. VMC
b. VCC
c. VMS
d. VMM
Ans : d
7. Applications such as a webserver or a database server that can run on a virtual
machine image are referred as?
a. Virtual Server
b. Virtual appliances
c. Machine Imaging
d. None of above
Ans : b
9.) ___________ allows different operating systems to run in their own memory space.
a. VMC
b. VCC
c. VMS
d. VMM
Ans : d
CLOUD COMPUTING CS & BCA
171 A. SIVASANKARI , SIASC.
2 MARK QUESTIONS
1. List out the types of Services in Cloud Computing?
There are four types of services. They are
• SAAS
• PAAS
• IAAS
2. What are the Physical Resources of Cloud Computing?
• Cluster computing
• Grid computing
• Utility computing
• Distributed Computing
3. What is Cluster Computing?
Cluster computing connects different computers in a single location via LAN to work
as a single computer. Improves the combined performance of the organization which
owns it
4. What is SAAS?
Cloud applications allow the cloud to be leveraged for software architecture, reducing the
burdens of maintenance, support, and operations by having the application run on computers
belonging to the vendor.
Example: Gmail, Salesforce.
5. What is PAAS?
Clouds are created, many times inside IaaS Clouds by specialists to render the scalability
and deployment of any application trivial and to help make your expenses scalable and
predictable. Some examples of a PaaS system include: Mosso, Google App Engine.
6. What is IAAS?
IaaS, gives business access to vital web architecture, such as storage space, servers, and
connections, without the business need of purchasing and managing this internet
infrastructure themselves. Because of the economies of scale and specialization involved, this
can be to the benefit of both the business providing the infrastructure and the one using it.
Example: Amazon Ec2, Rackspace Cloud.
CLOUD COMPUTING CS & BCA
172 A. SIVASANKARI , SIASC.
7. What is Google AppEngine?
Google App Engine (often referred to as GAE or simply App Engine) is a Platform as a
Service and cloud computing platform for developing and hosting web applications in
Google-managed data centers.
8. What is Amazon EC2?
Amazon Elastic Compute Cloud (Amazon EC2) is a web service that provides secure,
resizable compute capacity in the cloud. It is designed to make web-scale cloud computing
easier for developers.
9. What is meant by IBM Clouds.
IBM cloud computing is a set of cloud computing services for business offered by
the information technology company IBM. IBM cloud includes infrastructure as a
service (IaaS), software as a service (SaaS) and platform as a service (PaaS) offered through
public, private and hybrid cloud delivery models, in addition to the components that make
up those clouds.
5 MARK QUESTIONS
1. Summarize the types of Cloud Service development.
2. Explain about SAAS in detail.
3. Explain the services of PAAS in Cloud Computing
4. Write short notes on Web Services of Cloud.
5. Briefly notes on Amazon Ec2.
10 MARK QUESTIONS
1. Explain in detail about the Google AppEngine of Cloud Computing.
2. Explain the On demand computing of Cloud.
3. Describe the Development Services and tools of Cloud in detail.
4. Explain about IBM Clouds in detail.
5. Write about the types of Cloud Service Development. Explain each of them.
CLOUD COMPUTING CS & BCA
173 A. SIVASANKARI , SIASC.
UNIT III: CLOUD COMPUTING FOR EVERYONE
Multiple Choice Questions With Answers
1._______ describes a cloud service that can only be accessed by a limited amount of
people
a. Data Center
b. Public Cloud
c. Private Cloud
d. None
Ans : c
2. ________ describes a distribution model in which applications are hosted by a service
provider and made available to users.
a. CAAS
b. SAAS
c. PAAS
d. IAAS
Ans : d
3. Which feature of Cloud computing allows the service to change in size or volume in
order to meet a user needs
a. Security
b. Scalability
c. Virtualization
d. cost savings
Ans : c
4. Which one of the following is the highest degree of integration in cloud computing
a. CAAS
b. SAAS
c. PAAS
d. IAAS
Ans : b
CLOUD COMPUTING CS & BCA
174 A. SIVASANKARI , SIASC.
5. Which of the following is related to service provided by cloud.
a. Ownership
b. Sourcing
c. Reliability
d. AASS
Ans: b
6. Which of the architectural layer is used as front end in cloud computing.
a. Client
b. Cloud
c. Soft
d. Top
Ans : a
7. Communication between services is done widely using __________ protocol.
a. SOAP
b. REST
c. FTP
d. None of above
Ans : a
9.) ___________ refers to the location and management of the clouds infrastructure
a. Service
b. Deployment
c. Application
d. none
Ans : b
2 MARK QUESTIONS
1. What is Grid Computing?
Grid computing is a processor architecture that combines computer resources from
various domains to reach a main objective. In grid computing, the computers on the
network can work on a task together, thus functioning as a supercomputer.
2. What are the features of data grids?
The ability to integrate multiple distributed, heterogeneous and independently
managed data sources. The ability to provide data catching and/or replication mechanisms
CLOUD COMPUTING CS & BCA
175 A. SIVASANKARI , SIASC.
to minimize network traffic. The ability to provide necessary data discovery mechanisms,
which allow the user to find data based on characteristics of the data.
3. Define the term web service with example.
A web service is an application that operates over a network typically, over the
Internet. Most typically, a web service is an API that can be accessed over the Internet.
The service is then executed on a remote system that hosts the requested services. A good
example of web services are the “mashups” created by users of the Google Maps API.
With these custom apps, the data that feeds the map is provided by the developer, where
the engine that creates the map itself is provided by Google.
4. What are the issues in web based applications?
•Technical issues
•Business model issues
•Internet issues
•Security issues
•Compatibility issues
• Social issues
5. List the companies who offer cloud service development?
• Amazon
• Google App Engine
• IBM
• Salesforce.com
6. Mention the other Cloud service development tools.
• 3tera
• 10gen
• Cohesive Flexible Technologies
• Joyent
• Mosso
• Nirvanix
• Skytap
• StrikeIron
5 MARK QUESTIONS
6. Explain about Centralized Database.
7. Explain about the Client – Server Concept in Cloud.
8. Explain the services of PAAS in Cloud Computing
9. Write short notes on Collaborating on schedules Cloud.
CLOUD COMPUTING CS & BCA
176 A. SIVASANKARI , SIASC.
10 MARK QUESTIONS
1. Explain in detail about the Centralized Email Communications of Cloud Computing.
6. Explain the On demand computing of Cloud.
7. Describe the Cloud Computing for the community in detail.
8. Explain about Collaborating on group projects and events in detail.
CLOUD COMPUTING
UNIT IV: PROGRAMMING MODEL
2 MARK QUESTIONS
7. What is Distributed Programming?
Distributed computing is the use of distributed systems to solve single large problems
by distributing tasks to single computers in the distributing systems. On the other
hand, cloud computing is the use of network hosted servers to do several tasks like storage,
process and management of data. Here we will give an in-depth analysis of the two.
8. What is distributed computing
A distributed system is a system whose components are located on different networked
computers, which communicate and coordinate their actions by passing messages to one
another. The components interact with one another in order to achieve a common goal. Three
saignificant characteristics of distributed systems are: concurrency of components, lack of a
global clock, and independent failure of components.
Examples of distributed systems vary from SOA-based systems to massively multiplayer
online games to peer-to-peer applications.
3. What is MapReduce?
MapReduce is a processing technique and a program model for distributed
computing based on java. The MapReduce algorithm contains two important tasks, namely
Map and Reduce. Map takes a set of data and converts it into another set of data, where
individual elements are broken down into tuples (key/value pairs). Secondly, reduce task,
CLOUD COMPUTING CS & BCA
177 A. SIVASANKARI , SIASC.
which takes the output from a map as an input and combines those data tuples into a smaller
set of tuples. As the sequence of the name MapReduce implies, the reduce task is always
performed after the map job.
4. What are the terminologies used in Map reduce?
• PayLoad − Applications implement the Map and the Reduce functions, and form the
core of the job.
• Mapper − Mapper maps the input key/value pairs to a set of intermediate key/value
pair.
• NamedNode − Node that manages the Hadoop Distributed File System (HDFS).
• DataNode − Node where data is presented in advance before any processing takes
place.
• MasterNode − Node where JobTracker runs and which accepts job requests from
clients.
• SlaveNode − Node where Map and Reduce program runs.
• JobTracker − Schedules jobs and tracks the assign jobs to Task tracker.
• Task Tracker − Tracks the task and reports status to JobTracker.
• Job − A program is an execution of a Mapper and Reducer across a dataset.
• Task − An execution of a Mapper or a Reducer on a slice of data.
• Task Attempt − A particular instance of an attempt to execute a task on a SlaveNode.
5. What is the use of Hadoop?
Everyday a large amount of unstructured data is getting dumped into our machines.
The major challenge is not to store large data sets in our systems but to retrieve and analyze
the big data in the organizations, that too data present in different machines at different
locations. In this situation a necessity for Hadoop arises. Hadoop has the ability to analyze
the data present in different machines at different locations very quickly and in a very cost
effective way. It uses the concept of MapReduce which enables it to divide the query into
small parts and process them in parallel. This is also known as parallel computing.
6. What is Fault Tolerance?
Suppose you have a file stored in a system, and due to some technical problem that file
gets destroyed. Then there is no chance of getting the data back present in that file. To avoid
such situations, Hadoop has introduced the feature of fault tolerance in HDFS. In Hadoop,
when we store a file, it automatically gets replicated at two other locations also. So even if
one or two of the systems collapse, the file is still available on the third system.
CLOUD COMPUTING CS & BCA
178 A. SIVASANKARI , SIASC.
7. Name the three modes to run Hadoop?
The three modes in which Hadoop can be run are
• standalone (local) mode
• Pseudo-distributed mode
• Fully distributed mode
8. What is a Datanode?
Datanodes are the slaves which are deployed on each machine and provide the
actual storage. These are responsible for serving read and write requests for the clients.
5 MARK QUESTIONS
10. Explain about Distributed Programming Paradigm.
11. Differentiate between Parallel and Distributed Programming Paradigm.
12. Explain the concept of Map Reduce.
13. Write short notes on Google Cloud Environments.
10 MARK QUESTIONS
1. Explain in detail about the Distributed Computing.
9. Explain the Twister and Iterative Map Reduce methods of map reduce.
10. Describe the Hadoop Library from Apache in detail.
11. Explain about Google Cloud Environments in detail.
12. Explain about Google App Engine in detail.
UNIT V
2 MARK QUESTIONS
1.What are the security issues in Cloud Computing?
• Distributed-Denial-of-Service Attacks
• Shared Cloud Computing Services
• Employee Negligence
• Data Loss and Inadequate Data Backups
• Phishing and Social Engineering Attacks
• System Vulnerabilities
2.What is Distributed DOS Attack?
When cloud computing first became popular, Distributed Denial-of-Service (DDoS)
attacks against cloud platforms were largely unthinkable; the sheer amount of resources cloud
CLOUD COMPUTING CS & BCA
179 A. SIVASANKARI , SIASC.
computing services had made DDoS attacks extremely difficult to initiate. But with as many
Internet of Things devices, smartphones, and other computing systems as there are available
now, DDoS attacks have greatly increased in viability. If enough traffic is initiated to a cloud
computing system, it can either go down entirely or experience difficulties.
3.What are the mechanisms for data protection.
I) Access Control
ii) Auditing
iii) Authentication
iv) Authorization List the companies who offer cloud service development?
4.What are the challenges in Cloud Computing
Following diagram shows the major challenges in cloud computing.
5.What is Software-as-a-Service (SaaS)
• SaaS is known as 'On-Demand Software'.
• It is a software distribution model. In this model, the applications are hosted by a
cloud service provider and publicized to the customers over internet.
• In SaaS, associated data and software are hosted centrally on the cloud server.
• User can access SaaS by using a thin client through a web browser.
CLOUD COMPUTING CS & BCA
180 A. SIVASANKARI , SIASC.
• CRM, Office Suite, Email, games, etc. are the software applications which are
provided as a service through Internet.
• The companies like Google, Microsoft provide their applications as a service to the
end users.
6.What are the advantages of SaaS
SaaS is easy to buy because the pricing of SaaS is based on monthly or annual fee
and it allows the organizations to access business functionalities at a small cost, which is less
than licensed applications.
SaaS needed less hardware, because the software is hosted remotely, hence
organizations do not need to invest in additional hardware.
Less maintenance cost is required for SaaS and do not require special software or hardware
versions.
7.What are the disadvantages of SaaS
SaaS applications are totally dependent on Internet connection. They are not usable without
Internet connection.
It is difficult to switch amongst the SaaS vendors.
5 MARK QUESTIONS
14. Explain about Security issues in Cloud.
15. Explain about the SAAS in Cloud.
16. Explain the services Security Governance in Cloud Computing.
17. Write short notes on the types of security Cloud.
10 MARK QUESTIONS
1. Explain in detail about the Cloud Security Challenges and Risks in Cloud Computing.
13. Explain in detail about types of security in Cloud.
14. Describe the Identity Management and Access Control in detail.
15. Explain about Security Architecture Design in detail.

CLOUD COMPUTING BY SIVASANKARI

  • 1.
    CLOUD COMPUTING CS& BCA 1 A. SIVASANKARI , SIASC. CLOUD COMPUTING DEPARTMENT OF COMPUTER SCIENCE AND COMPUTER APPLICATIONS Ms. A. SIVASANKARI ASSISTANT PROFESSOR DEPT OF COMPUTER APPLICATIONS SHANMUGA INDUSTRIES ARTS AND SCIENCE COLLEGE, TIRUVANNAMALAI, 606601. Dr. M. SOBIA ASSISTANT PROFESSOR DEPT OF COMPUTER APPLICATIONS DONBOSCO COLLEGE TIRUPATTUR. Mr. R. RAJESH BABU TEACHER GOVT GIRLS HIGHER SEC SCHOOL, VILLUPURAM.
  • 2.
    CLOUD COMPUTING CS& BCA 2 A. SIVASANKARI , SIASC. SYLLABUS CLOUD COMPUTING Objective: To enable the students to learn the basic functions, principles and concepts of cloud Systems. UNIT I: UNDERSTANDING CLOUD COMPUTING Cloud Computing – History of Cloud Computing – Cloud Architecture – Cloud Storage – Why Cloud Computing Matters – Advantages of Cloud Computing – Disadvantages of Cloud Computing – Cloud Services. UNIT II: DEVELOPING CLOUD SERVICES Types of Cloud Service Development – Software as a Service – Platform as a Service – Web Services – On-Demand Computing – Discovering Cloud Services Development Services and Tools – Amazon Ec2 – Google App Engine – IBM Clouds. UNIT III: CLOUD COMPUTING FOR EVERYONE Centralizing Email Communications – Collaborating on Schedules – Collaborating on To-Do Lists – Cloud Computing for the Community – Collaborating on Group Projects and Events. UNIT IV: PROGRAMMING MODEL Parallel and Distributed Programming Paradigms – Map Reduce, Twister and Iterative Map Reduce – Hadoop Library from Apache – Mapping Applications - Programming Support - Google App Engine, Amazon AWS - Cloud Software Environments -Eucalyptus, Open Nebula, Open Stack, Aneka, CloudSim. UNIT V: SECURITY IN THE CLOUD Security Overview - Cloud Security Challenges and Risks - Software-as-a-Service Security- Security Governance - Risk Management - Security Monitoring - Security Architecture Design - Data Security - Application Security - Virtual Machine Security - Identity Management and Access Control - Autonomic Security.
  • 3.
    CLOUD COMPUTING CS& BCA 3 A. SIVASANKARI , SIASC. TEXT BOOK: 1. Michael Miller, “Cloud Computing: Web-Based Applications That Change the Way You Work and Collaborate Online”, Que Publishing, August 2008. REFERENCES: 1. Kai Hwang, Geoffrey C Fox, Jack G Dongarra, “Distributed and Cloud Computing, From Parallel Processing to the Internet of Things”, Morgan Kaufmann Publishers, 2012. 2. John W.Rittinghouse and James F.Ransome, “Cloud Computing: Implementation, Management, and Security”, CRC Press, 2010. 3. Toby Velte, Anthony Velte, Robert Elsenpeter, “Cloud Computing, A Practical Approach”, TMH, 2009. 4. Kumar Saurabh, “Cloud Computing – insights into New-Era Infrastructure”, Wiley India, 2011. 5. George Reese, “Cloud Application Architectures: Building Applications and Infrastructure in the Cloud” O'Reilly . 6. Arshdeep Bahga, Vijay Madisetti, “Cloud Computing - A Hands-On Approach”, CreateSpace Independent Publishing Platform; 1 edition (December 9, 2013) 7. Barrie Sosinsky,”Cloud Computing Bible”, John Wiley & Sons,2010 8. Rajkumar Buyya, James Broberg, Andrzej M. Goscinski, “Cloud Computing: Principles and Paradigms”, John Wiley & Sons. ,2010. 9. Rajkumar Buyya, Christian Vecchiola , S. ThamaraiSelvi, “Mastering Cloud Computing “ Morgan Kaufmann,2013.
  • 4.
    CLOUD COMPUTING CS& BCA 4 A. SIVASANKARI , SIASC. UNIT – I CLOUD COMPUTING 1. INTRODUCTION Cloud Computing provides us means of accessing the applications as utilities over the Internet. It allows us to create, configure, and customize the applications online. 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 public and private networks, i.e., WAN, LAN or VPN. Applications such as e-mail, web conferencing, customer relationship management (CRM) execute on cloud. Cloud Computing refers to manipulating, configuring, and accessing the hardware and software resources remotely. It offers online data storage, infrastructure, and application. Computing is being transformed into a model consisting of services that are commoditized and delivered in manner similar utilities such as water, electricity, gas, and telephony. In such a model, users access services based on their requirements, regardless of where the services are hosted. Several computing paradigms, such as s grid computing, have promised to deliver this utility Computing vision. Cloud computing is the most recent emerging paradigm promising to turn the vision of “computing utilities” into are laity. Cloud computing is a technological advancement that focuses on the way we design computing systems, develop applications, and leverage existing services for building software. It is based on the concept of dynamic provisioning, which is applied not only to services but also to compute capability, storage, networking, and information technology(IT) infrastructure in general. Resources are made available through the Internet and offered on a pay-per-use basis from cloud computing vendors. Today, anyone with a credit card can subscribe to cloud services and deploy and configure servers for an application in hours, growing and shrinking the infrastructure serving its application according to the demand, and paying only for the time these resources have been used. Cloud computing has become a popular buzzword; it has been widely used to refer to different technologies, services, and concepts. It is often associated with virtualized
  • 5.
    CLOUD COMPUTING CS& BCA 5 A. SIVASANKARI , SIASC. infrastructure or hard- ware on demand, utility computing, IT outsourcing, platform and software as a service, and many other things that now are the focus of the IT industry. Characteristics and benefits Cloud computing has some interesting characteristics that bring benefits to both cloud service consumers (CSCs) and cloud service providers (CSPs). These characteristics are: • No up-front commitments • On-demand access • Nice pricing • Simplified application acceleration and scalability • Efficient resource allocation • Energy efficiency • Seamless creation and use of third-party services Principles of Parallel and Distributed Computing Cloud computing is a new technological trend that supports better utilization of IT infrastructures, services, and applications. It adopts a service delivery model based on a pay- per-use approach, in which users do not own infrastructure, platform, or applications but use them for the time they need them. These IT assets are owned and maintained by service providers who make them accessible through the Internet. This chapter presents the fundamental principles of parallel and distributed computing and dis- cusses models and conceptual frameworks that serve as foundations for building cloud computing systems and applications. Eras of computing. The two fundamental and dominant models of computing are sequential and parallel. This quintal computing era began in the1940s; The parallel (and distributed) computing era followed it within a decade. The four key elements of computing developed during the seer as are architectures, compilers, applications, and problem solving environments. The computing era started with a development in hardware architectures, which actually enabled the creation of system software particularly in the area of compilers and operating systems which support the management to such systems and the development to applications. The development of applications and systems are the major element of interest to us, and it comes to consolidation
  • 6.
    CLOUD COMPUTING CS& BCA 6 A. SIVASANKARI , SIASC. when problem solving environments were designed and introduced to facilitate and empower engineers. This is when the paradigm characterizing the computing achieved maturity and became main stream. Moreover, every aspect of this era underwent a three-phase process: research and development (R&D), commercialization, and commoditization Parallel vs. distributed computing The terms parallel computing and distributed computing are often used interchangeably, even though they means lightly different things. The term parallel implies a tightly coupled system, whereas distributed refers to a wider class of system, including those that are tightly coupled. More precisely, the term parallel computing refers to a model in which the computation is divided among several processors sharing the same memory. The architecture of a parallel computing system is often characterized by the homogeneity of components: each processor is of the same type and it has the same capability as the others. The shared memory has a single address space, which is accessible to all the processors. Parallel programs are then broken down in to several units of execution that can be allocated to different processors and can communicate with each other by means of the shared memory. Originally we considered parallel systems only those architectures that featured multiple processors sharing the same physical memory and that were considered a single computer. Overtime, these restrictions have been relaxed, and parallel systems now include all architectures that are based on the concept of shared memory, whether this is physically present or created with the support of libraries, specific hardware, and a highly efficient networking infrastructure. For example, a cluster of which the nodes are connected through an Infinib and network and configured with a distributed shared memory system can be considered a parallel system. The term distributed computing encompasses any architecture or system that allows the computation to be broken down in to units and executed concurrently on different computing elements, whether these are processors on different nodes , processors on the same computer, or cores within the same processor. Therefore, distributed computing includes a wider range of systems and applications than parallel computing and is often considered a more general term. Even though it is not a rule, the term distributed often implies that the locations of the computing elements are not the same and such elements might be heterogeneous in terms of hard ware and software features. Classic examples of distributed computing systems are computing grids or Internet computing systems, which combine together the biggest variety of architectures, systems, and applications in the world.
  • 7.
    CLOUD COMPUTING CS& BCA 7 A. SIVASANKARI , SIASC. Cloud computing might sound far-fetched, but chances are you’re already using some cloud applications. If you’re using a web-based email program, such as Gmail or Hotmail, you’re computing in the cloud. If you’re using a web-based application such as Google Calendar or Apple Mobile Me, you’re computing in the cloud. If you’re using a file- or photo-sharing site, such as Flickr or Picasa Web Albums, you’re computing in the cloud. It’s the technology of the future, available to use today. The emergence of cloud computing is the computing equivalent of the electricity revolution of a century ago. Before the advent of electrical utilities, every farm and business produced its own electricity from freestanding generators. After the electrical grid was created, farms and businesses shut down their generators and bought electricity from the utilities, at a much lower price (and with much greater reliability) than they could produce on their own. FIGURE 1.1 CLOUD COMPUTING Look for the same type of revolution to occur as cloud computing takes hold. The desktop-centric notion of computing that we hold today is bound to fall by the wayside as we come to expect the universal access, 24/7 reliability, and ubiquitous collaboration promised by cloud computing. Cloud computing offers platform independency, as the software is not required to be installed locally on the PC. Hence, the Cloud Computing is making our business applications mobile and collaborative. The key to cloud computing is the “cloud”—a massive network of servers or even individual PCs interconnected in a grid. These computers run in parallel, combining the resources of each to generate supercomputing-like power
  • 8.
    CLOUD COMPUTING CS& BCA 8 A. SIVASANKARI , SIASC. 1.2 PROPERTIES OF CLOUD COMPUTING It might help to examine how one of the pioneers of cloud computing, Google, perceives the topic. From Google’s perspective, there are six key properties of cloud computing: • Cloudcomputingis user-centric. Once you as a user are connected to the cloud, whatever is stored there documents, messages, images, applications, whatever becomes yours. In addition, not only is the data yours, but you can also share it with others. In effect, any device that accesses your data in the cloud also becomes yours. • Cloudcomputingistask-centric. Instead of focusing on the application and what it can do, the focus is on what you need done and how the application can do it for you., Traditional applications word processing, spreadsheets, email, and so on are becoming less important than the documents they create. • Cloud computing is powerful. Connecting hundreds or thousands of computers together in a cloud creates a wealth of computing power impossible with a single desktop PC. • Cloud computing is accessible. Because data is stored in the cloud, users can instantly retrieve more information from multiple repositories. You’re not limited to a single source of data, as you are with a desktop PC. • Cloudcomputingisintelligent. With all the various data stored on the computers in a cloud, data mining and analysis are necessary to access that information in an intelligent manner. • Cloud computing is programmable. Many of the tasks necessary with cloud computing must be automated. For example, to protect the integrity of the data, information stored on a single computer in the cloud must be replicated on other computers in the cloud. If that one computer goes offline, the cloud’s programming automatically redistributes that computer’s data to a new computer in the cloud.
  • 9.
    CLOUD COMPUTING CS& BCA 9 A. SIVASANKARI , SIASC. User Interface System Services User Web FIGURE 1.2 PROPERTIES OF CLOUD COMPUTING 1.3 BASIC CONCEPTS There are certain services and models working behind the scene making the cloud computing feasible and accessible to end users. Following are the working models for cloud computing: • Deployment Models • Service Models DEPLOYMENT MODELS 1.4 TYPES OF CLOUD Deployment models define the type of access to the cloud, i.e., how the cloud is located? Cloud can have any of the four types of access: Public, Private, Hybrid, and Community. FIGURE 1.3 TYPES OF CLOUD
  • 10.
    CLOUD COMPUTING CS& BCA 10 A. SIVASANKARI , SIASC. PUBLIC CLOUD The public cloud allows systems and services to be easily accessible to the general public. Public cloud may be less secure because of its openness. PRIVATE CLOUD The private cloud allows systems and services to be accessible within an organization. It is more secured because of its private nature. COMMUNITY CLOUD The community cloud allows systems and services to be accessible by a group of organizations. HYBRID CLOUD The hybrid cloud is a mixture of public and private cloud, in which the critical activities are performed using private cloud while the non-critical activities are performed using public cloud. 1.4 HISTORY OF CLOUD COMPUTING The concept of Cloud Computing came into existence in the year 1950 with implementation of mainframe computers, accessible via thin/static clients. Since then, cloud computing has been evolved from static clients to dynamic ones and from software to services. The following diagram explains the evolution of cloud computing: FIGURE 1.4 HISTORY OF CLOUD 1.5 BEBEFITS OF CLOUD COMPUTING Cloud Computing has numerous advantages. Some of them are listed below - • One can access applications as utilities, over the Internet. • One can manipulate and configure the applications online at any time.
  • 11.
    CLOUD COMPUTING CS& BCA 11 A. SIVASANKARI , SIASC. • It does not require to install a software to access or manipulate cloud application. • Cloud Computing offers online development and deployment tools, programming runtime environment through PaaS model. • Cloud resources are available over the network in a manner that provide platform independent access to any type of clients. • Cloud Computing offers on-demand self-service. The resources can be used without interaction with cloud service provider. • Cloud Computing is highly cost effective because it operates at high efficiency with optimum utilization. It just requires an Internet connection • Cloud Computing offers load balancing that makes it more reliable. FIGURE 1.5 BENEFITS OF CLOUD Risks related to Cloud Computing Although cloud Computing is a promising innovation with various benefits in the world of computing, it comes with risks. Some of them are discussed below: Security and Privacy It is the biggest concern about cloud computing. Since data management and infrastructure management in cloud is provided by third-party, it is always a risk to handover the sensitive information to cloud service providers. Although the cloud computing vendors ensure highly secured password protected accounts, any sign of security breach may result in loss of customers and businesses.
  • 12.
    CLOUD COMPUTING CS& BCA 12 A. SIVASANKARI , SIASC. Lock In It is very difficult for the customers to switch from one Cloud Service Provider (CSP) to another. It results in dependency on a particular CSP for service. Isolation Failure This risk involves the failure of isolation mechanism that separates storage, memory, and routing between the different tenants. Management Interface Compromise In case of public cloud provider, the customer management interfaces are accessible through the Internet. Insecure or Incomplete Data Deletion It is possible that the data requested for deletion may not get deleted. It happens because either of the following reasons • Extra copies of data are stored but are not available at the time of deletion • Disk that stores data of multiple tenants is destroyed. 1.6 CHARACTERISTICS OF CLOUD COMPUTING There are four key characteristics of cloud computing. They are shown in the following diagram: FIGURE 1.6 CHARACTERISTICS OF CLOUD
  • 13.
    CLOUD COMPUTING CS& BCA 13 A. SIVASANKARI , SIASC. On Demand Self Service Cloud Computing allows the users to use web services and resources on demand. One can logon to a website at any time and use them. Broad Network Access Since cloud computing is completely web based, it can be accessed from anywhere and at any time. Resource Pooling Cloud computing allows multiple tenants to share a pool of resources. One can share single physical instance of hardware, database and basic infrastructure. Rapid Elasticity It is very easy to scale the resources vertically or horizontally at any time. Scaling of resources means the ability of resources to deal with increasing or decreasing demand. The resources being used by customers at any given point of time are automatically monitored. Measured Service In this service cloud provider controls and monitors all the aspects of cloud service. Resource optimization, billing, and capacity planning etc. depend on it. 1.7 CLOUD COMPUTING ARCHITECTURE Cloud Computing architecture comprises of many cloud components, which are loosely coupled. We can broadly divide the cloud architecture into two parts: • Front End • Back End Each of the ends is connected through a network, usually Internet. The following diagram shows the graphical view of cloud computing architecture: Front End The front end refers to the client part of cloud computing system. It consists of interfaces and applications that are required to access the cloud computing platforms, Example - Web Browser. Back End The back End refers to the cloud itself. It consists 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.
  • 14.
    CLOUD COMPUTING CS& BCA 14 A. SIVASANKARI , SIASC. FIGURE 1.7 CLOUD ARCHITECTURE Note • It is the responsibility of the back end to provide built-in security mechanism, traffic control and protocols. • The server employs certain protocols known as middleware, which help the connected devices to communicate with each other. 1.8 WHY CLOUD COMPUTING MATTERS For developers, cloud computing provides increased amounts of storage and processing power to run the applications they develop. Cloud computing also enables new ways to access information, process and analyse data, and connect people and resources from any location anywhere in the world. In essence, it takes the lid off the box; with cloud computing, developers are no longer boxed in by physical constraints. For end users, cloud computing offers all those benefits and more. A person using a web-based application isn’t physically bound to a single PC, location, or network. His applications and documents can be accessed wherever he is, whenever he wants. Gone is the fear of losing data if a computer crashes. Documents hosted in the cloud always exist, no matter what happens to the user’s machine. And then there’s the benefit of group collaboration. Users from around the world can collaborate on the same documents, applications, and projects,
  • 15.
    CLOUD COMPUTING CS& BCA 15 A. SIVASANKARI , SIASC. in real time. It’s a whole new world of collaborative computing, all enabled by the notion of cloud computing. And cloud computing does all this at lower costs, because the cloud enables more efficient sharing of resources than does traditional network computing. With cloud computing, hardware doesn’t have to be physically adjacent to a firm’s office or data center. Cloud infrastructure can be located anywhere, including and especially areas with lower real estate and electricity costs. In addition, IT departments don’t have to engineer for peak-load capacity, because the peak load can be spread out among the external assets in the cloud. And, because additional cloud resources are always at the ready, companies no longer have to purchase assets for infrequent intensive computing tasks. If you need more processing power, it’s always there in the cloud and accessible on a cost efficient basis. 1.9 CLOUD COMPUTING INFRASTRUCTURE Cloud infrastructure consists of servers, storage devices, network, cloud management software, deployment software, and platform virtualization. FIGURE 1.8 CLOUD COMPUTING INFRASTRUCTURE Hypervisor Hypervisor is a firmware or low-level program that acts as a Virtual Machine Manager. It allows sharing the single physical instance of cloud resources between several tenants. Management Software It helps to maintain and configure the infrastructure. Deployment Software It helps to deploy and integrate the application on the cloud. Network
  • 16.
    CLOUD COMPUTING CS& BCA 16 A. SIVASANKARI , SIASC. It is the key component of cloud infrastructure. It allows connecting cloud services over the Internet. It is also possible to deliver network as a utility over the Internet, which means, the customer can customize the network route and protocol. Server The server helps to compute the resource sharing and offers other services such as resource allocation and de-allocation, monitoring the resources, providing security etc. Storage Cloud keeps multiple replicas of storage. If one of the storage resources fails, then it can be extracted from another one, which makes cloud computing more reliable. Infrastructural Constraints Fundamental constraints that cloud infrastructure should implement are shown in the following diagram: FIGURE 1.9 FUNDAMENTAL CONSTRAINTS OF CLOUD Transparency Virtualization is the key to share resources in cloud environment. But it is not possible to satisfy the demand with single resource or server. Therefore, there must be transparency in resources, load balancing and application, so that we can scale them on demand. Scalability Scaling up an application delivery solution is not that easy as scaling up an application because it involves configuration overhead or even re-architecting the network. So, application delivery solution is need to be scalable which will require the virtual infrastructure such that resource can be provisioned and de-provisioned easily. Intelligent Monitoring
  • 17.
    CLOUD COMPUTING CS& BCA 17 A. SIVASANKARI , SIASC. To achieve transparency and scalability, application solution delivery will need to be capable of intelligent monitoring. Security The mega data centre in the cloud should be securely architected. Also the control node, an entry point in mega data centre, also needs to be secure. 1.10 CLOUD COMPUTING DATA STORAGE 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 1.10.1 BLOCK STORAGE DEVICES The block storage devices offer raw storage to the clients. These raw storage are partitioned to create volumes. 1.10.2 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). 1.10.3 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. 1.10.4 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.
  • 18.
    CLOUD COMPUTING CS& BCA 18 A. SIVASANKARI , SIASC. To aggregate the storage assets into cloud storage systems, the cloud provider can use storage virtualization software known as Storage GRID. 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 Storage GRID virtualizes the storage into storage clouds: FIGURE 1.10 CLOUD STORAGE SYSTEM 1.10.5 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:
  • 19.
    CLOUD COMPUTING CS& BCA 19 A. SIVASANKARI , SIASC. FIGURE 1.11 VIRTUAL STORAGE CONTAINERS 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. Cloud storage is a way of storing data online. It requires an internet connection in order to maintain, manage, and share documents, presentations, spreadsheets, images, audio, video, etc. with others. Online storage service providers don't store any data on the hard disk of your PC. Cloud storage tools help you to access your data from any device. 1.11 CLOUD STORAGE TOOLS Following is a handpicked list of top cloud storage tools, with popular features and latest download links. 1) Google Drive
  • 20.
    CLOUD COMPUTING CS& BCA 20 A. SIVASANKARI , SIASC. Google Drive is a free online data storage service provided by Google. The service syncs stored files, photos, and more across all the user's PCs, tablets, and mobile devices. It offers 15 GB of free space. Features: • You can build Docs, Sheets, Slides. • It provides real time synchronization. • You can create forms that help you to run a survey. • The tool can be used for macOS. • Integrates with thousands of external apps like a mind map, Gantt chart, diagram tools, etc. • It allows to store documents up to 1.02 million characters, spreadsheets up to 5 million cells, presentation up to 100 MB, and Google Sites up to 2000,000 characters per page. Download Link: https://www.google.com/drive/ 2) Box Box is a cloud file management and sharing service. This tool is available for Windows, macOS, and mobile platforms. Features: • You can use Windows Explorer or Mac Finder to quickly search the file you want. • Edit like a local file and Box will save it to the cloud. • Allows you to invite the team to make changes and upload files. • Enable admin to add external users to collaborate content and control the version. Download Link: https://www.box.com/en-gb/drive 3) OneDrive
  • 21.
    CLOUD COMPUTING CS& BCA 21 A. SIVASANKARI , SIASC. Microsoft OneDrive is an internet-based storage and synchronization service provider. It is available for free to all the people having Microsoft account. OneDrive apps can be used to sync files on a Windows PC or Mac operating system. Features: • Use your phone to scan and business cards, receipts, whiteboard notes, or store paper documents in OneDrive. • You can set an expiration date of shared files, photos, and links for security purpose. • Allows uploading files up to 15 GB in size. Download Link: https://onedrive.live.com/about/en-in/ 4) Mega Mega is an online storage and file hosting service provided by Mega Limited. Mega is available for Windows, Mac, and Linux platform. Features: • It offers 50 GB free storage space. • It uses keys to encrypt files and chats. • Mega allows you to sync files and folders. • Upload or download 1 GB data every 6 hours Download Link: https://mega.nz/ 5) Yandex Disk
  • 22.
    CLOUD COMPUTING CS& BCA 22 A. SIVASANKARI , SIASC. Yandex Disk is a cloud service that allows users to store files on cloud servers and share with others. Disk is available on Windows, macOS as well as Linux. It is available in two plans Annual and Monthly subscription. Features: • Allows uploading maximum 50 GB file size. User can sync data between different devices. • Provides free access to Microsoft Word, Excel, and PowerPoint. • Offer you to download files from public pages without any hassle. Download Link: https://disk.yandex.com/ 6) Upthere Upthere offer you to store videos, photos, music, and documents safely and privately in the cloud. This platform is based on UpOS technology to store, manage, share data. Upthere is available for iPhone, Android, Mac, and Windows. Features: • Share any number of files without any size limitation. • It enables you to create privately shared loops for celebrations, trips, or whatever works good for you. • Anyone can invite other people, add content, and comment. Download Link: https://upthere.com/ 7) Media Fire MediaFire is a file hosting, cloud storage, and synchronization service. It provides an easy-to-use solution for managing digital stuff online as well as on the go. MediaFire can be used for iPhone, Windows, OSX, Web, and Android. Features: • Maximum file uploading limit is 20 GB • It offers the professional an ad-free experience to employees. • Lets you to paste link in any files and MediaFire will upload to your account
  • 23.
    CLOUD COMPUTING CS& BCA 23 A. SIVASANKARI , SIASC. • Allows you to specify access control. Download Link: https://www.mediafire.com/ 8) Koofr Koofr is a cloud storage solution that connects Dropbox, Amazon, Google Drive, OneDrive accounts and utilizes the additional free space on a hard drive. The tool is available for Android, iOS, Windows, Linux, Windows, and macOS. Features: • Automatic backup from phones. • Synchronization data with computers. • No file type and size limits, upload anything you want to keep safe. • It provides automatic backup of photos and videos from the mobile phone. Download Link: https://koofr.eu/ 9) Icedrive Icedrive is the next generation cloud service that helps you to access, manage, and update your cloud storage effortlessly. It provides a space to share, showcase, and collaborate with your files. Features: • It allows you to store files up to 100 TB. • Sync all your data from the computer. • Icedrive provides clean and easy to use interface to manage your files. Download Link: https://icedrive.net/ 10) MiMedia MiMedia is a cloud-based backup service that allows you to manage and enjoy your digital life. It helps you to curate your personalized collection. Features:
  • 24.
    CLOUD COMPUTING CS& BCA 24 A. SIVASANKARI , SIASC. • It allows you to access and organize music, photos, videos, and documents on all devices. • You can download a desktop app to your PC or Mac and put any content in the cloud. • Import from Dropbox, Google, Flickr, and Facebook. Download Link: http://www.mimedia.com 11) IDrive IDrive provides service for data backup. This service is available to Windows, Linux, iOS, Android, and Mac users. Features: • IDrive provides 5 GB free • Users can organize and monitor backups of their PC from the web interface. • Users can upload or download files up to 2 GB in size. • It provides the best solution to protect all computers, Macs, iPhones, and Android devices into one account. Download Link: https://www.idrive.com/ 12) ICloud ICloud is a cloud storage service managed by Apple Inc. It is a service where users can save any files on the cloud, and iCloud will automatically sync to your device. You can use this service for Mac and Windows PCs. Features: • It provides 5GB of free iCloud storage • File size uploading limit is 15 GB. • Many people can work together by simply sending a link. • Lets you to collaborate with numbers, Keynote, Pages, and Notes. Download Link: https://www.apple.com/in/icloud/
  • 25.
    CLOUD COMPUTING CS& BCA 25 A. SIVASANKARI , SIASC. 13) Amazon Drive Amazon Drive or Amazon Cloud Drive is a cloud storage application of Amazon. The service provides secure cloud storage, file sharing, photo printing, and file backup. Features: • It helps you to organize and edit photos online. • Amazon Drive automatically backs up the photos and videos on your phone. • Allows you to Sync files and folders. Download Link: https://www.amazon.com/b?ie=UTF8&node=15547130011 14) Sync Sync.com is a cloud service for sharing files from any computer or mobile device. Sync provides an ideal solution for storing and sharing confidential and sensitive data. Features: • Sync allows you to send files of any size to anyone, even if they don't have a registered. • Performance becomes slower if you upload files larger than 40 GB. • Synch can support Windows, Mac, iOS, and Android. • It gives unlimited data transfer for all the plans. Download Link: https://www.sync.com/ 15) Dropbox
  • 26.
    CLOUD COMPUTING CS& BCA 26 A. SIVASANKARI , SIASC. Name Link Free Space Google Drive https://www.google.com/drive/ 15GB Box https://www.box.com/en-gb/drive 10GB OneDrive https://www.pcloud.com/ 5GB Mega https://mega.nz/ 50GB Yandex Disk https://disk.yandex.com/ 50GB Upthere https://upthere.com/ 20GB Media Fire https://www.mediafire.com/ 10GB Koofr https://koofr.eu/ 10GB Ice Drive https://icedrive.net/ 10GB MiMedia http://www.mimedia.com 10GB IDrive https://www.idrive.com/ 5GB iCloud https://www.apple.com/in/icloud/ 5GB Amazon Drive https://www.amazon.com/b?ie=UTF8&node=15547130011 5GB Sync https://www.sync.com/ 5GB Dropbox https://www.dropbox.com/ 2GB Jumpshare https://jumpshare.com/ 2GB
  • 27.
    CLOUD COMPUTING CS& BCA 27 A. SIVASANKARI , SIASC. Dropbox is a file hosting service providing personal cloud, file synchronization, cloud storage, and client software. It is designed to collaborate your projects whether you are working alone or in a team. Features: • It offers you to safely sync data across all devices. • Your file size should be 50 GB or smaller • Service is available for macOS, Linux, and Windows operating systems. Download Link: https://www.dropbox.com/ 16) Jumpshare Jumpshare combines screenshot capture, file sharing, video recording, as well as team collaboration. It allows you to to send and share unlimited big size file. Features: • It helps you to capture and share anything • Jumpshare has drag and drop facility to share any file. • Allows you to capture screenshots • You can record your screen in GIF or video. • This service can be used on macOS, Android, Windows, iPad, and iPhone. Download Link: https://jumpshare.com/ 1.12 ADVANTAGES AND DISADVANTAGES OF CLOUD COMPUTING Cloud computing is a term referred to storing and accessing data over the internet. It doesn't store any data on the hard disk of your personal computer. In cloud computing, you can access data from a remote server. 1.12.1 ADVANTAGES OF CLOUD COMPUTING Here, are important benefits for using Cloud computing in your organization:
  • 28.
    CLOUD COMPUTING CS& BCA 28 A. SIVASANKARI , SIASC. FIGURE 1.12 BENEFITS OF CLOUD COMPUTING Cost Savings Cost saving is the biggest benefit of cloud computing. It helps you to save substantial capital cost as it does not need any physical hardware investments. Also, you do not need trained personnel to maintain the hardware. The buying and managing of equipment is done by the cloud service provider. Strategic edge Cloud computing offers a competitive edge over your competitors. It helps you to access the latest and applications any time without spending your time and money on installations. High Speed Cloud computing allows you to deploy your service quickly in fewer clicks. This faster deployment allows you to get the resources required for your system within fewer minutes. Back-up and restore data Once the data is stored in a Cloud, it is easier to get the back-up and recovery of that, which is otherwise very time taking process on premise. Automatic Software Integration In the cloud, software integration is something that occurs automatically. Therefore, you don't need to take additional efforts to customize and integrate your applications as per your preferences.
  • 29.
    CLOUD COMPUTING CS& BCA 29 A. SIVASANKARI , SIASC. Reliability Reliability is one of the biggest pluses of cloud computing. You can always get instantly updated about the changes. Mobility Employees who are working on the premises or at the remote locations can easily access all the could services. All they need is an Internet connectivity. Unlimited storage capacity The cloud offers almost limitless storage capacity. At any time you can quickly expand your storage capacity with very nominal monthly fees. Collaboration The cloud computing platform helps employees who are located in different geographies to collaborate in a highly convenient and secure manner. Quick Deployment Last but not least, cloud computing gives you the advantage of rapid deployment. So, when you decide to use the cloud, your entire system can be fully functional in very few minutes. Although, the amount of time taken depends on what kind of technologies are used in your business. Other Important Benefits Apart from the above, some other advantages of cloud computing are: • On-Demand Self-service • Multi-tenancy • Offers Resilient Computing • Fast and effective virtualization • Provide you low-cost software • Offers advanced online security • Location and Device Independence • Always available, and scales automatically to adjust to the increase in demand • Allows pay-per-use • Web-based control & interfaces • API Access available. 1.12.2 DISADVANTAGES OF CLOUD COMPUTING Here, are significant challenges of using Cloud Computing:
  • 30.
    CLOUD COMPUTING CS& BCA 30 A. SIVASANKARI , SIASC. FIGURE 1.13 CHALLENGES OF CLOUD Performance Can Vary When you are working in a cloud environment, your application is running on the server which simultaneously provides resources to other businesses. Any greedy behavior or DDOS attack on your tenant could affect the performance of your shared resource. Technical Issues Cloud technology is always prone to an outage and other technical issues. Even, the best cloud service provider companies may face this type of trouble despite maintaining high standards of maintenance. Security Threat in the Cloud Another drawback while working with cloud computing services is security risk. Before adopting cloud technology, you should be well aware of the fact that you will be sharing all your company's sensitive information to a third-party cloud computing service provider. Hackers might access this information. Downtime Downtime should also be considered while working with cloud computing. That's because your cloud provider may face power loss, low internet connectivity, service maintenance, etc. Internet Connectivity Good Internet connectivity is a must in cloud computing. You can't access cloud without an internet connection. Moreover, you don't have any other way to gather data from the cloud.
  • 31.
    CLOUD COMPUTING CS& BCA 31 A. SIVASANKARI , SIASC. Lower Bandwidth Many cloud storage service providers limit bandwidth usage of their users. So, in case if your organization surpasses the given allowance, the additional charges could be significantly costly Lacks of Support Cloud Computing companies fail to provide proper support to the customers. Moreover, they want their user to depend on FAQs or online help, which can be a tedious job for non-technical persons.
  • 32.
    CLOUD COMPUTING CS& BCA 32 A. SIVASANKARI , SIASC. UNIT – II 2. DEVELOPING CLOUD SERVICES 2.1 CLOUD SERVICE MODELS Cloud computing is based on service models. These are categorized into three basic service models which are , • Infrastructure-as–a-Service (IaaS) • Platform-as-a-Service (PaaS) • Software-as-a-Service (SaaS) Anything-as-a-Service (XaaS) is yet another service model, which includes Network- as-a-Service, Business-as-a-Service, Identity-as-a-Service, Database-as-a- Service or Strategy-as-a-Service. The Infrastructure-as-a-Service (IaaS) is the most basic level of service. Each of the service models inherit the security and management mechanism from the underlying model, as shown in the following diagram: FIGURE 2.1 CLOUD SERVICE Infrastructure-as-a-Service (IaaS)
  • 33.
    CLOUD COMPUTING CS& BCA 33 A. SIVASANKARI , SIASC. IaaS provides access to fundamental resources such as physical machines, virtual machines, virtual storage, etc. Platform-as-a-Service (PaaS) PaaS provides the runtime environment for applications, development and deployment tools, etc. Software-as-a-Service (SaaS) SaaS model allows to use software applications as a service to end-users. 2.1.1 Cloud Computing Infrastructure as a Service (IaaS) 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.
  • 34.
    CLOUD COMPUTING CS& BCA 34 A. SIVASANKARI , SIASC. FIGURE 2.2 IAAS 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. 2.1.1.1 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:
  • 35.
    CLOUD COMPUTING CS& BCA 35 A. SIVASANKARI , SIASC. FIGURE 2.3 ISSUES OF IAAS 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.
  • 36.
    CLOUD COMPUTING CS& BCA 36 A. SIVASANKARI , SIASC. 2.1.2 Platform as a Service (PaaS) 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. FIGURE 2.4 PaaS Benefits Following are the benefits of PaaS model:
  • 37.
    CLOUD COMPUTING CS& BCA 37 A. SIVASANKARI , SIASC. FIGURE 2.5 BENEFITS OF PAAS • 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. 2.1.2.1 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:
  • 38.
    CLOUD COMPUTING CS& BCA 38 A. SIVASANKARI , SIASC. FIGURE 2.6 ISSUES OF PAAS 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.
  • 39.
    CLOUD COMPUTING CS& BCA 39 A. SIVASANKARI , SIASC. • PaaS also provides web services interfaces that allow us to connect the applications outside the platform. 2.1.2.2 PaaS Types Based on the functions, PaaS can be classified into four types as shown in the following diagram: FIGURE 2.7 CLASSIFICATION OF PAAS Stand-alone development environments 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. Cloud Computing Software as a Service (SaaS) 2.1.3 Software-as–a-Service (SaaS) 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
  • 40.
    CLOUD COMPUTING CS& BCA 40 A. SIVASANKARI , SIASC. 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
  • 41.
    CLOUD COMPUTING CS& BCA 41 A. SIVASANKARI , SIASC. 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. 2.1.3.3 Open SaaS and SOA
  • 42.
    CLOUD COMPUTING CS& BCA 42 A. SIVASANKARI , SIASC. 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: FIGURE 2.8 SOA 2.1.3.4 Cloud Computing Identity as a Service (IDaaS) Employees in a company require to login to system to perform various tasks. These systems may be based on local server or cloud based. Following are the problems that an employee might face: • Remembering different username and password combinations for accessing multiple servers. • If an employee leaves the company, it is required to ensure that each account of that user is disabled. This increases workload on IT staff.
  • 43.
    CLOUD COMPUTING CS& BCA 43 A. SIVASANKARI , SIASC. To solve above problems, a new technique emerged which is known as Identity-as–a- Service (IDaaS). IDaaS offers management of identity information as a digital entity. This identity can be used during electronic transactions. Identity Identity refers to set of attributes associated with something to make it recognizable. All objects may have same attributes, but their identities cannot be the same. A unique identity is assigned through unique identification attribute. There are several identity services that are deployed to validate services such as validating web sites, transactions, transaction participants, client, etc. Identity-as-a-Service may include the following: • Directory services • Federated services • Registration • Authentication services • Risk and event monitoring • Single sign-on services • Identity and profile management 2.1.3.5 Single Sign-On (SSO) To solve the problem of using different username and password combinations for different servers, companies now employ Single Sign-On software, which allows the user to login only one time and manage the access to other systems. SSO has single authentication server, managing multiple accesses to other systems, as shown in the following diagram: FIGURE 2.9 SSO WORKING 2.1.3.6 SSO Working
  • 44.
    CLOUD COMPUTING CS& BCA 44 A. SIVASANKARI , SIASC. There are several implementations of SSO. Here, we discuss the common ones: FIGURE 2.10 IMPLEMENTATIONS OF SSO Following steps explain the working of Single Sign-On software: • User logs into the authentication server using a username and password. • The authentication server returns the user's ticket. • User sends the ticket to intranet server. • Intranet server sends the ticket to the authentication server. • Authentication server sends the user's security credentials for that server back to the intranet server. If an employee leaves the company, then disabling the user account at the authentication server prohibits the user's access to all the systems. 2.1.3.7 Federated Identity Management (FIDM) FIDM describes the technologies and protocols that enable a user to package security credentials across security domains. It uses Security Markup Language (SAML) to package a user's security credentials as shown in the following diagram:
  • 45.
    CLOUD COMPUTING CS& BCA 45 A. SIVASANKARI , SIASC. FIGURE 2.11 FIDM OpenID It offers users to login into multiple websites with single account. Google, Yahoo!, Flickr, MySpace, WordPress.com are some of the companies that support OpenID. Benefits • Increased site conversation rates • Access to greater user profile content • Fewer problems with lost passwords • Ease of content integration into social networking sites 2.2 AMAZON WEB SERVICES In 2006, Amazon Web Services (AWS) started to offer IT services to the market in the form of web services, which is nowadays known as cloud computing. With this cloud, we need not plan for servers and other IT infrastructure which takes up much of time in advance. Instead, these services can instantly spin up hundreds or thousands of servers in minutes and deliver results faster. We pay only for what we use with no up-front expenses and no long-term commitments, which makes AWS cost efficient. Today, AWS provides a highly reliable, scalable, low-cost infrastructure platform in the cloud that powers multitude of businesses in 190 countries around the world. 2.3 On-Demand Computing What Is On-Demand Computing?
  • 46.
    CLOUD COMPUTING CS& BCA 46 A. SIVASANKARI , SIASC. On-demand computing is a business computing model in which computing resources are made available to the user on an “as needed” basis. Rather than all at once, on-demand computing allows cloud hosting companies to provide their clients with access to computing resources as they become necessary. What Are the Advantages of On-Demand Computing? The on-demand computing model was developed to overcome the common challenge that enterprises encountered of not being able to meet unpredictable, fluctuating computing demands in an efficient manner. Businesses today need to be agile and need the ability to scale resources easily and quickly based on rapidly changing market needs. Because an enterprise’s demand for computing resources can vary dramatically from one period of time to another, maintaining sufficient resources to meet peak requirements can be costly. However, with on-demand computing, companies can cut costs by maintaining minimal computing resources until they run into the need to increase them, meanwhile only paying for what they use. Industry experts predict on-demand computing to soon be the most widely used computing model for enterprises. In fact, IBM’s vice-president of technology and strategy stated, “The technology is at a point where we can start to move into an era of on-demand computing. I give it between two and four years to reach a level of maturity.” 2.4 Discovering Cloud Services Development Services and Tools: ➢ Cloud computing is at an early stage of its development. This can be seen by observing the large number of small and start-up companies offering cloud development tools. ➢ In a more established industry, the smaller players eventually fall by the wayside as larger companies take center stage. ➢ Cloud services development services and tools are offered by a variety of companies, both large and small. ➢ The most basic offerings provide cloud-based hosting for applications developed from scratch.
  • 47.
    CLOUD COMPUTING CS& BCA 47 A. SIVASANKARI , SIASC. ➢ The more fully featured offerings include development tools and pre-built applications that developers can use as the building blocks for their own unique web- based applications. 2.5 Amazon ➢ Amazon, one of the largest retailers on the Internet, is also one of the primary providers of cloud development services. ➢ Amazon has spent a lot of time and money setting up a multitude of servers to service its popular website, and is making those vast hardware resources available for all developers to use. ➢ The service in question is called the Elastic Compute Cloud, also known as EC2. This is a commercial web service that allows developers and companies to rent capacity on Amazon’s proprietary cloud of servers— which happens to be one of the biggest server farms in the world. ➢ EC2 enables scalable deployment of applications by letting customers request a set number of virtual machines, onto which they can load any application of their choice. ➢ Thus, customers can create, launch, and terminate server instances on demand, creating a truly “elastic” operation. Amazon’s service lets customers choose from three sizes of virtual servers: • Small, which offers the equivalent of a system with 1.7GB of memory,160GB of storage, and one virtual 32-bit core processor. • Large, which offers the equivalent of a system with 7.5GB of memory,850GB of storage, and two 64-bit virtual core processors. • Extra large, which offers the equivalent of a system with 15GB of memory,1.7TB of storage, and four virtual 64-bit core processors • AWS offers comprehensive cloud IaaS services ranging from virtual compute , storage, and networking to complete computing stacks. AWS is mostly known for its
  • 48.
    CLOUD COMPUTING CS& BCA 48 A. SIVASANKARI , SIASC. compute and storage-on- demand services, namely Elastic Compute Cloud (EC2) and Simple Storage Service (S3). • EC2 provides users with customize able virtual hardware that can be used as the base infrastructure for deploying computing systems on the cloud. It is possible to choose from a large variety of virtual hardware configurations, including GPU and cluster instances. EC2 instances are deployed either by using the AWS console, which is a comprehensive Web portal for accessing AWS services, or by using the Web services API available for several programming languages. EC2 also provides the capability to save a specific running instance as an image, thus allowing users to create their own templates for deploying systems. These templates are stored into S3 that delivers persistent storage on demand. S3is organized into buckets; these are containers of objects that are stored in binary form and can been riches with attributes .Users can store objects of any size, from simple files to entire disk images, and have them accessible from everywhere. • Besides EC2 and S3, a wide range of services can be leveraged to build virtual computing systems. Including networking support, caching systems, DNS, database (relational and not) support, and others. (In other words, you pick the size and power you want for your virtual server, and Amazon does the rest) 2.6 EC2 ➢ EC2 is just part of Amazon’s Web Services (AWS) set of offerings, which provides developers with direct access to Amazon’s software and machines. ➢ By tapping into the computing power that Amazon has already constructed, developers can build reliable, powerful, and low-cost web-based applications. ➢ Amazon provides the cloud (and access to it), and developers provide the rest. They pay only for the computing power that they use. ➢ AWS is perhaps the most popular cloud computing service to date. Amazon claims a market of more than 330,000 customers—a combination of developers, start-ups, and established companies.
  • 49.
    CLOUD COMPUTING CS& BCA 49 A. SIVASANKARI , SIASC. FIGURE 2.12 EC2 2.7 Google App Engine Google App Engine is a scalable runtime environment mostly devoted to executing Web applications. These take advantage of the large computing infrastructure of Google to dynamically scale as the demand varies overtime. App Engine provides both a secure execution environment and a col-lection of services that simplify the development of scalable and high-performance Web applications. These services include in memory caching, scalable data store, job queues and messaging tasks. Developer scan build and test applications on their own machines using the App Engine software development kit(SDK),which replicates the production run time environment and helps test and profile applications. Once development is complete, developers can easily migrate their application to AppEngine , set quotas to contain the costs generated, and make the application available to the world. The languages currently supported are Python, Java, and Go. ➢ Google is a leader in web-based applications, so it’s not surprising that the company also offers cloud development services.
  • 50.
    CLOUD COMPUTING CS& BCA 50 A. SIVASANKARI , SIASC. ➢ These services come in the form of the Google App Engine, which enables developers to build their own web applications utilizing the same infrastructure that powers Google’s powerful applications. ➢ The Google App Engine provides a fully integrated application environment. Using Google’s development tools and computing cloud, App Engine applications are easy to build, easy to maintain, and easy to scale. ➢ All you have to do is develop your application (using Google’s APIs and the Python programming language) and upload it to the App Engine cloud; from there, it’s ready to serve your users. ➢ As you might suspect, Google offers a robust cloud development environment. It includes the following features: • Dynamic web serving • Full support for all common web technologies • Persistent storage with queries, sorting, and transactions • Automatic scaling and load balancing • APIs for authenticating users and sending email using Google Accounts ➢ In addition, Google provides a fully featured local development environment that simulates the Google App Engine on any desktop computer. ➢ And here’s one of the best things about Google’s offering: Unlike most other cloud hosting solutions, Google App Engine is completely free to use—at a basic level, anyway. ➢ A free App Engine account gets up to 500MB of storage and enough CPU strength and bandwidth for about 5 million page views a month. ➢ If you need more storage, power, or capacity, Google intends to offer additional resources (for a charge) in the near future.
  • 51.
    CLOUD COMPUTING CS& BCA 51 A. SIVASANKARI , SIASC. FIGURE 2.13 Google App Engine
  • 52.
    CLOUD COMPUTING CS& BCA 52 A. SIVASANKARI , SIASC. FIGURE 2.14 Google App Engine 2.8 IBM ➢ It’s not surprising, given the company’s strength in enterprise-level computer hardware, that IBM is offering a cloud computing solution. ➢ The company is targeting small- and medium-sized businesses with a suite of cloud- based ondemand services via its Blue Cloud initiative. ➢ Blue Cloud is a series of cloud computing offerings that enables enterprises to distribute their computing needs across a globally accessible resource grid.
  • 53.
    CLOUD COMPUTING CS& BCA 53 A. SIVASANKARI , SIASC. FIGURE 2.15 IBM ➢ One such offering is the Express Advantage suite, which includes data backup and recovery, email continuity and archiving, and data security functionality—some of the more data-intensive processes handled by a typical IT department. ➢ To manage its cloud hardware, IBM provides open source workload-scheduling software called Hadoop, which is based on the MapReduce software usedGoogle in its offerings. Also included are PowerVM and Xen virtualization tools,along with IBM’s Tivoli data center management software. 2.9 Salesforce.com Salesforce.com is probably the most popular and developed CRM solution available today. As of today more than 100,000 customers have chosen Safesforce.com to implement their CRM solutions. The application provides customizable CRM solutions that can be integrated with additional features developed by third parties.
  • 54.
    CLOUD COMPUTING CS& BCA 54 A. SIVASANKARI , SIASC. Salesforce.com is based on the Force.com cloud development platform. This represents scalable and high-performance middleware executing all the operations of all Salesforce.com applications. The architecture of the Force.com platform is shown in Figure10.5. Initially designed to support scalable CRM applications, the platform has evolved to support the entire life cycle of a wider range of cloud applications by implementing a flexible and scalable infrastructure. At the core of the platform resides its metadata architecture, which provides the system with flexibility and scalability. Rather than being built on top of specific components and tables, application core logic and business rules metadata into the Force.com store. Both application structure and application data are stored in the store. A runtime engine executes application logic by retrieving its metadata and then performing the operations on the data. Although running in isolated containers, different applications logically share the same database structure, and the runtime engine exe- cutes all of them uniformly. A full-text search engine supports the runtime engine. This allows application users to have an effective user experience despite the large amounts of data that need to be crawled. The search engine maintains its indexing data in a separate store and is constantly updated by background processes triggered by user interaction. Users can customize their application by leveraging the “native” Force.com application frame- work or by using programmatic APIs in the most popular programming languages. The application framework allows users to visually define either the data or the core structure of a Force.com application, while the programmatic APIs provide them with a more conventional way for developing applications that relies on Web services to interact with the platform. Customization of application processes and logic can also be implemented by developing scripts in APEX. This is a Java-like language that provides object-oriented and procedural capabilities for defining either scripts executed on demand or triggers. APEX also offers the capability of expressing searches and queries to have complete access to the data managed by the Force.com platform. ➢ Salesforce.com is probably best known for its sales management SaaS, but it’s also a leader in cloud computing development. ➢ The company’s cloud computing architecture is dubbed Force.com. The platform as a service is entirely on-demand, running across the Internet.
  • 55.
    CLOUD COMPUTING CS& BCA 55 A. SIVASANKARI , SIASC. ➢ Salesforce provides its own Force.com API and developer’s toolkit. Pricing is on a per log-in basis. Supplementing Force.com is AppExchange, a directory of web-based applications. ➢ Developers can use AppExchange applications uploaded by others, share their own applications in the directory, or publish private applications accessible only by authorized companies or clients. ➢ Many applications in the AppExchange library are free, and others can be purchased or licensed from the original developers. ➢ Most existing AppExchange applications are sales related—sales analysis tools, email marketing systems, financial analysis apps, and so forth. But companies can use the Force.com platform to develop any type of application. ➢ In fact, many small businesses have already jumped on the Force.com bandwagon. For example, an April 2008 article in PC World magazine quoted Jonathan Snyder, CTO of Dream builder Investments, a 10-person mortgage investment company in New York. ➢ “We’re a small company,” Snyder said, “we don’t have the resources to focus on buying servers and developing from scratch. For us, Force.com was really a jump- start.” Salesforce.com is the Enterprise Cloud Computing Company. Put simply, we provide CRM and Collaboration applications that you access over the Internet and pay-as-you-go. You can also build your own apps on our Force.com platform, all without the need to run and manage your own data centre and software. Find out why more than 87,200 companies have chosen salesforce.com to help run their business
  • 56.
    CLOUD COMPUTING CS& BCA 56 A. SIVASANKARI , SIASC. FIGURE 2.16 Salesforce.com 2.9.1PRODUCTS 1.Accounts and contacts Everything you need to know about your customers and prospects - all in one place. 2.Marketing and leads Close that gap between marketing and sales with better quality leads—and more of them. 3.Opportunities and quotes When you have critical deals in the works, don’t let anything slip through the cracks. 4.Jigsaw data services Your CRM data just got a whole lot better with real-time contact info and automated data hygiene. 5.Analytics and forecasting Get the insight you need to keep your sales on track and moving efficiently 6.Approvals and workflow Nothing should impede the momentum of your sales efforts. Drag and drop to create automated processes with these tools. 7.Email and productivity Don’t change the way you work. With the Sales Cloud , you can work seamlessly with the tools you already use everyday.
  • 57.
    CLOUD COMPUTING CS& BCA 57 A. SIVASANKARI , SIASC. 8.Content library Stop searching aimlessly for that killer presentation… that new product datasheet… that updated price sheet. It’s right at your fingertips. 9.Genius Find sales insights when you need them most. Genius connects you with people and resources to help you close deals. 10.Chatter Collaborate instantly. Get real-time updates pushed to you on the people, data, and documents that can help you close your deals. 11.Partners Stop waiting for partner updates. Now you can have complete visibility into both direct and indirect sales channels with one view. 12.Mobile Having the latest information can improve customer relations and accelerate your deals. Stay on top of your business from any location on any device. 13. AppExchange Discover hundreds of apps that will expand your sales success. Want more solutions? Look no further Salesforce.com Support also offers: Basic Support Premier Support Premier Support with Administration Case limit Unlimited Unlimited Unlimited Response time 2 business days 2 hours 2 hours Online customer portal Included Included Included Live phone support 12/51 24/7 24/7 Assigned representative Yes (50 users)3 Yes (50 users)2 Health check (annual) Yes (50 users) Yes (50 users)
  • 58.
    CLOUD COMPUTING CS& BCA 58 A. SIVASANKARI , SIASC. Developer Support4 Yes Yes Force.com app extensions5 Yes Yes Yes Administration Included 2.10 Other Cloud Services Development Tools ➢ Amazon, Google, IBM, and Salesforce.com aren’t the only companies offering tools for cloud services developers. ➢ There are also a number of smaller companies working in this space that developers should evaluate, and that end users may eventually become familiar with. These companies include the following: ✓ 3tera (www.3tera.com) ✓ 10gen (www.10gen.com) ✓ Cohesive Flexible Technologies (www.cohesiveft.com) ✓ Joyent (www.joyent.com) ✓ Mosso (www.mosso.com) ✓ Nirvanix (www.nirvanix.com) ✓ Skytap (www.skytap.com). ✓ StrikeIron (www.strikeiron.com) ✓ Sun Microsystems has an R&D project, dubbed Project Caroline ✓ (www.projectcaroline.net) This is the basic structure of AWS EC2, where EC2 stands for Elastic Compute Cloud. EC2 allow users to use virtual machines of different configurations as per their requirement. It allows various configuration options, mapping of individual server, various pricing options, etc. We will discuss these in detail in AWS Products section. Following is the diagrammatic representation of the architecture.
  • 59.
    CLOUD COMPUTING CS& BCA 59 A. SIVASANKARI , SIASC. FIGURE 2.17 AWS Products Note − In the above diagram S3 stands for Simple Storage Service. It allows the users to store and retrieve various types of data using API calls. It doesn’t contain any computing element. We will discuss this topic in detail in AWS products section. Load Balancing ➢ Load balancing simply means to hardware or software load over web servers, that improver's the efficiency of the server as well as the application. Following is the diagrammatic representation of AWS architecture with load balancing. ➢ Hardware load balancer is a very common network appliance used in traditional web application architectures. ➢ AWS provides the Elastic Load Balancing service, it distributes the traffic to EC2 instances across multiple available sources, and dynamic addition and removal of Amazon EC2 hosts from the load-balancing rotation. ➢ Elastic Load Balancing can dynamically grow and shrink the load-balancing capacity to adjust to traffic demands and also support sticky sessions to address more advanced routing needs. Amazon Cloud-front ➢ It is responsible for content delivery, i.e. used to deliver website. It may contain dynamic, static, and streaming content using a global network of edge locations.
  • 60.
    CLOUD COMPUTING CS& BCA 60 A. SIVASANKARI , SIASC. Requests for content at the user's end are automatically routed to the nearest edge location, which improves the performance. ➢ Amazon Cloud-front is optimized to work with other Amazon Web Services, like Amazon S3 and Amazon EC2. It also works fine with any non-AWS origin server and stores the original files in a similar manner. ➢ In Amazon Web Services, there are no contracts or monthly commitments. We pay only for as much or as little content as we deliver through the service. Elastic Load Balancer ➢ It is used to spread the traffic to web servers, which improves performance. AWS provides the Elastic Load Balancing service, in which traffic is distributed to EC2 instances over multiple available zones, and dynamic addition and removal of Amazon EC2 hosts from the load-balancing rotation. ➢ Elastic Load Balancing can dynamically grow and shrink the load-balancing capacity as per the traffic conditions. Security Management ➢ Amazon’s Elastic Compute Cloud (EC2) provides a feature called security groups, which is similar to an inbound network firewall, in which we have to specify the protocols, ports, and source IP ranges that are allowed to reach your EC2 instances. ➢ Each EC2 instance can be assigned one or more security groups, each of which routes the appropriate traffic to each instance. Security groups can be configured using specific subnets or IP addresses which limits access to EC2 instances. ➢ Elastic Caches ➢ Amazon Elastic Cache is a web service that manages the memory cache in the cloud. In memory management, cache has a very important role and helps to reduce the load on the services, improves the performance and scalability on the database tier by caching frequently used information. Amazon RDS ➢ Amazon RDS (Relational Database Service) provides a similar access as that of MySQL, Oracle, or Microsoft SQL Server database engine. The same queries, applications, and tools can be used with Amazon RDS. ➢ It automatically patches the database software and manages backups as per the user’s instruction. It also supports point-in-time recovery. There are no up-front investments required, and we pay only for the resources we use.
  • 61.
    CLOUD COMPUTING CS& BCA 61 A. SIVASANKARI , SIASC. ➢ Hosting RDMS on EC2 Instances ➢ Amazon RDS allows users to install RDBMS (Relational Database Management System) of your choice like MySQL, Oracle, SQL Server, DB2, etc. on an EC2 instance and can manage as required. ➢ Amazon EC2 uses Amazon EBS (Elastic Block Storage) similar to network-attached storage. All data and logs running on EC2 instances should be placed on Amazon EBS volumes, which will be available even if the database host fails. ➢ Amazon EBS volumes automatically provide redundancy within the availability zone, which increases the availability of simple disks. Further if the volume is not sufficient for our databases needs, volume can be added to increase the performance for our database. ➢ Using Amazon RDS, the service provider manages the storage and we only focus on managing the data. Storage & Backups ➢ AWS cloud provides various options for storing, accessing, and backing up web application data and assets. The Amazon S3 (Simple Storage Service) provides a simple web-services interface that can be used to store and retrieve any amount of data, at any time, from anywhere on the web. ➢ Amazon S3 stores data as objects within resources called buckets. The user can store as many objects as per requirement within the bucket, and can read, write and delete objects from the bucket. ➢ Amazon EBS is effective for data that needs to be accessed as block storage and requires persistence beyond the life of the running instance, such as database partitions and application logs. ➢ Amazon EBS volumes can be maximized up to 1 TB, and these volumes can be striped for larger volumes and increased performance. Provisioned IOPS volumes are designed to meet the needs of database workloads that are sensitive to storage performance and consistency. ➢ Amazon EBS currently supports up to 1,000 IOPS per volume. We can stripe multiple volumes together to deliver thousands of IOPS per instance to an application. Auto Scaling
  • 62.
    CLOUD COMPUTING CS& BCA 62 A. SIVASANKARI , SIASC. ➢ The difference between AWS cloud architecture and the traditional hosting model is that AWS can dynamically scale the web application fleet on demand to handle changes in traffic. ➢ In the traditional hosting model, traffic forecasting models are generally used to provision hosts ahead of projected traffic. In AWS, instances can be provisioned on the fly according to a set of triggers for scaling the fleet out and back in. Amazon Auto Scaling can create capacity groups of servers that can grow or shrink on demand. ➢ Key Considerations for Web Hosting in AWS ➢ Following are some of the key considerations for web hosting − ➢ No physical network devices needed ➢ In AWS, network devices like firewalls, routers, and load-balancers for AWS applications no longer reside on physical devices and are replaced with software solutions. ➢ Multiple options are available to ensure quality software solutions. For load balancing choose Zeus, HAProxy, Nginx, Pound, etc. For establishing a VPN connection choose OpenVPN, OpenSwan, Vyatta, etc. No security concerns ➢ AWS provides a more secured model, in which every host is locked down. In Amazon EC2, security groups are designed for each type of host in the architecture, and a large variety of simple and tiered security models can be created to enable minimum access among hosts within your architecture as per requirement. Availability of data centers ➢ EC2 instances are easily available at most of the availability zones in AWS region and provides model for deploying your application across data centers for both high availability and reliability. ➢ AWS Management Console is a web application for managing Amazon Web Services. AWS Management Console consists of list of various services to choose from. It also provides all information related to our account like billing. ➢ This console provides an inbuilt user interface to perform AWS tasks like working with Amazon S3 buckets, launching and connecting to Amazon EC2 instances, setting Amazon Cloud Watch alarms, etc. ➢ Following is the screenshot of AWS management console for Amazon EC2 service.
  • 63.
    CLOUD COMPUTING CS& BCA 63 A. SIVASANKARI , SIASC. 2.10.1 How to Access AWS? ➢ Step 1 − Click on services. We get a list of various services. ➢ ➢ Step 2 − Select the choice from the list of categories and we get their sub-categories such as Computer and Database category is selected in the following screenshots.
  • 64.
    CLOUD COMPUTING CS& BCA 64 A. SIVASANKARI , SIASC. Step 3 − Select the service of your choice and the console of that service will open. ➢ Customizing the Dashboard ➢ Creating Services Shortcuts ➢ Click the Edit menu on the navigation bar and a list of services appears. We can create their shortcuts by simply dragging them from the menu bar to the navigation bar. ➢ Adding Services Shortcuts
  • 65.
    CLOUD COMPUTING CS& BCA 65 A. SIVASANKARI , SIASC. ➢ When we drag the service from the menu bar to the navigation bar, the shortcut will be created and added. We can also arrange them in any order. In the following screenshot we have created shortcut for S3, EMR and DynamoDB services. Deleting Services Shortcuts ➢ To delete the shortcut, click the edit menu and drag the shortcut from the navigation bar to the service menu. The shortcut will be removed. In the following screenshot, we have removed the shortcut for EMR services. ➢ Selecting a Region ➢ Many of the services are region specific and we need to select a region so that resources can be managed. Some of the services do not require a region to be selected like AWS Identity and Access Management (IAM). ➢ To select a region, first we need to select a service. Click the Oregon menu (on the left side of the console) and then select a region
  • 66.
    CLOUD COMPUTING CS& BCA 66 A. SIVASANKARI , SIASC. ➢ Changing the Password ➢ We can change password of our AWS account. To change the password, following are the steps. ➢ Step 1 − Click the account name on the left side of the navigation bar. ➢ Step 2 − Choose Security Credentials and a new page will open having various options. Select the password option to change the password and follow the instructions. ➢ Step 3 − After signing-in, a page opens again having certain options to change the password and follow the instructions.
  • 67.
    CLOUD COMPUTING CS& BCA 67 A. SIVASANKARI , SIASC. ➢ ➢ When successful, we will receive a confirmation message. ➢ Know Your Billing Information ➢ Click the account name in the navigation bar and select the 'Billing & Cost Management' option. ➢ ➢ Now a new page will open having all the information related to money section. Using this service, we can pay AWS bills, monitor our usage and budget estimation.
  • 68.
    CLOUD COMPUTING CS& BCA 68 A. SIVASANKARI , SIASC. ➢ The AWS Console mobile app, provided by Amazon Web Services, allows its users to view resources for select services and also supports a limited set of management functions for select resource types. Following are the various services and supported functions that can be accessed using the mobile app. EC2 (Elastic Compute Cloud) • Browse, filter and search instances. • View configuration details. • Check status of CloudWatch metrics and alarms. • Perform operations over instances like start, stop, reboot, termination. • Manage security group rules. • Manage Elastic IP Addresses. • View block devices. Elastic Load Balancing • Browse, filter and search load balancers. • View configuration details of attached instances. • Add and remove instances from load balancers. S3 • Browse buckets and view their properties. • View properties of objects. Route 53 • Browse and view hosted zones. • Browse and view details of record sets.
  • 69.
    CLOUD COMPUTING CS& BCA 69 A. SIVASANKARI , SIASC. RDS (Relational Database Service) • Browse, filter, search and reboot instances. • View configuration details, security and network settings. Auto Scaling • View group details, policies, metrics and alarms. • Manage the number of instances as per the situation. Elastic Beanstalk • View applications and events. • View environment configuration and swap environment CNAMEs. • Restart app servers. DynamoDB • View tables and their details like metrics, index, alarms, etc. CloudFormation • View stack status, tags, parameters, output, events, and resources. OpsWorks • View configuration details of stack, layers, instances and applications. • View instances, its logs, and reboot them. CloudWatch • View CloudWatch graphs of resources. • List CloudWatch alarms by status and time. • Action configurations for alarms. Services Dashboard • Provides information of available services and their status. • All information related to the billing of the user. • Switch the users to see the resources in multiple accounts. Features of AWS Mobile App To have access to the AWS Mobile App, we must have an existing AWS account. Simply create an identity using the account credentials and select the region in the menu. This app allows us to stay signed in to multiple identities at the same time. For security reasons, it is recommended to secure the device with a passcode and to use an IAM user's credentials to log in to the app. In case the device is lost, then the IAM user can be deactivated to prevent unauthorized access.
  • 70.
    CLOUD COMPUTING CS& BCA 70 A. SIVASANKARI , SIASC. Root accounts cannot be deactivated via mobile console. While using AWS Multi- Factor Authentication (MFA), it is recommended to use either a hardware MFA device or a virtual MFA on a separate mobile device for account security reasons. 2.10.2 How to Use AWS Account? Following are the steps to access AWS services − • Create an AWS account. • Sign-up for AWS services. • Create your password and access your account credentials. • Activate your services in credits section. Create an AWS Account Amazon provides a fully functional free account for one year for users to use and learn the different components of AWS. You get access to AWS services like EC2, S3, DynamoDB, etc. for free. However, there are certain limitations based on the resources consumed. Step 1 − To create an AWS account, open this link https://aws.amazon.com and sign-up for new account and enter the required details. If we already have an account, then we can sign-in using the existing AWS password.
  • 71.
    CLOUD COMPUTING CS& BCA 71 A. SIVASANKARI , SIASC. Step 2 − After providing an email-address, complete this form. Amazon uses this information for billing, invoicing and identifying the account. After creating the account, sign-up for the services needed.
  • 72.
    CLOUD COMPUTING CS& BCA 72 A. SIVASANKARI , SIASC. Step 3 − To sign-up for the services, enter the payment information. Amazon executes a minimal amount transaction against the card on the file to check that it is valid. This charge varies with the region. Step 4 − Next, is the identity verification. Amazon does a call back to verify the provided contact number. Step 5 − Choose a support plan. Subscribe to one of the plans like Basic, Developer, Business, or Enterprise. The basic plan costs nothing and has limited resources, which is good to get familiar with AWS. Step 6 − The final step is confirmation. Click the link to login again and it redirects to AWS management console.
  • 73.
    CLOUD COMPUTING CS& BCA 73 A. SIVASANKARI , SIASC. Now the account is created and can be used to avail AWS services. AWS Account Identifiers AWS assigns two unique IDs to each AWS account. • An AWS account ID • A conical user ID AWS Account ID It is a 12-digit number like 123456789000 and is used to construct Amazon Resource Names (ARN). This ID helps to distinguish our resources from resources in other AWS accounts. To know the AWS account number, click Support on the upper right side of the navigation bar in AWS management console as shown in the following screenshot. Conical String User ID It is a long string of alphanumeric characters like 1234abcdef1234. This ID is used in Amazon S3 bucket policy for cross-account access, i.e. to access resources in another AWS account. Account Alias Account alias is the URL for your sign-in page and contains the account ID by default. We can customize this URL with the company name and even overwrite the previous one. 2.10.3 How to Create/Delete Your Own AWS Account Alias?
  • 74.
    CLOUD COMPUTING CS& BCA 74 A. SIVASANKARI , SIASC. Step 1 − Sign in to the AWS management console and open the IAM console using the following link https://console.aws.amazon.com/iam/ Step 2 − Select the customize link and create an alias of choice. Step 3 − To delete the alias, click the customize link, then click the Yes, Delete button. This deletes the alias and it reverts to the Account ID. Multi Factor Authentication Multi Factor Authentication (MFA) provides additional security by authenticating the users to enter a unique authentication code from an approved authentication device or SMS text message when they access AWS websites or services. If the MFA code is correct, then only the user can access AWS services or else not. Requirements
  • 75.
    CLOUD COMPUTING CS& BCA 75 A. SIVASANKARI , SIASC. To use MFA services, the user has to assign a device (hardware or virtual) to IAM user or AWS root account. Each MFA device assigned to the user must be unique, i.e. the user cannot enter a code from another user's device to authenticate. How to Enable MFA Device? Step 1 − Open the following link, https:// console.aws.amazon.com/iam/ Step 2 − On the web page, choose users from the navigation pane on the right side to view the list of user name. Step 3 − Scroll down to security credentials and choose MFA. Click activate MFA. Step 4 − Follow the instructions and the MFA device will get activated with the account. There are 3 ways to enable a MFA device − SMS MFA Device In this method, MFA requires us to configure the IAM user with the phone number of the user's SMS-compatible mobile device. When the user signs in, AWS sends a six-digit code by SMS text message to the user's mobile device. The user is required to enter the same code on a second web page during sign-in to authenticate the right user. This SMS-based MFA cannot be used with AWS root account. Hardware MFA Device In this method, MFA requires us to assign an MFA device (hardware) to the IAM user or the AWS root account. The device generates a six-digit numeric code based upon a
  • 76.
    CLOUD COMPUTING CS& BCA 76 A. SIVASANKARI , SIASC. time synchronized one-time password algorithm. The user has to enter the same code from the device on a second web page during sign-in to authenticate the right user. Virtual MFA Device In this method, MFA requires us to assign an MFA device (virtual) to the IAM user or the AWS root account. A virtual device is a software application (mobile app) running on a mobile device that emulates a physical device. The device generates a six-digit numeric code based upon a time-synchronized one-time password algorithm. The user has to enter the same code from the device on a second web page during sign-in to authenticate the right user. AWS Identity & Access Management (IAM) IAM is a user entity which we create in AWS to represent a person that uses it with limited access to resources. Hence, we do not have to use the root account in our day-to-day activities as the root account has unrestricted access to our AWS resources. How to Create Users in IAM? Step 1 − Open the link https://console.aws.amazon.com/iam/ to sign-in to AWS Management console. Step 2 − Select the Users option on the left navigation pane to open the list of all users.
  • 77.
    CLOUD COMPUTING CS& BCA 77 A. SIVASANKARI , SIASC. Step 3 − We can also create New Users using the Create New Users option, a new window will open. Enter the user-name which we want to create. Select the create option and a new user will be created. Step 4 − We can also see Access Key IDs and secret keys by selecting Show Users Security Credentials link. We can also save these details on the computer using the Download Credentials option. Step 5 − We can manage the user’s own security credentials like creating password, managing MFA devices, managing security certificates, creating/deleting access keys, adding user to groups, etc.
  • 78.
    CLOUD COMPUTING CS& BCA 78 A. SIVASANKARI , SIASC. There are many more features that are optional and are available on the web page. 2.11 AWS - Elastic Compute Cloud Amazon EC2 (Elastic Compute Cloud) is a web service interface that provides resizable compute capacity in the AWS cloud. It is designed for developers to have complete control over web-scaling and computing resources. EC2 instances can be resized and the number of instances scaled up or down as per our requirement. These instances can be launched in one or more geographical locations or regions, and Availability Zones (AZs). Each region comprises of several AZs at distinct locations, connected by low latency networks in the same region. 2.12 EC2 Components In AWS EC2, the users must be aware about the EC2 components, their operating systems support, security measures, pricing structures, etc.
  • 79.
    CLOUD COMPUTING CS& BCA 79 A. SIVASANKARI , SIASC. Operating System Support Amazon EC2 supports multiple OS in which we need to pay additional licensing fees like: Red Hat Enterprise, SUSE Enterprise and Oracle Enterprise Linux, UNIX, Windows Server, etc. These OS needs to be implemented in conjunction with Amazon Virtual Private Cloud (VPC). Security Users have complete control over the visibility of their AWS account. In AWS EC2, the security systems allow create groups and place running instances into it as per the requirement. You can specify the groups with which other groups may communicate, as well as the groups with which IP subnets on the Internet may talk. Pricing AWS offers a variety of pricing options, depending on the type of resources, types of applications and database. It allows the users to configure their resources and compute the charges accordingly. Fault tolerance Amazon EC2 allows the users to access its resources to design fault-tolerant applications. EC2 also comprises geographic regions and isolated locations known as availability zones for fault tolerance and stability. It doesn’t share the exact locations of regional data centers for security reasons. When the users launch an instance, they must select an AMI that's in the same region where the instance will run. Instances are distributed across multiple availability zones to provide continuous services in failures, and Elastic IP (EIPs) addresses are used to quickly map failed instance addresses to concurrent running instances in other zones to avoid delay in services. Migration This service allows the users to move existing applications into EC2. It costs $80.00 per storage device and $2.49 per hour for data loading. This service suits those users having large amount of data to move. Features of EC2 Here is a list of some of the prominent features of EC2 − • Reliable − Amazon EC2 offers a highly reliable environment where replacement of instances is rapidly possible. Service Level Agreement commitment is 99.9% availability for each Amazon EC2 region.
  • 80.
    CLOUD COMPUTING CS& BCA 80 A. SIVASANKARI , SIASC. • Designed for Amazon Web Services − Amazon EC2 works fine with Amazon services like Amazon S3, Amazon RDS, Amazon DynamoDB, and Amazon SQS. It provides a complete solution for computing, query processing, and storage across a wide range of applications. • Secure − Amazon EC2 works in Amazon Virtual Private Cloud to provide a secure and robust network to resources. • Flexible Tools − Amazon EC2 provides the tools for developers and system administrators to build failure applications and isolate themselves from common failure situations. • Inexpensive − Amazon EC2 wants us to pay only for the resources that we use. It includes multiple purchase plans such as On-Demand Instances, Reserved Instances, Spot Instances, etc. which we can choose as per our requirement. How to Use AWS EC2 Step 1 − Sign-in to AWS account and open IAM console by using the following link https://console.aws.amazon.com/iam/. Step 2 − In the navigation Panel, create/view groups and follow the instructions. Step 3 − Create IAM user. Choose users in the navigation pane. Then create new users and add users to the groups. Step 4 − Create a Virtual Private Cloud using the following instructions. • Open the Amazon VPC console by using the following link − https://console.aws.amazon.com/vpc/ • Select VPC from the navigation panel. Then select the same region in which we have created key-pair. • Select start VPC wizard on VPC dashboard. • Select VPC configuration page and make sure that VPC with single subnet is selected. The choose Select. • VPC with a single public subnet page will open. Enter the VPC name in the name field and leave other configurations as default. • Select create VPC, then select Ok. Step 5 − Create WebServerSG security groups and add rules using the following instructions. • On the VPC console, select Security groups in the navigation panel.
  • 81.
    CLOUD COMPUTING CS& BCA 81 A. SIVASANKARI , SIASC. • Select create security group and fill the required details like group name, name tag, etc. • Select your VPC ID from the menu. Then select yes, create button. • Now a group is created. Select the edit option in the inbound rules tab to create rules. Step 6 − Launch EC2 instance into VPC using the following instructions. • Open EC2 console by using the following link − https://console.aws.amazon.com/ec2/ • Select launch instance option in the dashboard. • A new page will open. Choose Instance Type and provide the configuration. Then select Next: Configure Instance Details. • A new page will open. Select VPC from the network list. Select subnet from the subnet list and leave the other settings as default. • Click Next until the Tag Instances page appears. Step 7 − On the Tag Instances page, provide a tag with a name to the instances. Select Next: Configure Security Group. Step 8 − On the Configure Security Group page, choose the Select an existing security group option. Select the WebServerSG group that we created previously, and then choose Review and Launch. Step 9 − Check Instance details on Review Instance Launch page then click the Launch button. Step 10 − A pop up dialog box will open. Select an existing key pair or create a new key pair. Then select the acknowledgement check box and click the Launch Instances button. 2.13 Google App Engine Platform as a Service (PaaS)
  • 82.
    CLOUD COMPUTING CS& BCA 82 A. SIVASANKARI , SIASC. 1. What is Google App Engine. • Overview • Programming languages support • Data storage • App Engine services • Security 2. When to use Google App Engine. 3. How to use Google App Engine. 1.Service (PaaS) • Cloud computing service which provides a computing platform and a solution stack as a service. • Consumer creates the software using tools and/or libraries from the provider. • Provider provides the networks, servers, storage, etc. Google App Engine (GAE) is a Platform as a Service (PaaS) cloud computing platform for developing and hosting web applications in Google-managed data centers Google App Engine lets you run web applications on Google's infrastructure • Easy to build. • Easy to maintain. • Easy to scale as the traffic and storage needs grow. Free for upto 1 GB of storage and enough CPU and bandwidth to support 5 million page views a month. 10 Applications per Google account. Java: • App Engine runs JAVA apps on a JAVA 7 virtual machine (currently supports JAVA 6 as well). • Uses JAVA Servlet standard for web applications: • WAR (Web Applications ARchive) directory structure. • Servlet classes • Java Server Pages (JSP) • Static and data files • Deployment descriptor (web.xml) • Other configuration files
  • 83.
    CLOUD COMPUTING CS& BCA 83 A. SIVASANKARI , SIASC. • Getting started : https://developers.google.com/appengine/docs/java/gettingstarted/ Python: • Uses WSGI (Web Server Gateway Interface) standard. • Python applications can be written using: • Webapp2 framework • Django framework • Any python code that uses the CGI (Common Gateway Interface) standard. • Getting started : https://developers.google.com/appengine/docs/python/gettingstartedpython27/ PHP (Experimental support): • Local development servers are available to anyone for developing and testing local applications. • Only whitelisted applications can be deployed on Google App Engine. (https://gaeforphp.appspot.com/). • Getting started: https://developers.google.com/appengine/docs/php/ Google’s Go: • Go is an Google’s open source programming environment. • Tightly coupled with Google App Engine. • Applications can be written using App Engine’s Go SDK. • Getting started: https://developers.google.com/appengine/docs/go/overview App Engine Datastore: • NoSQL schema-less object based data storage, with a query engine and atomic transactions. • Data object is called a “Entity” that has a kind (~ table name) and a set of properties (~ column names). • JAVA JDO/ JPA interfaces and Python datastore interfaces. Google cloud SQL: • Provides a relational SQL database service. • Similar to MySQL RDBMS.
  • 84.
    CLOUD COMPUTING CS& BCA 84 A. SIVASANKARI , SIASC. DATA STORAGE Google cloud store: • RESTful service for storing and querying data. • Fast, scalable and highly available solution. • Provides Multiple layers of redundancy. All data is replicated to multiple data centers. • Provides different levels of access control. • HTTP based APIs. App Engine also provides a variety of services to perform common operations when managing your application. • URL Fetch: • Facilitates the application’s access to resources on the internet, such as web services or data. • Mail: • Facilitates the application to send e-mail messages using Google infrastructure. • Memcache: • High performance in-memory key-value storage. • Can be used to store temporary data which doesn’t need to be persisted. SECURITY The sandbox: • All hosted applications run in a secure environment that provides limited access to the underlying operating system. • Sandbox isolates the application in its own secure, reliable environment that is independent of hardware, operating system and physical location of a web server. • Limitations imposed by sandbox (for security): • An application can only access other computers over internet using the provided URL fetch and email services. Other computers can only connect to the application through HTTP/ HTTPS requests on the standard ports (80/ 443). • Applications cannot write to local file system in any of the runtime environments.
  • 85.
    CLOUD COMPUTING CS& BCA 85 A. SIVASANKARI , SIASC. • Application code runs only in response to a web request, a queued task or a scheduled task and must return the response data within 60 seconds. A request handler cannot spawn a sub-process or execute code after the response has been sent. Use App Engine when: • We don’t want to get troubled for setting up a server. • We want instant for-free nearly infinite scalability support. • We application’s traffic is spiky and rather unpredictable. • We don't feel like taking care of your own server monitoring tools. • We need pricing that fits your actual usage and isn't time-slot based (App engine provides pay-per-drink cost model). • We are able to chunk long tasks into 60 second pieces. We are able to work without direct access to local file system. BUSINESS RUNNING ON GOOGLE APP ENGINE • http://www.lowes.com/ • Uses App Engine to host their MyLowes service used by customers to customize and personalize their home improvement projects. • http://www.getaround.com/ • Peer-to-peer car sharing and local car rental service. • http://kissflow.com/ • Workflow service based on Google applications. Source – Google I/O 2012 – App Engine Overview (https://www.youtube.com/watch?v=uy0nALQEAM4 ) • JAVA • Python IBM was a very early proponent of both virtualization and cloud computing. IBM Smart Business cloud solutions support clouds built behind the enterprise firewall, or the IBM cloud. IBM’s public cloud offering is still new, while its private cloud offerings are, for the cloud, very mature. Unlike Google, who has collaborated with VMware, IBM’s strategy is to handhold enterprises into the cloud both by providing services and also by working with Red Hat to offer Red Hat’s EL, bypassing VMware with the announcement of Smart Business Development & Test on the IBM Cloud.
  • 86.
    CLOUD COMPUTING CS& BCA 86 A. SIVASANKARI , SIASC. IBM has also partnered with SOASTA, who makes “CloudTest,” and is a leading provider of cloud testing. SOASTA also partners with CA Amazon, and Microsoft. It is competing head-on with VMforce and Salesforce.com. IBM also partners non-exclusively with RightScale, which offers Hyperic HQ . Consistent Development Experience IBM was relatively early in recognizing the advantages of cloud computing for development. IBM has offered a private cloud solution for development and test since June 2009, and now offers development and test services in three delivery models: • IBM Smart Business Development and Test Cloud . A private cloud service behind the client’s firewall, built and managed by IBM. The service now includes enhanced capabilities for collaborative cloud development using Rational Software Delivery Services for Cloud Computing. • IBM Smart Business Development and Test on the IBM Cloud. Application development and test featuring Rational Software Delivery Services for Cloud Computing over IBM’s secure, scalable cloud. • IBM CloudBurst for Development and Test . IBM CloudBurst is a preintegrated set of hardware, storage, virtualization, and networking, with a sophisticated built-in service management system to allow clients to rapidly deploy an internal/private cloud environment. “Workload characteristics continue to drive the rate and degree of standardization of IT and business services,” said Rich Esposito, vice president, IT Strategy & Architecture and Middleware Services, IBM. “Standardization is key to bringing discipline, efficiency and simplicity to the most complex corners of big businesses.” Eleven Cloud Computing Competency Centres Worldwide IBM’s cloud computing competency centers are designed to showcase IBM cloud computing infrastructures, applications, and services capabilities through specific competency and training solutions, as well as offer additional services to clients. By June 2010, IBM had opened eleven centers: • Singapore • Dublin, Ireland • Beijing, China • Tokyo, Japan • Johannesburg, South Africa
  • 87.
    CLOUD COMPUTING CS& BCA 87 A. SIVASANKARI , SIASC. • Sao Paulo, Brazil • Bangalore, India • Seoul, South Korea • Hanoi, Vietnam • The Netherlands • Wuxi, China Craig Sowell, Director, Cloud Marketing and Communications at IBM, was kind enough to discuss IBM’s cloud strategy with me. The points that IBM stresses are that IBM cloud solutions: • Assist in reducing capital and licensing expenses as much as fifty to seventy-five percent using virtualized resources • Help reduce operating and labor costs as much as thirty to fifty percent by automating development and testing resource provisioning and configuration • Facilitate innovation and time to market by helping reduce development and testing setup time from weeks to minutes • Improve quality through more accurate configurations and enhanced modeling to help reduce defects by as much as fifteen to thirty percent • Achieve better utilization, as the average enterprise devotes up to fifty percent of its entire technology infrastructure to development and test, but typically up to ninety percent of it remains idle. IBM purchased Rational a number of years ago, and is particularly strong in supporting application development and testing. Smart Business Development and Test on the IBM Cloud offers flexible provisioning on demand, at a predetermined cost. The IBM Smart Business Development and Test on the IBM Cloud is a dynamically provisioned and scaled runtime environment that provides a complete environment to develop and test application code; of course, it highlights IBM’s software offerings. These include tools to configure and manage the dynamic execution environment, an IDE that facilitates the direct use of the execution environment, and build and test tools that can exploit the execution environment. Other areas supported include SaaS solutions for collaboration and governance infrastructure and resource repositories for source and reusable assets. It is available now in North America. The IBM Smart Business Development and Test Cloud provides an onpremises cloud, built by IBM Services. IBM CloudBurst offers pre-integrated hardware, storage,
  • 88.
    CLOUD COMPUTING CS& BCA 88 A. SIVASANKARI , SIASC. virtualization, and networking to create an onpremises cloud environment. Service management capability is delivered via IBM Tivoli Service Automation Manager V7.2. IBM’s Smart Business Desktop Cloud Solution is an on-premise approach providing virtualized desktops to provide replication of a standardized desktop to enterprises. In May 2010, IBM acquired Cast Iron Systems, a cloud integrator, to deliver industry- leading cloud integration software, appliances, and services. It does this on a cross-vendor basis; for example, it integrates cloud applications from providers (such as Salesforce.com, Amazon, NetSuite, and ADP) with on-premise applications (such as SAP and JD Edwards). Cast Iron has hundreds of prebuilt templates and services expertise, reducing custom coding and allowing cloud integrations to be completed in the space of days, rather than weeks or longer. These results can be achieved using a physical appliance, a virtual appliance, or a cloud service. IBM also strengthened its offerings by acquiring Sterling Commerce from AT&T. PayPal, the online payment system is extending its global payments platform, PayPal X, into the cloud. PayPal is working with the IBM Cloud Labs to quickly monetize new applications developed and made available via smart phones. “We want to vice president of platform and emerging technologies. “The IBM cloud provides a platform for developers to come together as a community, to create, develop and test new applications. We look forward to seeing the payments innovations our developers create through the IBM cloud and bringing the wallet into the cloud.” One of I.B.M.’s test beds for cloud computing has been the Interior Department’s National Business Center, a service center that handles payroll, human relations, financial reporting, contracting services and other computing tasks for dozens of federal agencies. The center runs two large data centers, one in Northern Virginia and another outside Denver. Douglas J. Bourgeois, the center’s director, said he is introducing several cloud-style applications over the next nine months including Web-based training, and staffing and recruitment software. In tests with financial and procurement software, the cloud-computing environment has delivered efficiencies of 40 to 60 percent in productivity and power consumption, he stated. “For us, like other data centers, the volume of data continues to explode,” Mr. Bourgeois said. “We want to solve some of those problems with cloud computing, so we don’t have to build another $20 million data center.” IBM Cloud Resources
  • 89.
    CLOUD COMPUTING CS& BCA 89 A. SIVASANKARI , SIASC. • IBM’s Cloud Computing Portfolio and Overview • IBM developer Works • IBM Cloudburst • Small Business Development and Test Cloud Recent IBM Cloud Press Releases • IBM Advances Cloud Initiatives with Acquisition of Cast Iron Systems • IBM LotusLive Expands with Business Tools and Services from UPS, Skype, Salesforce.com and Silanis to Serve Growing Demand for Cloud Computing • IBM Extends Development and Test to the IBM Cloud • IBM Launches Initiative to Foster Cybersecurity Collaboration with Public and Private Sector Clients • IBM Launches Academic Cloud to Speed Delivery of Technology Skills to College Students • Panasonic Ushers in the Cloud Computing Era with IBM Lotus-Live.
  • 90.
    CLOUD COMPUTING CS& BCA 90 A. SIVASANKARI , SIASC. UNIT – III CLOUD COMPUTING FOR EVERYONE 3.1 CENTRALIZING EMAIL COMMUNICATIONS The primary objective of Cloud Computing is to provide effortless access to emails at anywhere and anytime. In earlier pre-Cloud Computing, email access was through a single computer, where all email messages are stored. Microsoft Outlook or Outlook Express which installed on a personal computer are mostly used for the above purpose. ISP’s email access web page is needed if the client wanted to see home email from work. There is no sync between the messages on home pc, which is the beginning of troubles with demanding to communicate in this manner. To overcome these limitations, web-based email service such as Yahoo! Mail(mail.yahoo.com), Microsoft’s Windows Live Hotmail (mail.live.com) or Google’s Gmail (mail.Google.com). These applications keep email inbox in the Cloud which user can access it from any type of computer connected to Internet service. User’s sending or receiving messages are stored on the web, so there is no dependency on a single computer. User’s always enabled to access synchronized message that, it doesn’t matter what type of computer they are used is the primary purpose of using web-based email. Users can use any type of computer to access their emails because messages are stored in the Cloud, not in Personal Computer • The key here is to change anywhere/anytime access to email. • Precloud computing, your email access was via one pc, that additionally keep all of your email messages. • For this purpose, you almost certainly used a program like Microsoft Outlook or Outlook specific, put in on your data processor. • To envision your home email from work, it took a small amount of juggling and maybe the employment of your ISP’s email access web content. • That web content was ne'er in synchronise with the messages on your home laptop, of course, that is simply the beginning of the issues with making an attempt to speak during this fashion. • A better approach is to use a web-based email service, such as Google’s Gmail (mail.google.com), Microsoft’s Windows Live Hotmail (mail.live.com), or Yahoo! Mail (mail.yahoo.com).
  • 91.
    CLOUD COMPUTING CS& BCA 91 A. SIVASANKARI , SIASC. • These services place your email inbox in the cloud; you can access it from any computer connected to the Internet. The main benefits of centralized e-mail communication service are: • It reduces the need for organizations to invest in and maintain their own on- premises IT resources • It enables scalability to meet workload and user demands • There are fewer wasted resources because customers only pay for what they use. 3.1.1. COLLABORATING VIA WEB-BASED COMMUNICATION TOOLS GMAIL: • Gmail offers a few unique features that set it apart from the web-based email crowd. • First, Gmail doesn’t use folders. With Gmail you can’t organize your mail into folders, as you can with the other services. • Instead, Gmail pushes the search paradigm as the way to find the messages you want not a surprise, given Google’s search-centric business model. • Gmail does, however, let you “tag” each message with one or more labels. This has the effect of creating virtual folders, as you can search and sort your messages by any of their labels. • In addition, Gmail groups together related email messages in what Google calls conversations. Yahoo! Mail Yahoo! Mail (mail.yahoo.com) • It is another web mail service, provided by the popular Yahoo! search site. • The basic Yahoo! Mail is free and can be accessed from any PC, using any web browser. • Yahoo! also offers a paid service called Yahoo! Mail Plus that lets you send larger messages and offers offline access to your messages via POP email clients WEB MAIL SERVICES • AOL Mail (mail.aol.com) • BigString (www.bigstring.com) • Excite Mail (mail.excite.com) • FlashMail (www.flashmail.com) GMX Mail (www.gmx.com) • Inbox.com (www.inbox.com) • Lycos Mail (mail.lycos.com) • Mail.com (www.mail.com)
  • 92.
    CLOUD COMPUTING CS& BCA 92 A. SIVASANKARI , SIASC. • Zoho Mail (zoho.mail.com) DATA SECURITY • Information in a cloud environment has much more dynamism and fluidity than information that is static on a desktop or in a network folder • Nature of cloud computing dictates that data are fluid objects, accessible from a multitude of nodes and geographic locations and, as such, must have a data security methodology that takes this into account while ensuring that this fluidity is not compromised • The idea of content-centric or information-centric protection, being an inherent part of a data object is a development out of the idea of the “de-perimerization” of the enterprise. • This idea was put forward by a group of Chief Information Officers (CIOs) who formed an organization called the Jericho Forum 3.1.2 COLLABORATING ON SCHEDULES Now- a- days, continuous access to schedule is more important. Every person needs to maintain a calendar to schedule their daily activities. Example: Youth sports team, Community Organization, school event or some community event. A web-based calendar can organize the schedules in a very simple manner. Example applications are Yahoo calendar or Google Calendar. User can access these applications anywhere and anytime with the help of internet. Google Calendar is a free application tool for maintaining personal and professional schedules which keep tracking of all user events and possible to share with others. Like traditional day planner, this tool keeps track of sports practices, meetings, doctor visits and social events in a customized way. The features of web-based calendars vary from simple to complex and also available as free or low cost. The other members from family are also possible to include their events in this calendar. The benefits of the web-based calendar are listed below: • Create appointments, list events, and note tasks. • Schedule recurring items such as anniversaries, birthdays, and meetings. • View a day, week, month or year. • Revise or add notes to calendar entries. • Create a personal calendar or create a group calendar for club or organization. • Provide the ability to send yourself reminders via email. • A way to keep in touch and coordinate with family, friends and associates.
  • 93.
    CLOUD COMPUTING CS& BCA 93 A. SIVASANKARI , SIASC. • We can access your schedule from anywhere • Your calendar is associated with your email account so no one else can access it without valid login name and password. • It comes to coordinating multiple individuals or families in a community activity; you have your work cut out for you. • Whether it‘s a youth sports team, community organization, school event, or some community event, trying to line up who‘s free and who‘s not on a given evening takes a lot of effort unless, that is, you‘re using web-based scheduling tools. • One of the most common community activities: youth sports. whatever the sport, there‘s a lot of activities that need to be scheduled practices, home games, away games, team meetings, you name it. • Multiply the number of players (and coaches) on each team times the number of events, and you see the complexity; it gets even worse if you‘re trying to manage events for an entire league. • When it comes to coordinating multiple individuals or families in a community activity, you have your work cut out for you. • Whether it‘s a youth sports team, community organization, school event, or some community event, trying to line up who‘s free and who‘s not on a given evening takes a lot of effort unless, that is, you‘re using web-based scheduling tools. FIG 3.1 CLOUD COMPUTING RESOURCES
  • 94.
    CLOUD COMPUTING CS& BCA 94 A. SIVASANKARI , SIASC. MANAGING SCHEDULES • Better way is web-based scheduling. Everyone places his or her schedule in the cloud, which then enables the meeting‘s organizer to easily see who‘s available when. • The cloud-based app finds the best time for all involved and schedules the meeting. No more emails, no more phone calls; it all happens automatically, in the cloud. • Web-based scheduling programs let you schedule both in-person meetings and teleconferences with attendees from multiple locations. You‘re not limited to just those people located in your office; you can work with the schedules of people around the country and even in different firms. SPORTS TEAM SCHEDULES • Here‘s one of the most common community activities: youth sports. Maybe your son is on an intramural football team, or your daughter is into youth soccer. • Whatever the age, whatever the sport, there‘s a lot of activities that need to be scheduled practices, home games, away games, team meetings, you name it. • Multiply the number of players (and coaches) on each team times the number of events, and you see the complexity; it gets even worse if you‘re trying to manage events for an entire league. • How best, then, to juggle all the schedules of so many people and events? The best way is to use a web-based calendar tool, such as Google Calendar (calendar.google.com), Yahoo! Calendar (calendar.yahoo.com), or Calendar Hub (www.calendarhub.com). • Just create a public calendar and provide the URL to all the team members. After you add all your team activities to the calendar, team members simply have to log in to see what‘s coming up this week and next. 3.1.3 COLLABORATING TO-DO LISTS One of the primary types of To-Do List is the grocery list. To-Do List will be huge if the user has a lot of household chores and repairs. To collaborate on users to do list, web- based word processing applications can be used. Multiple To-Do lists are possible to create by using applications such as Zoho Planner. It is an online planner tool having a calendar, To- Do list, pages and email reminders to collaborate with other users. An Example application is remembering the milk, web-based to-do list application. By using this application, user’s can manage the task from a computer or smartphone which helps to remember their tasks both offline or online.
  • 95.
    CLOUD COMPUTING CS& BCA 95 A. SIVASANKARI , SIASC. Ta- Da list is also another web-based To- Do list application which users can make a list of tasks that need to do. It is very simple and similar to the traditional approach, create a list of things that need to be done and mark off each item after complete and also possible to manipulate the list. Example Applications Any.DO Any.DO really delivers on simple and intuitive gesture-based functionality. Easily plan out all your tasks for today, tomorrow or for the entire month with all sorts of lists of items that can be easily checked off with a simple swipe to your device's screen. You can separate lists between personal or work, add reminders, build a grocery list or make your list on the go with its speech recognition feature. All of your lists and notes can then be seamlessly synced for accessibility across all of your devices. Evernote Evernote is one of the most popular cross-platform tools people use to maintain all sorts of things — photos, documents, videos, recipes, lists and so much more. If you use Evernote regularly from a desktop computer, including the Evernote Web Clipper tool, having all of your to-do lists and notes kept in one simple place may be ideal for you. Make a new note, sync up your Evernote account, and all of your notes will be available on all of your devices. With a free subscription, you can access your Evernote notes on up to two devices Todo Cloud Todo Cloud is an incredible tool designed to be used both on the desktop and mobile for creating lists and staying organized — particularly if you're working in a team and need to share all of your tasks and progress with others. Although everything Todo Cloud has to offer isn't exactly free, it does offer a free trial of its best features. The real power of this app comes from taking advantage of its premium subscription features. Share lists, assign tasks straight from within the app, leave comments, geotag notes, receive email notifications and do so much more with this fantastic award-winning app. Google Keep Android users will love this one. It's even available for iOS users too! Google Keep is a powerful productivity app that you use through your existing Google account, which is also available on the web and as a Chrome add-on, so everything can be synced up and accessed from whatever device you're using. Keep adopts a simple Pinterest-like format for creating
  • 96.
    CLOUD COMPUTING CS& BCA 96 A. SIVASANKARI , SIASC. lists and notes, which may not be ideal for everyone, but looks great when you use photos and create very quick, short notes to remember. If you think you'd enjoy a more visual look at your lists, this list app may be the app for you. • A grocery list is just one type of to-do list. If you have a lot of household chores and repairs, it‘s likely that you have a larger to-do list for your household. And, if your household is like mine, that list grows every day! • You and your spouse can collaborate on your to-do list by using a web-based word processing application, as we just discussed, or you can use a dedicated web based planning program. • These applications, such as Zoho Planner (planner.zoho.com) let you create multiple to-do lists on the web, which you and your spouse can both add to from any computer, at any time. You can even set email reminders to refresh your memory when a task is due. • Add your tasks one at a time, and then mark them off as they‘re completed. • If these applications are too advanced for your needs, consider using a simpler web- based to-do list application. • These applications, such as Remember the Milk (www.rememberthemilk.com) and Ta-da List (www.tadalist.com), operate more like a simple notepad-based list. • Some even let you add tasks via email or access the list when you‘re on the go with your mobile phone. • If these applications are too advanced for your needs, consider using a simpler web- based to-do list application. • These applications, such as Remember the Milk (www.rememberthemilk.com) and Ta-da List (www.tadalist.com), operate more like a simple notepad-based list. • Some even let you add tasks via email or access the list when you’re on the go with your mobile phone. FIGURE 3.2 COLLABORATING TO-DO LISTS
  • 97.
    CLOUD COMPUTING CS& BCA 97 A. SIVASANKARI , SIASC. 3.1.4 COLLABORATING ON HOUSEHOLD BUDGETS • If you’re like me, you don’t like surprises—especially financial ones. I like to keep a rather tight cash flow budget for my family, so that I know what’s coming in and what’s going out on a weekly basis. Problems occur when my wife has a big expense that I didn’t know about—and didn’t budget for. • You can minimize these types of unwelcome surprises by collaborating with your spouse on your household budget. • This is easy enough to do when you use a web-based spreadsheet program, such as Google Spreadsheets (part of the Google Docs suite, at docs.google.com), to create your budget; you and your spouse can then enter budget items separately, when it’s convenient for both of you. • Remember an upcoming expenditure while you’re sitting in a meeting at work? Just go online and add the expense to your web-based budget. • Find out about a necessary repair when you’re watching TV? Just walk over to your home PC, log in to the web-based spreadsheet, and enter that expense. • Budgets get a lot easier when you can update them any time and anywhere— and when both spouses can do so. • Of course, budget collaboration can also be interactive. Perhaps you see a new flat-screen TV in your future, and enter that item into your web-based budget. • Your spouse might disagree about the item’s importance or cost. • She can just as easily go online and lower the budget for that item—or delete it completely. 3.1.5 COLLABORATING ON CONTACT LISTS • You have your friends, your spouse has her friends, and both of you have business contacts and acquaintances that you need to keep track of—even if you only reach out to them once a year. • If your family is like mine, this describes the list we use for our annual holiday cards, which for us approaches a hundred names long. • Managing your family’s contact list isn’t always easy. Yes, you have your most-contacted contacts stored in Microsoft Outlook or some similar program, but that list of names exists only on one computer.
  • 98.
    CLOUD COMPUTING CS& BCA 98 A. SIVASANKARI , SIASC. • Your contacts are on your PC, your spouse’s contacts are on her PC, and your lists of work contacts are probably on your work computers. • How do you merge and manage all these names—in time to address and mail your cards before the holidays? A good solution for managing contacts from multiple family members is to use a web-based program for contact management. There are few different ways to approach this. MANAGING CONTACT LISTS • Salespeople have to deal with lots and lots of contacts. Not only is their address book full, they need to know when to contact certain clients, when follow-up calls are necessary, what the boss needs them to do today. • The solution, of course, is a web-based contact management or customer resource management (CRM) application. • These programs are tailored to the needs of a busy salesperson and come complete with features such as activity scheduling, appointment reminders, email templates, and the like. Among the most popular of these applications are BigContacts (www.bigcontacts.com), High-rise (www.highrisehq.com), and the market leading Salesforce.com (www.salesforce.com). 3.1.6 COLLABORATING ON SCHOOL PROJECTS • You and your spouse aren’t the only family members who can benefit from the collaborative nature of web-based applications. • Consider your school-aged children, and all the school projects they have to do. Many of these projects are group projects, and there’s no easier way to collaborate on a group project than to use web-based applications. • Let’s say that little Timmy is assigned to a group of students that has to put together a presentation on Mark Twain. • These days, most grade school students know how to use Microsoft PowerPoint, so something similar is required for the final presentation. • Instead of driving your kids around to each others’ houses, they can collaborate over the web from their own homes, saving you time and gasoline. • There are several decent web-based presentation programs, but one of the most popular (probably because it’s free) is Google Presentations, part of the Google Docs suite of programs (docs.google.com).
  • 99.
    CLOUD COMPUTING CS& BCA 99 A. SIVASANKARI , SIASC. • It’s easy for each member of the team to add to the presentation as they see fit. When one member adds a new slide, other team members see that slide immediately on their own computer screens. • To facilitate communication during the span of the project, your kids can use a web-based email program, such as Gmail, to send messages back and forth from their own computers. • Even better, sign them up to an instant messaging service, such as AOL Instant Messenger (www.aim.com) or Yahoo! Messenger (messenger.yahoo.com), so that they can text each other in real time. • If the project is particularly complicated, it might help for the kids to coordinate their schedules for all the pieces and parts. • Basic project management can be accomplished in a web-based calendar program, such as Google Calendar (calendar.google.com), or in a simple planner program, such asZoho Planner (planner.zoho.com). • For more complicated projects with a lot of individual tasks, consider using a dedicated project management application, such as Basecamp (www.basecamphq.com). Whatever application they use, the kids should break their project down into all its component parts, and assign each part to an individual— along with a due date. 3.3 SHARING FAMILY PHOTOS • Here’s one thing most families have lots of: photographs. In today’s digital world, the photographs are likely digital ones, capable of being shared via email or uploaded to the web.
  • 100.
    CLOUD COMPUTING CS& BCA 100 A. SIVASANKARI , SIASC. • When you have photos you want to share with a lot of family and friends, the best course of action is to use a web-based photo sharing service. • There are lots of these sites available, from non-commercial sites like Flickr (www.flickr.com) to sites that like to sell you prints and other products, such as Shutterfly (www.shutterfly.com). • Any of these sites let you create your own online photo albums and then upload your digital photos to these albums. • You then send the album’s URL to your friends and family, and they can view all your photos online—either one at a time or in an online photo slideshow. • Many of these sites go the next step and let visitors order prints of the photos you upload. (That’s how they make money, after all; the photo hosting is typically free.) • When your Aunt Edna sees a photo she likes, it’s a simple matter to check that photo, click the “order prints” button, provide her credit card number, and have prints made and delivered to her door. Of course, not every photo you take is a winner. • Many digital photos can benefit greatly from simple photo editing. Although some photo sharing sites offer modest photo editing capabilities, you’re probably better off using a dedicated web-based photo editing application, such as Adobe’s Photoshop Express (www.photoshop.com/express/). • These programs not only offer easy-to-use photo editing tools, but also help you manage the photos stored on your own PC. • And, because they’re based in the cloud, you can access these programs (typically for free) from any PC anywhere you have an Internet connection FIGURE 3.4 SHARING FAMILY PHOTOS
  • 101.
    CLOUD COMPUTING CS& BCA 101 A. SIVASANKARI , SIASC. 3.1.8 THE COLLABORATIVE FAMILY • In the old days, family life was simpler. Kids had less homework, fewer friends, and fewer activities and commitments. • Adults had a work life and a home life, and the two didn’t overlap. There were fewer time constraints across the board; you worked or went to school during the day and did family stuff at night and on weekends. • Today, family life is a lot more complicated. Kids have tons of homework (much of it requiring online research and group collaboration), hundreds of virtual friends located around the globe, and a schedule of activities so full it takes a full-time project manager to keep track of them all. • Adults take work home with them and manage home activities at work, thanks to Black Berries, iPhones, and notebook computers. • It’s tough to tell when work ends and family time begins. And for all concerned, life is a never-ending series of tasks and commitments and things that have to be done now, no exceptions. • All this activity causes time and schedule stress among all the members of your family, from the oldest to the youngest. • Although technology can’t make any of these tasks go away (and in fact enable some of this hyperactivity), it can help you manage what you’re doing. • Technology—cloud computing technology in particular—is proving quite useful in helping people keep track of various tasks and activities, and coordinate and collaborate with others to better get things done. FIGURE 3.5 THE COLLABORATIVE FAMILY
  • 102.
    CLOUD COMPUTING CS& BCA 102 A. SIVASANKARI , SIASC. 3.2 CLOUD COMPUTING FOR THE COMMUNITY OBJECTIVE This is the last Cloud Computing Deployment Model, after the Private Cloud. In this Community Cloud Model, we are going to learn the important advantages of Community Cloud with an example. WHAT IS A COMMUNITY CLOUD? • The cloud service shares among various organizations and companies which belong to the same community with the common concerns. This can manage either by the third party or internally. • Organizations having similar computing concern and have shared interest can share it. This type of cloud computing is best compatible with ventures, business organizations, research organizations, and tenders. This benefits the user of community cloud to know and analyze the business demand first. The presence of the community cloud can be either onsite or offsite. • Community cloud diminishes the cost pressure, security concerns, technical complexities, and lack of specific services. The infrastructure is shared by several organizations and supports a specific community that has shared concerns FIG 3.6 PROVIDES A GENERAL VIEW OF THE USAGE SCENARIO OF COMMUNITY CLOUDS
  • 103.
    CLOUD COMPUTING CS& BCA 103 A. SIVASANKARI , SIASC. COMMUNITY CLOUD IS ADAPTIVE IN NATURE The Community Cloud is very adaptive in nature such that there is a very gradual migration process. Moreover, there are more and more resources available in the data centre and migrations can be done at many levels. FIG 3.7 COMMUNITY CLOUD MODEL Candidate sectors for community clouds are as follows: Media industry: • In the media industry, companies are looking for low-cost, agile, and simple solutions to improve the efficiency of content production. • Community clouds can provide a shared environment where services can facilitate business-to-business collaboration and offer the horsepower in terms of aggregate bandwidth, CPU, and storage required to efficiently support media production. Healthcare industry: • In the healthcare industry, there are different scenarios in which community clouds could be of use.
  • 104.
    CLOUD COMPUTING CS& BCA 104 A. SIVASANKARI , SIASC. • Community clouds can provide a global platform on which to share information and knowledge without revealing sensitive data maintained within the private infrastructure. Energy and other core industries: In these sectors, community clouds can bundle the comprehensive set of solutions that together vertically address management, deployment, and orchestration of services and operations. Public sector: • Legal and political restrictions in the public sector can limit the adoption of public cloud offerings. • Moreover, governmental processes involve several institutions and agencies and are aimed at providing strategic solutions at local, national, and international administrative levels. Scientific research: Science clouds are an interesting example of community clouds. The common interest driving different organizations sharing a large distributed infrastructure is scientific computing. Example of Community Cloud • Community cloud can explain with the help of an example. There are organizations which require the application, which is available at one set of cloud servers. • So, the company which are allowing multiple servers will not provide a particular server in the cloud. • But they will allow multiple customers to connect to the cloud and segment their sessions. The customer will use the same hardware the other customers are using. It simply means that servers are using the same application which makes it a community cloud. ADVANTAGES: 1. Flexibility and Scalability The community cloud is very scalable and flexible as it is mostly compatible with every user and they can modify as per their use. The cloud will support ways like acquisitions, reductions in branches or employees, or rapid climb. 2. Available and Reliable
  • 105.
    CLOUD COMPUTING CS& BCA 105 A. SIVASANKARI , SIASC. The replication of data is done in the cloud to protect it against the disaster. It is replicated to various places which are safe and secure. The cloud includes redundant property, networking, storage, hardware, uninterruptible power provide, generators, replicated knowledge stores, onsite fuel, and more. 3. Secure and Compliance The data of the clients should be secure and manage properly. When applications and knowledge offer anytime and anyplace from any device, the info ought not to move. It should be able to block users from downloading.Sensitive data should be kept securely and on the servers. These data should not be kept elsewhere an intensive security audit revealed that the sensitive data is present on desktops, laptops, backup units, USB drives, smartphones, tablets, and even employees’ personal computers. 4. Improved Services Community Cloud includes all systems, applications, and data within the cloud which removes the requirement to own valuable IT employees to take care of and support those systems. This will raise a fact that the customers will target the rising companies and services. There are two fundamentally different types of clouds, public and private. Each has its own advantages and disadvantages. The cloud-service providers (CSPs) may offer hybrid clouds that combine features of both the public and private models. ➢ Public ➢ Private ➢ Hybrid Public Clouds • In a public cloud, individual businesses share on premise and access to basic computer infrastructure provided by a CSP. • Each company shares the CSP’s infrastructure with the other companies that have subscribed to the cloud. • Payment is usually pay-as-you-go with no minimum time requirements. Some CSPs derive revenue from advertising and offer free public clouds.
  • 106.
    CLOUD COMPUTING CS& BCA 106 A. SIVASANKARI , SIASC. • Public clouds are usually based on massive hardware installations distributed in locations throughout the country or across the globe. • Their size enables economies of scale that permit maximum scalability to meet requirements as a company’s needs expand or contract, maximum flexibility to meet surges in demand in real time, and maximum reliability in case of hardware failures. • Public clouds are highly cost effective because the business only pays for the computer resources it uses • The main disadvantage of public clouds is that advanced security and privacy provisions are beyond their capabilities. Private Clouds • In a private cloud, a business has access to infrastructure in the cloud that is not shared with anyone else. • The business typically deploys its own platforms and software applications on the cloud infrastructure. • The business’s infrastructure usually lies behind a firewall that is accessed through the company intranet over encrypted connections. Payment is often based on a fee-per- unit-time model. • Private clouds have the significant advantage of being able to provide enhanced levels of security and privacy because computer infrastructure is dedicated to a single client. • An important disadvantage of private clouds for some companies is that the company is responsible for managing their own development platforms and software applications on the CSP’s infrastructure. • Private clouds have the additional disadvantages that they tend to be more expensive and the company is limited to using the infrastructure specified in their contract with the CSP. Hybrid Cloud • In a hybrid cloud, a company’s cloud deployment is split between public and private cloud infrastructure. • Sensitive data remains within the private cloud where high security standards can be maintained. Operations that do not make use of sensitive data are carried out in the public cloud where infrastructure can scale to meet demands and costs are reduced. • Hybrid clouds are well suited to carrying out big data operations on non-sensitive data in the public cloud while keeping sensitive data protected in the private cloud.
  • 107.
    CLOUD COMPUTING CS& BCA 107 A. SIVASANKARI , SIASC. 3.3 COLLABORATING ON GROUP PROJECTS AND EVENTS Community groups often have a lot on their plates. Someone has to schedule the next fundraiser, someone else needs to print up flyers, someone else is in charge of recruiting new members. FIGURE 3.8 COLLABORATING ON GROUP PROJECTS AND EVENTS 3.3.1 COLLABORATING ON TASK MANAGEMENT • For managing more complex tasks, a simple to-do list application might not cut the mustard. Instead, consider using a web-based task management application that lets you manage the multiple pieces and parts of large projects. • Basic task management can be accomplished with applications such as HiTask (www.hitask.com) and Zoho Planner (planner.zoho.com). • For the most complicated projects, consider using a dedicated project management application, such as Basecamp (www.basecamphq.com) or Goplan (www.goplan.com). • Whichever option you choose, you must break your project down into all its component tasks, set a due date for each, and then assign each task to a specific group member. • Group members can then access the application online from their own computers and update the project with their own individual progress.
  • 108.
    CLOUD COMPUTING CS& BCA 108 A. SIVASANKARI , SIASC. FIGURE 3.9 COLLABORATING ON TASK MANAGEMENT 3.3.2 COLLABORATING ON EVENT MANAGEMENT • When you‘re putting on a big event such as a concert or conference, you have a whole new set of challenges to face. • Not only do you have to manage the tasks involved with putting together the event, you also have to handle attendee registration, event marketing, ticket sales, and the like. • It‘s a massive effort made somewhat easier by web-based event management tools. With web-based event management applications, the cloud hosts everything you need to schedule and market your events, as well as handle registration, payment, and other important tasks. Most of these apps also offer detailed task and budget management functions. • These are very robust applications, capable of handling every last detail over the web. Some of the most popular of these apps include Cvent (www.cvent.com), RegOnline (www.regonline.com), and View Central (www.rmkr.com/viewcentral). • Unlike some other web-based apps, these aren‘t free; you have to pay for the power you need to manage the details of your particular event. • That‘s because most event management applications also handle basic event marketing. But when it comes to promoting your community events, you want to go beyond the basics to more creative forms of marketing.
  • 109.
    CLOUD COMPUTING CS& BCA 109 A. SIVASANKARI , SIASC. • Naturally, you can also use web-based local search sites, such as Zvents (www.zvents.com), to post announcements of your community events. You may even want to use cloud-based social media sites, such as Facebook and MySpace, to promote your event online. • And, after the event, you can post pictures of the event on community photo-sharing sites, such as Flickr (www.flickr.com). It‘s all possible because of the cloud! 3.3.2.1 UNDERSTANDING EVENT MANAGEMENT APPLICATIONS What exactly does an event management application manage? Less-sophisticated apps may focus on one or two operations, such as event registration or facilities booking. The more full-featured apps include management of everything from pre-event marketing to post- event analysis. Event Planning and Workflow Management A successful event starts well in advance of its opening date. There are tons of details involved in an event of any size, and managing all those tasks takes quite a bit of computing horsepower just the thing cloud computing can help you out with. Most event management applications include robust task planning modules, similar to what you’d find in higher-end task management applications or lower-end project management apps. What you want is the ability not just to track individual tasks in a to-do list fashion, but also benefit from sophisticated workflow management. That is, you need to know which tasks need to be completed before later tasks can be started; you need to know who’s doing what, and be alerted to any tasks that are unstaffed or understaffed. In other words, you need the planning and workflow management functionality to continue into the event itself, so that you can manage your staff in an efficient and effective manner. Event Marketing Unless you let people know about your event, you could be disappointed with the final attendance. To that end, many event management applications include modules to help you market your event. For example, many apps offer web-based email marketing, which lets you promote your event via targeted email messages. Other apps help you create your own event website (on their cloud computers), which also helps to promote your event.
  • 110.
    CLOUD COMPUTING CS& BCA 110 A. SIVASANKARI , SIASC. Event Calendar Another part of your event marketing mix is an event calendar—an online calendar that displays all the happenings within your overall event. This proves particularly useful if you’re hosting a conference or trade show made of lots of individual panels, sessions, or meetings. You can post each individual event on the main event calendar, easily accessed by any attendee or potential attendee with a web browser. Facilities Scheduling Unless you’re running a one-room meeting, chances are your event involves multiple rooms and maybe event multiple locations. If so, you need to be able to schedule different rooms for different components of your event; when a participant or group asks for a room, you need to be able to see what’s available and when. To that end, most event management apps include a facilities scheduling module. Ideally, this module ties into the event host’s systems, giving you complete power over room or hall scheduling
  • 111.
    CLOUD COMPUTING CS& BCA 111 A. SIVASANKARI , SIASC. UNIT-IV PARALLEL AND DISTRIBUTED PROGRAMMING 4.1 PARALLEL PROGRAMMING It is the use of multiple processing elements simultaneously for solving any problem. Problems are broken down into instructions and are solved concurrently as each resource which has been applied to work is working at the same time. Advantages of Parallel Computing over Serial Computing are as follows: 1. It saves time and money as many resources working together will reduce the time and cut potential costs. 2. It can be impractical to solve larger problems on Serial Computing. 3. It can take advantage of non-local resources when the local resources are finite. 4. Serial Computing ‘wastes’ the potential computing power, thus Parallel Computing makes better work of hardware. 4.1.1 TYPES OF PARALLELISM 1. Bit-level parallelism: It is the form of parallel computing which is based on the increasing processor’s size. It reduces the number of instructions that the system must execute in order to perform a task on large-sized data. Example: Consider a scenario where an 8-bit processor must compute the sum of two 16-bit integers. It must first sum up the 8 lower-order bits, then add the 8 higher-order bits, thus requiring two instructions to perform the operation. A 16-bit processor can perform the operation with just one instruction. 2. Instruction-level parallelism: A processor can only address less than one instruction for each clock cycle phase. These instructions can be re-ordered and grouped which are later on executed concurrently without affecting the result of the program. This is called instruction-level parallelism. 3. Task Parallelism Task parallelism employs the decomposition of a task into subtasks and then allocating each of the subtasks for execution. The processors perform execution of sub tasks concurrently. Why parallel computing? • The whole real world runs in dynamic nature i.e. many things happen at a certain time but at different places concurrently. This data is extensively huge to manage.
  • 112.
    CLOUD COMPUTING CS& BCA 112 A. SIVASANKARI , SIASC. • Real world data needs more dynamic simulation and modeling, and for achieving the same, parallel computing is the key. • Parallel computing provides concurrency and saves time and money. • Complex, large datasets, and their management can be organized only and only using parallel computing’s approach. • Ensures the effective utilization of the resources. The hardware is guaranteed to be used effectively whereas in serial computation only some part of hardware was used and the rest rendered idle. • Also, it is impractical to implement real-time systems using serial computing. 4.1.2 APPLICATIONS OF PARALLEL COMPUTING • Data bases and Data mining. • Real time simulation of systems. • Science and Engineering. • Advanced graphics, augmented reality and virtual reality. 4.1.3 LIMITATIONS OF PARALLEL COMPUTING • It addresses such as communication and synchronization between multiple sub-tasks and processes which is difficult to achieve. • The algorithms must be managed in such a way that they can be handled in the parallel mechanism. • The algorithms or program must have low coupling and high cohesion. But it’s difficult to create such programs. • More technically skilled and expert programmers can code a parallelism based program well. 4.1.4 FUTURE OF PARALLEL COMPUTING The computational graph has undergone a great transition from serial computing to parallel computing. • Tech giant such as Intel has already taken a step towards parallel computing by employing multicore processors. • Parallel computation will revolutionize the way computers work in the future, for the better good. • With all the world connecting to each other even more than before, Parallel Computing does a better role in helping us stay that way.
  • 113.
    CLOUD COMPUTING CS& BCA 113 A. SIVASANKARI , SIASC. • With faster networks, distributed systems, and multi-processor computers, it becomes even more necessary. 4.2 MAP REDUCE MapReduce is a parallel programming model for writing distributed applications devised at Google for efficient processing of large amounts of data (multi-terabyte data-sets), on large clusters (thousands of nodes) of commodity hardware in a reliable, fault-tolerant manner. • The MapReduce program runs on Hadoop which is an Apache open-source framework. • Hadoop Distributed File System ,The Hadoop Distributed File System (HDFS) is based on the Google File System (GFS) and provides a distributed file system that is designed to run on commodity hardware. • It has many similarities with existing distributed file systems. However, the differences from other distributed file systems are significant. • It is highly fault-tolerant and is designed to be deployed on low-cost hardware. It provides high throughput access to application data and is suitable for applications having large datasets. • Apart from the above-mentioned two core components, Hadoop framework also includes the following two modules: Hadoop Common: These are Java libraries and utilities required by other Hadoop modules. Hadoop YARN: This is a framework for job scheduling and cluster resource management. How Does Hadoop Work? ➢ It is quite expensive to build bigger servers with heavy configurations that handle large scale processing, but as an alternative. ➢ you can tie together many commodity computers with single-CPU, as a single functional distributed system and practically, the clustered machines can read the dataset in parallel and provide a much higher throughput. ➢ It is cheaper than one high-end server. So this is the first motivational factor behind using Hadoop that it runs across clustered and low-cost machines. ➢
  • 114.
    CLOUD COMPUTING CS& BCA 114 A. SIVASANKARI , SIASC. ➢ Hadoop runs code across a cluster of computers. This process includes the following core tasks that Hadoop performs: ➢ Data is initially divided into directories and files. Files are divided into uniform sized blocks of 128M and 64M (preferably 128M). ➢ These files are then distributed across various cluster nodes for further processing. ➢ HDFS, being on top of the local file system, supervises the processing. ➢ Blocks are replicated for handling hardware failure. ➢ Checking that the code was executed successfully. ➢ Performing the sort that takes place between the map and reduce stages. ➢ Sending the sorted data to a certain computer. ➢ Writing the debugging logs for each job. ADVANTAGES OF HADOOP ➢ Hadoop framework allows the user to quickly write and test distributed systems. It is efficient, and it automatic distributes the data and work across the machines and in turn, utilizes the underlying parallelism of the CPU cores. ➢ Hadoop does not rely on hardware to provide fault-tolerance and high availability (FTHA), rather Hadoop library itself has been designed to detect and handle failures at the application layer. ➢ Servers can be added or removed from the cluster dynamically and Hadoop continues to operate without interruption. ➢ Another big advantage of Hadoop is that apart from being open source, it is compatible on all the platforms since it is Java based. 4.3 TWISTER AND ITERATIVE MAP REDUCE • MapReduce programming model has simplified the implementations of many data parallel applications. • The simplicity of the programming model and the quality of services provided by many implementations of MapReduce attract a lot of enthusiasm among parallel computing communities. • From the years of experience in applying MapReduce programming model to various scientific applications we identified a set of extensions to the programming model and improvements to its architecture that will expand the applicability of MapReduce to more classes of applications. • Twister is a lightweight MapReduce runtime we have developed by incorporating
  • 115.
    CLOUD COMPUTING CS& BCA 115 A. SIVASANKARI , SIASC. these enhancements. FIGURE 4.1 TWISTER CONFIGURATION FEATURES TO SUPPORT MAPREDUCE COMPUTATIONS ➢ Distinction on static and variable data ➢ Configurable long running (cacheable) map/reduce tasks ➢ Pub/sub messaging based communication/data transfers ➢ Efficient support for Iterative MapReduce computations (extremely faster than Hadoop or Dryad/DryadLINQ) ➢ Combine phase to collect all reduce outputs ➢ Data access via local disks ➢ Lightweight (~5600 lines of Java code) ➢ Support for typical MapReduce computations
  • 116.
    CLOUD COMPUTING CS& BCA 116 A. SIVASANKARI , SIASC. ➢ Tools to manage data TWISTER PROGRAMMING MODEL FIGURE 4.2 ITERATIVE MAPREDUCE PROGRAMMING MODEL USING TWISTER Static vs. Dynamic Data • Many iterative applications we analyzed show a common characteristic of operating on two types of data products. • Static data is used in each iteration and remain fixed throughout the computation whereas the variable data is the computed results in each iteration and typically consumed in the next iteration in many expectation maximization (EM) type algorithms.
  • 117.
    CLOUD COMPUTING CS& BCA 117 A. SIVASANKARI , SIASC. Cacheable Mappers/Reducers • Although some of the typical MapReduce computations such as distributed sorting and information retrieval consume very large data sets, many iterative applications we encounter operate on moderately sized data sets which can fit into the distributed memory of the computation clusters. • This observation led us to explore the idea of using long running map/reduce tasks similar to the long running parallel processes in many MPI applications which last throughout the life of the computation. • Current MapReduce implementations such as Hadoop and DryadLINQ do not support this behavior and hence they initiate new map/reduce tasks and load static data in each iteration incurring considerable performance overheads. Supports "side-effect-free" Programming By supporting long running map/reduce tasks Twister does not encourage users to store state information in the map/reduce tasks violating the "side-effect-free" nature of the map/reduce computations rather achieving considerable performance gains by caching the static data across map/reduce tasks. Combine step as a Further Reduction Twister also introduce an optional reduction phase named "combine", which is another reduction phase that can be used to combine the results of the reduce phase into a single value. The user program and the combine operation run on a single process space allowing its output directly accessible to the user program. This enables the user to check conditions based on the output of the MapReduce computations. Uses Pub/Sub Messaging Twister uses pub/sub messaging for all the communication/data transfer requirements which eliminates the overhead in transferring data via file systems as in Hadoop. The output <Key,Value> pairs produced during the map stage get transferred directly to the reduce stage and the output of the reduce stage get transferred directly to the combined stage via the pub-sub broker network. Data Access via Local Disks We provide two mechanisms to access data in Twister; (i) from the local disk of the computer nodes, (ii) directly from the pub-sub infrastructure. For the simplicity of the implementation, we provide a file based data access mechanism for the map/reduce tasks.
  • 118.
    CLOUD COMPUTING CS& BCA 118 A. SIVASANKARI , SIASC. Fault Tolerance [Working progress] Providing fault tolerance support for iterative computations with Twister is currently under development. 4.4 HADOOP LIBRARY FROM APACHE Apache Hadoop is an open source software framework for storage and large scale processing of data-sets on clusters of commodity hardware. Hadoop is an Apache top-level project being built and used by a global community of contributors and users.The Apache Hadoop framework is composed of the following modules Hadoop Common: It contains libraries and utilities needed by other Hadoop modules Hadoop Distributed File System (HDFS): A distributed file-system that stores data on the commodity machines, providing very high aggregate bandwidth across the cluster Hadoop YARN: A resource-management platform responsible for managing compute resources in clusters and using them for scheduling of users' applications Hadoop MapReduce: A programming model for large scale data processing. All the modules in Hadoop are designed with a fundamental assumption that hardware failures (of individual machines, or racks of machines) are common and thus should be automatically handled in software by the framework. Apache Hadoop's MapReduce and HDFS components originally derived respectively from Google's MapReduce and Google File System (GFS) papers. Beyond HDFS, YARN and MapReduce, the entire Apache Hadoop "platform" is now commonly considered to consist of a number of related projects as well: Apache Pig, Apache Hive, Apache HBase, and others.
  • 119.
    CLOUD COMPUTING CS& BCA 119 A. SIVASANKARI , SIASC. FIGURE 4.3 HADOOP DISTRIBUTED FILE SYSTEM For the end-users, though MapReduce Java code is common, any programming language can be used with "Hadoop Streaming" to implement the "map" and "reduce" parts of the user's program. Apache Pig and Apache Hive, among other related projects, expose higher level user interfaces like Pig latin and a SQL variant respectively. The Hadoop framework itself is mostly written in the Java programming language, with some native code in C and command line utilities written as shell-scripts. HDFS and MapReduce There are two primary components at the core of Apache Hadoop 1.x: the Hadoop Distributed File System (HDFS) and the MapReduce parallel processing framework. These are both open source projects, inspired by technologies created inside Google.
  • 120.
    CLOUD COMPUTING CS& BCA 120 A. SIVASANKARI , SIASC. FIGURE 4.4 HADOOP ARCHITECTURE The Hadoop distributed file system (HDFS) is a distributed, scalable, and portable file-system written in Java for the Hadoop framework. Each node in a Hadoop instance typically has a single namenode, and a cluster of datanodes form the HDFS cluster. The situation is typical because each node does not require a datanode to be present. Each datanode serves up blocks of data over the network using a block protocol specific to HDFS. The file system uses the TCP/IP layer for communication. Clients use Remote procedure call (RPC) to communicate between each other.
  • 121.
    CLOUD COMPUTING CS& BCA 121 A. SIVASANKARI , SIASC. JOBTRACKER AND TASKTRACKER: THE MAPREDUCE ENGINE FIGURE 4.5 JOB & TASK Above the file systems comes the MapReduce engine, which consists of one JobTracker, to which client applications submit MapReduce jobs. The JobTracker pushes work out to available TaskTracker nodes in the cluster, striving to keep the work as close to the data as possible. With a rack-aware file system, the JobTracker knows which node contains the data, and which other machines are nearby. If the work cannot be hosted on the actual node where the data resides, priority is given to nodes in the same rack. This reduces network traffic on the main backbone network. If a TaskTracker fails or times out, that part of the job is rescheduled. The TaskTracker on each node spawns off a separate Java Virtual Machine process to prevent the TaskTracker itself from failing if the running job crashes the JVM. A heartbeat is sent from the TaskTracker to the JobTracker every few minutes to check its status. The Job Tracker and TaskTracker status and information is exposed by Jetty and can be viewed from a web browser. If the JobTracker failed on Hadoop 0.20 or earlier, all ongoing work was lost. Hadoop version 0.21 added some checkpointing to this process. The JobTracker records what it is up to in the file system. When a JobTracker starts up, it looks for any such data, so that it can restart work from where it left off.
  • 122.
    CLOUD COMPUTING CS& BCA 122 A. SIVASANKARI , SIASC. 4.7 GOOGLE APP ENGINE • Google App Engine is a PaaS implementation that provides services for developing and hosting scalable Web applications. • App Engine is essentially a distributed and scalable runtime environment that leverages Google‘s distributed infrastructure to scale out applications facing a large number of requests by allocating more computing resources to them and balancing the load among them. • The runtime is completed by a collection of services that allow developers to design and implement applications that naturally scale on App Engine. • Developers can develop 24 applications in Java, Python, and Go, a new programming language developed by Google to simplify the development of Web applications. • Application usage of Google resources and services is metered by App Engine, which bills users when their applications finish their free quotas. Google is a leader in web-based applications, so it‘s not surprising that the company also offers cloud development services. These services come in the form of the Google App Engine, which enables developers to build their own web applications utilizing the same infrastructure that powers Google‘s powerful applications. The Google App Engine provides a fully integrated application environment. Using Google‘s development tools and computing cloud, App Engine applications are easy to build, easy to maintain, and easy to scale.
  • 123.
    CLOUD COMPUTING CS& BCA 123 A. SIVASANKARI , SIASC. FIGURE 4.6 GOOGLE APP ENGINE As you might suspect, Google offers a robust cloud development environment. It includes the following features: • Dynamic web serving • Full support for all common web technologies • Persistent storage with queries, sorting, and transactions • Automatic scaling and load balancing • APIs for authenticating users and sending email using Google Accounts
  • 124.
    CLOUD COMPUTING CS& BCA 124 A. SIVASANKARI , SIASC. 4.8 IBM • It‘s not surprising, given the company‘s strength in enterprise-level computer hardware, that IBM is offering a cloud computing solution. • The company is targeting small- and medium-sized businesses with a suite of cloud- based on demand services via its Blue Cloud initiative. • Blue Cloud is a series of cloud computing offerings that enables enterprises to distribute their computing needs across a globally accessible resource grid. • One such offering is the Express Advantage suite, which includes data backup and recovery, email continuity and archiving, and data security functionality some of the more data-intensive processes handled by a typical IT department. FIGURE 4.7 IBM 4.9 Salesforce.com Salesforce.com is probably best known forits sales management SaaS, but it‘s also a leader in cloud computing development. The company‘s cloud computing architecture is dubbed Force.com. The platform as a service is entirely on-demand, running across the Internet.
  • 125.
    CLOUD COMPUTING CS& BCA 125 A. SIVASANKARI , SIASC. Salesforce provides its own Force.com API and developer‘s toolkit. Pricing is on a per log-in basis. FIGURE 4.8 SALESFORCE.COM • Supplementing Force.com is AppExchange, a directory of web-based applications. Developers can use AppExchange applications uploaded by others, share their own applications in the directory, or publish private applications accessible only by authorized companies or clients. • Many applications in the AppExchange library are free, and others can be purchased or licensed from the original developers. OTHER CLOUD SERVICES DEVELOPMENT TOOLS Amazon, Google, IBM, and Salesforce.com aren‘t the only companies offering tools for cloud services developers. There are also a number of smaller companies working in this space that developers should evaluate, and that end users may eventually become familiar with. These companies include the following: • 3tera (www.3tera.com), which offers the AppLogic grid operating system and Cloudware architecture for on-demand computing. • 10gen (www.10gen.com), which provides a platform for developers to build scalable web-based applications.
  • 126.
    CLOUD COMPUTING CS& BCA 126 A. SIVASANKARI , SIASC. • Cohesive Flexible Technologies (www.cohesiveft.com), which offers the Elastic Server On-Demand virtual server platform. • Joyent (www.joyent.com), which delivers the Accelerator scalable ondemand infrastructure for web application developers, as well as the Connector suite of easy- to-use web applications for small businesses. • Mosso (www.mosso.com), which provides an enterprise-level cloud hosting service with automatic scaling. App Engine is a platform for developing scalable applications accessible through the Web. The platform is logically divided into four major components: infrastructure, the run- time environment, the underlying storage, and the set of scalable services that can be used to develop applications. 4.10 AMAZON EC2 INTRODUCTION • Cloud computing is at an early stage of its development. This can be seen by observing the large number of small and start-up companies offering cloud development tools. • In a more established industry, the smaller players eventually fall by the wayside as larger companies take center stage. • The cloud services development services and tools are offered by a variety of companies, both large and small. • The most basic offerings provide cloud-based hosting for applications developed from scratch. • The more fully featured offerings include development tools and pre-built applications that developers can use as the building blocks for their own unique web- based applications. • So let‘s settle back and take a look at who is offering what in terms of cloud service development. It‘s an interesting mix of companies and services. • Amazon, one of the largest retailers on the Internet, is also one of the primary providers of cloud development services.
  • 127.
    CLOUD COMPUTING CS& BCA 127 A. SIVASANKARI , SIASC. • Amazon has spent a lot of time and money setting up a multitude of servers to service its popular website, and is making those vast hardware resources available for all developers to use. • This is an Infrastructure as a Service offering. • Amazon EC2 allows deploying servers in the form of virtual machines created as instances of a specific image. • Images come with a preinstalled operating system and a software stack, and instances can be con- figured for memory, number of processors, and storage. • Users are provided with credentials to remotely access the instance and further configure or install software if needed. FIGURE 4.9 Amazon EC2 • The service in question is called the Elastic Compute Cloud, also known as EC2. • This is a commercial web service that allows developers and companies to rent capacity on Amazon‘s proprietary cloud of servers which happens to be one of the biggest server farms in the world. EC2 enables scalable deployment of applications by
  • 128.
    CLOUD COMPUTING CS& BCA 128 A. SIVASANKARI , SIASC. letting customers request a set number of virtual machines, onto which they can load any application of their choice. • Thus, customers can create, launch, and terminate server instances on demand, creating a truly elastica‖ operation. • Amazon‘s service lets customers choose from three sizes of virtual servers: Small, which offers the equivalent of a system with 1.7GB of memory, 160GB of storage, and one virtual 32-bit core processor Large, which offers the equivalent of a system with 7.5GB of memory, 850GB of storage, and two 64-bit virtual core processors Extra large, which offers the equivalent of a system with 15GB of memory, 1.7TB of storage, and four virtual 64-bit core processors.
  • 129.
    CLOUD COMPUTING CS& BCA 129 A. SIVASANKARI , SIASC. • In other words, you pick the size and power you want for your virtual server, and Amazon does the rest. EC2 is just part of Amazon‘s Web Services (AWS) set of offerings, which provides developers with direct access to Amazon‘s software and machines. By tapping into the computing power that Amazon has already constructed, developers can build reliable, powerful, and low-cost web-based applications. Amazon provides the cloud (and access to it), and developers provide the rest.Customer segments (CS) • In the Business Model Canvas, Customer Segments‖ are the groups of customers that the company ultimately serves. • The ones that consume and pay for the services. In the AWS case, although basically anybody with a credit card can spin up a virtual machine, it looks like Amazon is primarily targeting software developers and (startup) SaaS providers as the main customers. • The Amazon development teams were the first customers. External customers were initially added as an afterthought. Value Propositions (VP) • The value propositions reflect the customer problems and needs. This is the central element that describes why the customer would ultimately pay for the product or service. • The value proposition of cloud computing centers around its five essential characteristics. For example in the AWS EC2 case, the core component of the value proposition is rapid self-service provisioning of virtual machines with pay per use billing. • For each individual customer these translate into different business advantages. An example is reduced capital expenditure and reduced risk of over-investing or under- provisioning. Channels (CH) • Value propositions are delivered to customers through communications, distribution and sales channels.
  • 130.
    CLOUD COMPUTING CS& BCA 130 A. SIVASANKARI , SIASC. • It is often assumed that cloud computing relies solely self-service direct sales, but the reality is much more diverse. SaaS providers in particular are developing extensive partner programs. • AWS primarily employs a self-service direct model, where the delivery is through APIs. AWS also provides a web user interface to those APIs. • Interestingly, that interface used to lag in functionality behind the main AWS services, but these days most new features are announced on the API and the Web UI simultaneously. The model is enhanced by premium support. Customer Relationships (CR) • Customer relations are established and maintained with each specific customer segment. One of the ways that AWS maintains relationships with its customer segments is through conferences. • The 2013 reinvent developer conference attracted 9000 visitors. Additionally, there are vibrant on-line communities. Thus AWS does extensive analytics on the activity that customers have on the platform. 4.11 EUCALYPTUS Eucalyptus is a paid and open-source computer software for building Amazon Web Services (AWS)-compatible private and hybrid cloud computing environments, originally developed by the company Eucalyptus Systems. Eucalyptus is an acronym for Elastic Utility Computing Architecture for Linking Your Programs To Useful Systems. Eucalyptus enables pooling compute, storage, and network resources that can be dynamically scaled up or down as application workloads change. Mårten Mickos was the CEO of Eucalyptus. In September 2014, Eucalyptus was acquired by Hewlett-Packard and then maintained by DXC Technology. After DXCstopped developing the product in late 2017, AppScale Systems forked the code and started supporting Eucalyptus customers. Eucalyptus commands can manage either Amazon or Eucalyptus instances. Users can also move instances between a Eucalyptus private cloud and the Amazon Elastic Compute Cloud to create a hybrid cloud. Hardware virtualization isolates applications from computer hardware details
  • 131.
    CLOUD COMPUTING CS& BCA 131 A. SIVASANKARI , SIASC. Eucalyptus uses the terminology • Images – An image is a fixed collection of software modules, system software, application software, and configuration information that is started from a known baseline (immutable/fixed). When bundled and uploaded to the Eucalyptus cloud, this becomes a Eucalyptus machine image (EMI). • Instances – When an image is put to use, it is called an instance. The configuration is executed at runtime, and the Cloud Controller decides where the image will run, and storage and networking is attached to meet resource needs. • IP addressing – Eucalyptus instances can have public and private IP addresses. An IP address is assigned to an instance when the instance is created from an image. For instances that require a persistent IP address, such as a web-server, Eucalyptus supplies elastic IP addresses. These are pre-allocated by the Eucalyptus cloud and can be reassigned to a running instance. • Security – TCP/IP security groups share a common set of firewall rules. This is a mechanism to firewall off an instance using IP address and port block/allow functionality. Instances are isolated at TCP/IP layer 2. If this were not present, a user could manipulate the networking of instances and gain access to neighbouring instances violating the basic cloud tenet of instance isolation and separation. • Networking – There are three networking modes. In Managed Mode, Eucalyptus manages a local network of instances, including security groups and IP addresses. In System Mode, Eucalyptus assigns a MAC address and attaches the instance's network interface to the physical network through the Node Controller's bridge. System Mode does not offer elastic IP addresses, security groups, or VM isolation. In Static Mode, Eucalyptus assigns IP addresses to instances. Static Mode does not offer elastic IPs, security groups, or VM isolation. • Access Control – A user of Eucalyptus is assigned an identity, and identities can be grouped together for access control.
  • 132.
    CLOUD COMPUTING CS& BCA 132 A. SIVASANKARI , SIASC. FIGURE 4.10 EUCALYPTUS 4.11.1 EUCALYPTUS COMPONENTS • The Cloud Controller (CLC) is a Java program that offers EC2-compatible interfaces, as well as a web interface to the outside world. In addition to handling incoming requests, the CLC acts as the administrative interface for cloud management and performs high- level resource scheduling and system accounting. The CLC accepts user API requests from command-line interfaces like euca2ools or GUI-based tools like the Eucalyptus User Console and manages the underlying compute, storage, and network resources. Only one CLC can exist per cloud and it handles authentication, accounting, reporting, and quota management. • Walrus, also written in Java, is the Eucalyptus equivalent to AWS Simple Storage Service (S3). Walrus offers persistent storage to all of the virtual machines in the Eucalyptus cloud and can be used as a simple HTTP put/get storage as a service solution. There are no data type restrictions for Walrus, and it can contain images (i.e., the building blocks used to launch virtual machines), volume snapshots (i.e., point-in-time copies), and application data. Only one Walrus can exist per cloud. • The Cluster Controller (CC) is written in C and acts as the front end for a cluster within a Eucalyptus cloud and communicates with the Storage Controller and Node Controller. It
  • 133.
    CLOUD COMPUTING CS& BCA 133 A. SIVASANKARI , SIASC. manages instance (i.e., virtual machines) execution and Service Level Agreements (SLAs) per cluster. • The Storage Controller (SC) is written in Java and is the Eucalyptus equivalent to AWS EBS. It communicates with the Cluster Controller and Node Controller and manages Eucalyptus block volumes and snapshots to the instances within its specific cluster. If an instance requires writing persistent data to memory outside of the cluster, it would need to write to Walrus, which is available to any instance in any cluster. • The VMware Broker is an optional component that provides an AWS-compatible interface for VMware environments and physically runs on the Cluster Controller. The VMware Broker overlays existing ESX/ESXi hosts and transforms Eucalyptus Machine Images (EMIs) to VMware virtual disks. The VMware Broker mediates interactions between the Cluster Controller and VMware and can connect directly to either ESX/ESXi hosts or to vCenter Server. • The Node Controller (NC) is written in C and hosts the virtual machine instances and manages the virtual network endpoints. It downloads and caches images from Walrus as well as creates and caches instances. While there is no theoretical limit to the number of Node Controllers per cluster, performance limits do exist. 4.11.2 HISTORY Version Date Eucalyptus 4.4.5 Dec 28, 2018 Eucalyptus 4.4.4 Jul 9, 2018 Eucalyptus 4.4.3 Apr 30, 2018 Eucalyptus 4.4.2 Aug 30, 2017 Eucalyptus 4.4.1 May 9, 2017 Eucalyptus 4.4.0 March 7, 2017 Eucalyptus 4.3.1 December 14, 2016 Eucalyptus 4.3.0 August 9, 2016 Eucalyptus 4.2.2 April 28, 2016 Eucalyptus 4.2.1 December 7, 2015 Eucalyptus 4.2.0 October 22, 2015
  • 134.
    CLOUD COMPUTING CS& BCA 134 A. SIVASANKARI , SIASC. Eucalyptus 4.1.2 July 29, 2015 Eucalyptus 4.1.1 May 11, 2015 Eucalyptus 4.1.0 January 29, 2015 Eucalyptus 4.0.2 October 20, 2014 Eucalyptus 4.0.1 August 13, 2014 Eucalyptus 4.0 May 30, 2014 Eucalyptus 3.4.2 February 24, 2014 Eucalyptus 3.4 October 24, 2013 Eucalyptus 3.3 June 18, 2013 Eucalyptus 3.2 December 19, 2012 Eucalyptus 3.1 June 27, 2012 Eucalyptus 3.0 February 8, 2012 Eucalyptus 2.0 August 2010 Eucalyptus 1.6 November 2009 4.12 OPENNEBULA OpenNebula is a cloud computing platform for managing heterogeneous distributed data center infrastructures. The OpenNebula platform manages a data center's virtual infrastructure to build private, public and hybrid implementations of infrastructure as a service. The two primary uses of the OpenNebula platform are data center virtualization solutions and cloud infrastructure solutions.The platform is also capable of offering the cloud infrastructure necessary to operate a cloud on top of existing infrastructure management solutions. OpenNebula is free and open-source software, subject to the requirements of the Apache License version 2.e 4.12.1 HISTORY • Version 4.4, released in 2014, brought a number of innovations in Open Cloud, improved cloud bursting, and implemented the use of multiple system datastores for storage load policies.
  • 135.
    CLOUD COMPUTING CS& BCA 135 A. SIVASANKARI , SIASC. • Version 4.6 allowed users to have different instances of OpenNebula in geographically dispersed and different data centers, this was known as the Federation of OpenNebula. A new cloud portal for cloud consumers was also introduced and in App market support was provided to import OVAs. • Version 4.8 began offering support for Microsoft Azure and IBM. Developers, it also continued evolving and improving the platform by incorporating support for One Flow in cloud view. This meant end users could now define virtual machine applications and services elastically. • Version 4.10 integrated the support portal with the Sun Stone GUI. Login token was also developed, and support was provided for VMS and vCenter. • Version 4.12 offered new functionality to implement security groups and improve vCenter integration. Show back model was also deployed to track and analyze clouds due to different departments. • Version 4.14 introduced a newly redesigned and modularized graphical interface code, Sunstone. This was intended to improve code readability and ease the task of adding new components 4.12.2 BASIC COMPONENTS • Host: Physical machine running a supported hypervisor. • Cluster: Pool of hosts that share data stores and virtual networks. • Template: Virtual Machine definition. • Image: Virtual Machine disk image. • Virtual Machine: Instantiated Template. A Virtual Machine represents one life-cycle, and several Virtual Machines can be created from a single Template. • Virtual Network: A group of IP leases that VMs can use to automatically obtain IP addresses. It allows the creation of Virtual Networks by mapping over the physical ones. They will be available to the VMs through the corresponding bridges on hosts. Virtual network can be defined in three different parts: 1. Underlying of physical network infrastructure. 2. The logical address space available (IPv4, IPv6, dual stack). 3. Context attributes (e.g. net mask, DNS, gateway). OpenNebula also comes with a Virtual Router appliance to provide networking services like DHCP, DNS etc.
  • 136.
    CLOUD COMPUTING CS& BCA 136 A. SIVASANKARI , SIASC. 4.13 OPEN STACK OpenStack is a free and open-source software platform for cloud computing, mostly deployed as infrastructure-as-a-service (IaaS), whereby virtual servers and other resources are made available to customers. The software platform consists of interrelated components that control diverse, multi-vendor hardware pools of processing, storage, and networking resources throughout a data center. Users either manage it through a web-based dashboard, through command-line tools, or through RESTful web services. FIGURE 4.11 OPEN STACK Compute (Nova) OpenStack Compute (Nova) is a cloud computing fabric controller, which is the main part of an IaaS system. It is designed to manage and automate pools of computer resources and can work with widely available virtualization technologies, as well as bare metal and high-performance computing (HPC) configurations. KVM, VMware, and Xen are available choices for hypervisor technology (virtual machine monitor), together with Hyper- V and Linux container technology such as LXC. It is written in Python and uses many external libraries such as Eventlet (for concurrent programming), Kombu (for AMQP communication), and SQLAlchemy (for
  • 137.
    CLOUD COMPUTING CS& BCA 137 A. SIVASANKARI , SIASC. database access). Compute's architecture is designed to scale horizontally on standard hardware with no proprietary hardware or software requirements and provide the ability to integrate with legacy systems and third-party technologies. Due to its widespread integration into enterprise-level infrastructures, monitoring OpenStack performance in general, and Nova performance in particular, scaling has become an increasingly important issue. Monitoring end-to-end performance requires tracking metrics from Nova, Keystone, Neutron, Cinder, Swift and other services, in addition to monitoring RabbitMQ which is used by OpenStack services for message passing. All these services generate their own log files, which, especially in enterprise-level infrastructures, also should be monitored. Networking (Neutron) OpenStack Networking (Neutron) is a system for managing networks and IP addresses. OpenStack Networking ensures the network is not a bottleneck or limiting factor in a cloud deployment, and gives users self-service ability, even over network configurations. OpenStack Networking provides networking models for different applications or user groups. Standard models include flat networks or VLANs that separate servers and traffic. OpenStack Networking manages IP addresses, allowing for dedicated static IP addresses or DHCP. Floating IP addresses let traffic be dynamically rerouted to any resources in the IT infrastructure, so users can redirect traffic during maintenance or in case of a failure. Users can create their own networks, control traffic, and connect servers and devices to one or more networks. Administrators can use software-defined networking (SDN) technologies like OpenFlow to support high levels of multi-tenancy and massive scale. OpenStack networking provides an extension framework that can deploy and manage additional network services—such as intrusion detection systems (IDS), load balancing, firewalls, and virtual private networks (VPN). Block storage (Cinder) OpenStack Block Storage (Cinder) provides persistent block-level storage devices for use with OpenStack compute instances. The block storage system manages the creation, attaching and detaching of the block devices to servers. Block storage volumes are fully integrated into OpenStack Compute and the Dashboard allowing for cloud users to manage their own storage needs. In addition to local Linux server storage, it can use storage platforms
  • 138.
    CLOUD COMPUTING CS& BCA 138 A. SIVASANKARI , SIASC. including Ceph, CloudByte, Coraid, EMC (ScaleIO, VMAX, VNX and XtremIO), GlusterFS, Hitachi Data Systems, IBM Storage (IBM DS8000, Storwize family, SAN Volume Controller, XIV Storage System, and GPFS), Linux LIO, NetApp, Nexenta, Nimble Storage, Scality, SolidFire, HP (StoreVirtual and 3PAR StoreServ families), INFINIDAT (InfiniBox) and Pure Storage. Block storage is appropriate for performance sensitive scenarios such as database storage, expandable file systems, or providing a server with access to raw block level storage. Snapshot management provides powerful functionality for backing up data stored on block storage volumes. Snapshots can be restored or used to create a new block storage volume. Identity (Keystone) OpenStack Identity (Keystone) provides a central directory of users mapped to the OpenStack services they can access. It acts as a common authentication system across the cloud operating system and can integrate with existing backend directory services like LDAP. It supports multiple forms of authentication including standard username and password credentials, token-based systems and AWS-style (i.e. Amazon Web Services) logins. Additionally, the catalog provides a queryable list of all of the services deployed in an OpenStack cloud in a single registry. Users and third-party tools can programmatically determine which resources they can access. Image (Glance) OpenStack Image (Glance) provides discovery, registration, and delivery services for disk and server images. Stored images can be used as a template. It can also be used to store and catalog an unlimited number of backups. The Image Service can store disk and server images in a variety of back-ends, including Swift. The Image Service API provides a standard REST interface for querying information about disk images and lets clients stream the images to new servers. Glance adds many enhancements to existing legacy infrastructures. For example, if integrated with VMware, Glance introduces advanced features to the vSphere family such as vMotion, high availability and dynamic resource scheduling (DRS). vMotion is the live migration of a running VM, from one physical server to another, without service interruption. Thus, it enables a dynamic and automated self-optimizing datacenter, allowing hardware maintenance for the underperforming servers without downtimes.
  • 139.
    CLOUD COMPUTING CS& BCA 139 A. SIVASANKARI , SIASC. Other OpenStack modules that need to interact with Images, for example Heat, must communicate with the images metadata through Glance. Also, Nova can present information about the images, and configure a variation on an image to produce an instance. However, Glance is the only module that can add, delete, share, or duplicate images. Object storage (Swift) OpenStack Object Storage (Swift) is a scalable redundant storage system. Objects and files are written to multiple disk drives spread throughout servers in the data center, with the OpenStack software responsible for ensuring data replication and integrity across the cluster. Storage clusters scale horizontally simply by adding new servers. Should a server or hard drive fail, OpenStack replicates its content from other active nodes to new locations in the cluster. Because OpenStack uses software logic to ensure data replication and distribution across different devices, inexpensive commodity hard drives and servers can be used. In August 2009, Rackspace started the development of the precursor to OpenStack Object Storage, as a complete replacement for the Cloud Files product. The initial development team consisted of nine developers. SwiftStack, an object storage software company, is currently the leading developer for Swift with significant contributions from HP, Red Hat, NTT, NEC, IBM and more. Dashboard (Horizon) OpenStack Dashboard (Horizon) provides administrators and users with a graphical interface to access, provision, and automate deployment of cloud-based resources. The design accommodates third party products and services, such as billing, monitoring, and additional management tools. The dashboard is also brand-able for service providers and other commercial vendors who want to make use of it. The dashboard is one of several ways users can interact with OpenStack resources. Developers can automate access or build tools to manage resources using the native OpenStack API or the EC2 compatibility API. Orchestration (Heat) Heat is a service to orchestrate multiple composite cloud applications using templates, through both an OpenStack-native REST API and a Cloud Formation-compatible Query API. Workflow (Mistral)
  • 140.
    CLOUD COMPUTING CS& BCA 140 A. SIVASANKARI , SIASC. Mistral is a service that manages workflows. User typically writes a workflow using workflow language based on YAML and uploads the workflow definition to Mistral via its REST API. Then user can start this workflow manually via the same API or configure a trigger to start the workflow on some event. Telemetry (Ceilometer) OpenStack Telemetry (Ceilometer) provides a Single Point Of Contact for billing systems, providing all the counters they need to establish customer billing, across all current and future OpenStack components. The delivery of counters is traceable and auditable, the counters must be easily extensible to support new projects, and agents doing data collections should be independent of the overall system. Database (Trove) Trove is a database-as-a-service provisioning relational and a non- relational database engine. Elastic map reduce (Sahara) Sahara is a component to easily and rapidly provision Hadoop clusters. Users will specify several parameters like the Hadoop version number, the cluster topology type, node flavor details (defining disk space, CPU and RAM settings), and others. After a user provides all of the parameters, Sahara deploys the cluster in a few minutes. Sahara also provides means to scale a preexisting Hadoop cluster by adding and removing worker nodes on demand. Bare metal (Ironic) Ironic is an OpenStack project that provisions bare metal machines instead of virtual machines. It was initially forked from the Nova Baremetal driver and has evolved into a separate project. It is best thought of as a bare-metal hypervisor API and a set of plugins that interact with the bare-metal hypervisors. By default, it will use PXE and IPMI in concert to provision and turn on and off machines, but Ironic supports and can be extended with vendor- specific plugins to implement additional functionality.
  • 141.
    CLOUD COMPUTING CS& BCA 141 A. SIVASANKARI , SIASC. Messaging (Zaqar) Zaqar is a multi-tenant cloud messaging service for Web developers. The service features a fully RESTful API, which developers can use to send messages between various components of their SaaS and mobile applications by using a variety of communication patterns. Underlying this API is an efficient messaging engine designed with scalability and security in mind. Other OpenStack components can integrate with Zaqar to surface events to end users and to communicate with guest agents that run in the "over-cloud" layer. Shared file system (Manila) OpenStack Shared File System (Manila) provides an open API to manage shares in a vendor agnostic framework. Standard primitives include ability to create, delete, and give/deny access to a share and can be used standalone or in a variety of different network environments. Commercial storage appliances from EMC, NetApp, HP, IBM, Oracle, Quobyte, INFINIDAT and Hitachi Data Systems are supported as well as filesystem technologies such as Red Hat GlusterFS or Ceph. DNS (Designate) Designate is a multi-tenant REST API for managing DNS. This component provides DNS as a Service and is compatible with many backend technologies, including PowerDNS and BIND. It doesn't provide a DNS service as such as its purpose is to interface with existing DNS servers to manage DNS zones on a per tenant basis. Search (Searchlight) Searchlight provides advanced and consistent search capabilities across various OpenStack cloud services. It accomplishes this by offloading user search queries from other OpenStack API servers by indexing their data into ElasticSearch. Searchlight is being integrated into Horizon and also provides a Command-line interface. Key manager (Barbican)
  • 142.
    CLOUD COMPUTING CS& BCA 142 A. SIVASANKARI , SIASC. Barbican is a REST API designed for the secure storage, provisioning and management of secrets. It is aimed at being useful for all environments, including large ephemeral Clouds. Container orchestration (Magnum) Magnum is an OpenStack API service developed by the OpenStack Containers Team making container orchestration engines such as Docker Swarm, Kubernetes, and Apache Mesos available as first class resources in OpenStack. Magnum uses Heat to orchestrate an OS image which contains Docker and Kubernetes and runs that image in either virtual machines or bare metal in a cluster configuration. Root Cause Analysis (Vitrage) Vitrage is the OpenStack RCA (Root Cause Analysis) service for organizing, analyzing and expanding OpenStack alarms & events, yielding insights regarding the root cause of problems and deducing their existence before they are directly detected. Rule-based alarm actions (Aodh) This alarming service enables the ability to trigger actions based on defined rules against metric or event data collected by Ceilometer or Gnocchi. 4.14 ANEKA Aneka is a platform and a framework for developing distributed applications on the Cloud. It harnesses the spare CPU cycles of a heterogeneous network of desktop PCs and servers or data centers on demand. Aneka provides developers with a rich set of APIs for transparently exploiting such resources and expressing the business logic of applications by using the preferred programming abstractions. System administrators can leverage on a collection of tools to monitor and control the deployed infrastructure. This can be a public cloud available to anyone through the Internet, or a private cloud constituted by a set of nodes with restricted access. The Aneka based computing cloud is a collection of physical and virtualized resources connected through a network, which are either the Internet or a private intranet. Each of these resources hosts an instance of the Aneka Container representing the runtime environment where the distributed applications are executed. The container provides the basic
  • 143.
    CLOUD COMPUTING CS& BCA 143 A. SIVASANKARI , SIASC. management features of the single node and leverages all the other operations on the services that it is hosting. The services are broken up into fabric, foundation, and execution services. Fabric services directly interact with the node through the Platform Abstraction Layer (PAL) and perform hardware profiling and dynamic resource provisioning. Foundation services identify the core system of the Aneka middleware, providing a set of basic features to enable Aneka containers to perform specialized and specific sets of tasks. Execution services directly deal with the scheduling and execution of applications in the Cloud. One of the key features of Aneka is the ability of providing different ways for expressing distributed applications by offering different programming models; execution services are mostly concerned with providing the middleware with an implementation for these models. Additional services such as persistence and security are transversal to the entire stack of services that are hosted by the Container. At the application level, a set of different components and tools are provided to: 1) simplify the development of applications (SDK); 2) porting existing applications to the Cloud; and 3) monitoring and managing the Aneka Cloud. A common deployment of Aneka is presented at the side. An Aneka based Cloud is constituted by a set of interconnected resources that are dynamically modified according to the user needs by using resource virtualization or by harnessing the spare CPU cycles of desktop machines. If the deployment identifies a private Cloud all the resources are in house, for example within the enterprise. This deployment is extended by adding publicly available resources on demand or by interacting with other Aneka public clouds providing computing resources connected over the Internet. FIGURE 4.12 ANEKA MULTIPLE APPLICATIONS
  • 144.
    CLOUD COMPUTING CS& BCA 144 A. SIVASANKARI , SIASC. 4.15 CLOUD SLIM CloudSim is a framework for modeling and simulation of cloud computing infrastructures and services. Originally built primarily at the Cloud Computing and Distributed Systems (CLOUDS) Laboratory, The University of Melbourne, Australia, CloudSim has become one of the most popular open source cloud simulators in the research and academia. CloudSim is completely written in Java. Recently, cloud computing emerged as the leading technology for delivering reliable, secure, fault-tolerant, sustainable, and scalable computational services, which are presented as Software, Infrastructure, or Platform as services (SaaS, IaaS, PaaS). Moreover, these services may be offered in private data centers (private clouds), may be commercially offered for clients (public clouds), or yet it is possible that both public and private clouds are combined in hybrid clouds. These already wide ecosystem of cloud architectures, along with the increasing demand for energy-efficient IT technologies, demand timely, repeatable, and controllable methodologies for evaluation of algorithms, applications, and policies before actual development of cloud products. Because utilization of real testbeds limits the experiments to the scale of the testbed and makes the reproduction of results an extremely difficult undertaking, alternative approaches for testing and experimentation leverage development of new Cloud technologies. MAIN FEATURES Overview of CloudSim functionalities: • support for modeling and simulation of large scale Cloud computing data centers • support for modeling and simulation of virtualized server hosts, with customizable policies for provisioning host resources to virtual machines • support for modeling and simulation of application containers • support for modeling and simulation of energy-aware computational resources • support for modeling and simulation of data center network topologies and message- passing applications • support for modeling and simulation of federated clouds • support for dynamic insertion of simulation elements, stop and resume of simulation • support for user-defined policies for allocation of hosts to virtual machines and policies for allocation of host resources to virtual machines
  • 145.
    CLOUD COMPUTING CS& BCA 145 A. SIVASANKARI , SIASC. UNIT- V 5. CLOUD COMPUTING SECURITY 5.1 SECURITY Security in cloud computing is a major concern. Data in cloud should be stored in encrypted form. To restrict client from accessing the shared data directly, proxy and brokerage services should be employed. Security Cloud computing Security Cloud computing supports the development of elastically scalable systems by level arranging large computing infrastructures that eventually hosts applications, services, and data. In this scenario, security arrangements constitute a fundamental requirement that cannot be overlooked. Security management becomes even more complex in the case of a cloud federation, where confidential information is dynamically moved across several cloud computing vendors. One of the first questions that should be asked is whether the cloud vendors offer enough transparency to implement the security management process required to protect your data and applications. Implementing and deploying the required security infrastructure is important to understanding the responsibilities of those who offer cloud computing services and of those who use them. Cloud computing is a new territory for security; compared to managed services providers, where the management of security infrastructure is completely handled by the service provider, in a cloud deployment security management is divided between the provider and the customer. The responsibilities of the two parties change according to the type of service offering. IaaS vendors are required to provide basic security in terms of auditing and logging of access to virtual machine instances or cloud storage. PaaS vendors are expected to offer a secure development platform and a runtime environment for applications. SaaS vendors have the major responsibilities in terms of security, since they have to build a secure computing stack (infrastructure, platform , and applications )that users customize for their needs. Despite the novelty introduced by cloud computing, it is possible to consider existing security frameworks and practices as a starting point for securely running applications and systems. In particular, the standard ISO/IEC 27001/27002 and the Information Technology
  • 146.
    CLOUD COMPUTING CS& BCA 146 A. SIVASANKARI , SIASC. Infrastructure Library(ITIL) service management framework are industry standards that provide guidance in terms of security management processes and practices. ITIL is a set of guidelines that define a security frame work in terms of policies, processes, procedures, and work instructions. ITIL is not a standard, and therefore organizations and management systems cannot be certified “ITIL-compliant.” Despite this fact, these guidelines constitute a reference model for implementing security measures. ISO/IEC27001/27002 formally define the mandatory requirements for an information security management system and provide guidelines for the security controls to implement within a security system. In short, these standards help organizations ensure that the current security levels are appropriate to their needs and to implement security. Key elements in management of security in a cloud scenario have been identified as the following • Availability management (ITIL) • Access control (ISO/IEC27002,ITIL) • Vulnerability management (ISO/IEC27002) • Patch management (ITIL) • Configuration management (ITIL) • Incident response (ISO/IEC27002) • System use and access monitoring (ISO/IEC27002) SECURITY PLANNING Before deploying a particular resource to cloud, one should need to analyze several aspects of the resource such as: • Select resource that needs to move to the cloud and analyze its sensitivity to risk. • Consider cloud service models such as IaaS, PaaS, and SaaS. These models require customer to be responsible for security at different levels of service. • Consider the cloud type to be used such as public, private, community or hybrid. • Understand the cloud service provider's system about data storage and its transfer into and out of the cloud. The risk in cloud deployment mainly depends upon the service models and cloud types. 5.2 UNDERSTANDING SECURITY OF CLOUD SECURITY BOUNDARIES A particular service model defines the boundary between the responsibilities of service provider and customer. Cloud Security Alliance (CSA) stack model defines the
  • 147.
    CLOUD COMPUTING CS& BCA 147 A. SIVASANKARI , SIASC. boundaries between each service model and shows how different functional units relate to each other. The following diagram shows the CSA stack model: FIGURE 5.1 SECURITY BOUNDARIES Key Points to CSA Model • IaaS is the most basic level of service with PaaS and SaaS next two above levels of services. • Moving upwards, each of the service inherits capabilities and security concerns of the model beneath. • IaaS provides the infrastructure, PaaS provides platform development environment, and SaaS provides operating environment. • IaaS has the least level of integrated functionalities and integrated security while SaaS has the most. • This model describes the security boundaries at which cloud service provider's responsibilities end and the customer's responsibilities begin. • Any security mechanism below the security boundary must be built into the system and should be maintained by the customer. Although each service model has security mechanism, the security needs also depend upon where these services are located, in private, public, hybrid or community cloud. Understanding Data Security
  • 148.
    CLOUD COMPUTING CS& BCA 148 A. SIVASANKARI , SIASC. Since all the data is transferred using Internet, data security is of major concern in the cloud. Here are key mechanisms for protecting data. • Access Control • Auditing • Authentication • Authorization All of the service models should incorporate security mechanism operating in all above- mentioned areas. Isolated Access to Data Since data stored in cloud can be accessed from anywhere, we must have a mechanism to isolate data and protect it from client’s direct access. Brokered Cloud Storage Access is an approach for isolating storage in the cloud. In this approach, two services are created: • A broker with full access to storage but no access to client. • A proxy with no access to storage but access to both client and broker. Working Of Brokered Cloud Storage Access System When the client issues request to access data: • The client data request goes to the external service interface of proxy. • The proxy forwards the request to the broker. • The broker requests the data from cloud storage system. • The cloud storage system returns the data to the broker. • The broker returns the data to proxy. • Finally the proxy sends the data to the client. All of the above steps are shown in the following diagram: FIGURE 5.2 CLOUD STORAGE
  • 149.
    CLOUD COMPUTING CS& BCA 149 A. SIVASANKARI , SIASC. Encryption Encryption helps to protect data from being compromised. It protects data that is being transferred as well as data stored in the cloud. Although encryption helps to protect data from any unauthorized access, it does not prevent data loss. 5.3 CLOUD COMPUTING CHALLENGES Cloud computing, an emergent technology, has placed many challenges in different aspects of data and information handling. Some of these are shown in the following diagram: FIGURE 5.3 CLOUD COMPUTING CHALLENGES Security and Privacy Security and Privacy of information is the biggest challenge to cloud computing. Security and privacy issues can be overcome by employing encryption, security hardware and security applications. Portability This is another challenge to cloud computing that applications should easily be migrated from one cloud provider to another. There must not be vendor lock-in. However, it is not yet made possible because each of the cloud provider uses different standard languages for their platforms.
  • 150.
    CLOUD COMPUTING CS& BCA 150 A. SIVASANKARI , SIASC. Interoperability It means the application on one platform should be able to incorporate services from the other platforms. It is made possible via web services, but developing such web services is very complex. Computing Performance Data intensive applications on cloud requires high network bandwidth, which results in high cost. Low bandwidth does not meet the desired computing performance of cloud application. Reliability and Availability It is necessary for cloud systems to be reliable and robust because most of the businesses are now becoming dependent on services provided by third-party. 5.4 GOVERNANCE AND SECURITY Security Security is the degree of protection to safeguard a nation, union of nations, persons or person against danger, damage, loss, and crime. Security as a form of protection are structures and processes that provide or improve security as a condition. The five security-related issues with cloud computing that are critical to the success and security of a cloud-based project—and that are not always getting the full consideration they deserve. 1 Internal clouds are not inherently secure. In the past year, many organizations have foregone using public clouds, choosing instead to build private clouds behind their firewalls. This may be the best solution for risk- averse groups. These teams, though, need to understand that just because they’ve built a cloud inside their firewall doesn’t mean that their solution is safe. It still takes just one bad apple to spoil the barrel—a single department, user or application that is not behaving as it should. An organization that is risk-averse enough to avoid the public cloud should be building a secure cloud—possibly the company should be building its dream cloud, which contains all the security controls that it thinks are missing from a public environment. Since the company physically owns the private cloud, incident response can be very swift. Detection capabilities need to be cloud-specific (for example, sensors need to monitor inside the cloud, not just at its perimeter) and operational capabilities such as patch management
  • 151.
    CLOUD COMPUTING CS& BCA 151 A. SIVASANKARI , SIASC. must be sharp. A vulnerable service that’s in a cloud might have greater exposure and risk than the same service in a standard server farm thanks to the shared nature of cloud resources. 2 Companies lack security visibility and risk awareness. The paucity of security visibility that most providers offer their customers is itself getting plenty of visibility. Obviously, when using a public cloud service, companies must balance the competing factors of control, visibility and cost. This can be a significant issue— reduced visibility results in diminished situational awareness and a questionable understanding of risk. When planning a move to the cloud, an organization needs to recognize this lack of visibility and determine how to best leverage what insight they can get their hands on. Really, this means designing mitigating controls. At the infrastructure and platform levels, this is straightforward: Log more information in your applications and set systems up to generate alerts when signs of compromise or malicious use are spotted (for example, when files are modified, records are changed more frequently than usual, or resource usage is abnormally high). For software as a service (SaaS), though, these precautions will require more thought. SaaS providers are beginning to distinguish themselves via security features. Organizations vetting SaaS providers should consider how they will handle risk awareness— does the provider offer usage data that is granular enough to recognize changes in usage? (Monthly billing doesn’t really cut it, unless the risk scenario is a malefactor who only attacks on the 29th of the month.) 3 Sensitive information needs safer storage Safely storing sensitive information is one of the toughest problems in cloud computing. The solution is to encrypt data, but the critical questions are where to encrypt, and how. The first requirement of successful encryption in the cloud, which some providers do not yet understand (or at least don’t practice), is: Do not store the encryption key with the encrypted data. Doing so more or less negates any value gained from encrypting the data. Several companies make appliances (virtual or physical) that proxy data leaving an office on the way to a cloud service and encrypt or tokenize it before sending it to the cloud. This allows them to use a cloud service without worrying about data loss—as long as they only intend to access the cloud service from behind that appliance. 4 Apps aren’t secure
  • 152.
    CLOUD COMPUTING CS& BCA 152 A. SIVASANKARI , SIASC. Application security has been getting attention for years. In my mind, its importance increases when an application is deployed to a cloud environment, as the application is more exposed. One of the biggest mistakes an organization can make is to take an existing application and simply deploy it to a cloud without first considering what new attack vectors this move opens up. When possible, an application should be re-architected for cloud deployment—this allows parts of the application to scale independently, and to be more distributed and resilient. It’s really an opportunity to make an application more secure than ever. Forcing a development team to not use the corporate firewall as a crutch will result in a solid application. 5 Authentication and authorization must be more robust Of all the problems covered in this article, cloud authentication and authorization has the greatest number of commercial solutions available. This does not mean the issue is easily solved, however. Every organization has its own way to manage authentication and authorization. First, it must determine if its current authentication system could also work in a secure and reliable way for users in a cloud environment. If the answer is yes, the follow-up question is whether that is also the best way to authenticate cloud services. 5.5 RISK MANAGEMENT FOR CLOUD COMPUTING DEPLOYMENTS When you consider the recent trends and studies on cloud computing, it’s clear that after the Internet, it’s the turn of cloud computing to shape the future of computing. The question is no longer “To cloud or not to cloud”, but more of “when will the shift happen” and “what processes will shift to the cloud”. In this series of articles, we will endeavor to perform a complete cloud risk management exercise. As part of a risk management exercise for cloud computing, it’s important to rank the positive information security benefits from utilizing cloud infrastructure. Since the largest risks lie on public cloud fronts (unless mentioned otherwise), all references are only to public cloud infrastructure.
  • 153.
    CLOUD COMPUTING CS& BCA 153 A. SIVASANKARI , SIASC. A background By its very nature, cloud computing setups have a huge setup in place, which typically comprises of hundreds (if not thousands) of servers running a wide variety of operating systems, virtualized platforms and databases. The network will utilize equipment with Gigabit transfer rates and high end security systems. The data centre is at least a tier 2+, if not a tier 3/4 setup. What this translates into is: 1. Specialized personnel: Since the entire business model is based on providing IT resources, cloud providers can afford to hire and retain the industry’s finest skillsets. This is a huge boon for many organizations, since they are unable to attract and retain highly skilled resources. It’s not rare to see organizations which are able to spend large sums on IT Infrastructure, but unable to derive due benefits due to lack of skilled resources. 2. Opex, NOT capex: In many countries, organizations purchasing IT equipments for internal consumption – “capex - capital expenditure” cannot take immediate tax benefits by writing off expenditure, but get staggered benefits spread over five years. By employing a cloud provider’s resources, investments in cloud resources get classified as operational expense (opex), which results in immediate tax benefits. 3. Platform support: Many organizations are unable to rollout patches on time, or even identify the applicable patches due to various reasons like lack of adequate knowledge base, time, or adequate testing infrastructure. These shortcomings are not there for most cloud providers, ensuring that the platforms and applications that you use on those cloud setups are adequately up to date. This is a two edged sword, since this very point has also been observed as a weakness in certain cloud providers whom we have audited. Organizations which have fairly mature processes in place ensure aspects like timely internal system updates and adequate testing. The same cannot be said in a guaranteed manner for cloud providers due to lack of visibility and transparency. We will cover this aspect in detail with mitigation strategies in the next installments of this tip. 4. Backup and recovery: Almost all the organizations that I have worked with in the past 20 years take regular backups. However, very few organizations ever perform regular restoration to check the working and adequacy of backups, which lead to last minute unpleasant surprises. Cloud providers have this step pat in place, since the repercussions of a mess-up will be fatal for their existence. Again, this is a two edged sword dependent on the policies of the cloud provider, which may or may not be sufficient for your
  • 154.
    CLOUD COMPUTING CS& BCA 154 A. SIVASANKARI , SIASC. organizational requirements. We will cover mitigation strategies in detail in the next parts. 5. Disaster recovery: This is critical for most organizations, but regularly side-stepped or watered down. Redundancy and disaster recovery capabilities are built into cloud computing environments. This is a two edged sword dependent on the cloud provider’s policies and implementation strategy, which may not be sufficient for your organizational requirements. 6. Thin clients: Since applications and data (in most cases) will reside on the cloud infrastructure, you will not require powerful laptops and desktops to run your applications. Not much confidential data will reside on your internal systems, thus cutting down on your information risk factors. This is again based on the cloud provider’s policies and your implementation topology. 7. Power savings: Last year, Pike Research found that cloud computing could lead to a 38 percent reduction in worldwide data center energy use by 2020, compared to what the growth of data center energy consumption would be without cloud computing. Another study from Microsoft, Accenture and WSP Environment and Energy in 2011 found that moving business applications to the cloud could cut the associated per-user carbon footprint by 30 percent for large, already-efficient companies. This figure could be as much as 90 percent for the smallest and least efficient businesses. 5.6 CLOUD SECURITY MONITORING WORKS There are several approaches to cloud security monitoring. Cloud monitoring can be done in the cloud platform itself, on premises using an enterprise’s existing security management tools, or via a third party service provider. Some of the key capabilities of cloud security monitoring software include: • Scalability: tools must be able to monitor large volumes of data across many distributed locations • Visibility: the more visibility into application, user, and file behavior that a cloud monitoring solution provides, the better it can identify potential attacks or compromises • Timeliness: the best cloud security monitoring solutions will provide constant monitoring, ensuring that new or modified files are scanned in real time • Integration: monitoring tools must integrate with a wide range of cloud storage providers to ensure full monitoring of an organization’s cloud usage
  • 155.
    CLOUD COMPUTING CS& BCA 155 A. SIVASANKARI , SIASC. • Auditing and Reporting: cloud monitoring software should provide auditing and reporting capabilities to manage compliance requirements for cloud security 5.7 CLOUD COMPUTING SECURITY ARCHITECTURES How the Cloud Computing Security Architectures Vary Based on Cloud Service Models While all cloud architecture models require performance management tools and strategy, the security architecture varies based on the type of cloud model — software-as-a-service (SaaS), infrastructure-as-a-service (IaaS), or platform-as-a-service model (PaaS). It’s important to distinguish the different service models, as The Cloud Security Alliance notes: “IaaS is the foundation of all cloud services, with PaaS building upon IaaS, and SaaS in turn building upon PaaS.” FIGURE 5.4 CLOUD COMPUTING SECURITY ARCHITECTURES Source: Cloud Security Alliance IaaS Cloud Computing Security Architecture This infrastructure provides the storage and networking components to cloud networking. It relies heavily on application programming interfaces (APIs) to allow enterprises to manage and interact with the cloud. However, cloud APIs tend to be insecure as they’re open and readily accessible on the network.
  • 156.
    CLOUD COMPUTING CS& BCA 156 A. SIVASANKARI , SIASC. The CSP handles the security of the infrastructure and the abstraction layers. The enterprise’s security obligations include the rest of the stack, including the applications. Deploying network packet brokers (NPB) in an IaaS environment provides the visibility into security issues within a cloud network. NPB’s direct traffic and data to the appropriate network performance management (NPM) and security tools. Along with deploying NPB to gather wire data, enterprises should log wires to view issues occurring at the endpoints in a network. IaaS cloud computing service models require these additional security features: • Virtual web application firewalls placed in front of a website to protect against malware. • Virtual network-based firewalls located at the cloud network’s edge that guards the perimeter. • Virtual routers • Intrusion Detection Systems and Intrusion Prevention Systems (IDS/IPS) • Network segmentation SaaS Cloud Computing Security Architecture SaaS centrally hosts software and data that are accessible via a browser. The enterprise normally negotiates with the CSP the terms of security ownership in a legal contract. Cloud Access Security Brokers (CASB) play a central role in discovering security issues within a SaaS cloud service model as it logs, audits, provides access control, and oftentimes includes encryption capabilities. Other security features for the SaaS cloud environment include: • Logging • IP restrictions • API gateways PaaS Cloud Computing Security Architecture CSA defines PaaS as the “deployment of applications without the cost and complexity of buying and managing the underlying hardware and software and provisioning hosting capabilities.” The CSP secures a majority of a PaaS cloud service model. However, the security of applications rests with the enterprise. The essential components to secure the PaaS cloud include: • Logging
  • 157.
    CLOUD COMPUTING CS& BCA 157 A. SIVASANKARI , SIASC. • IP restrictions • API gateways • CASB 5.8 DATA SECURITY IN CLOUD COMPUTING Data security in cloud computing involves more than data encryption. Requirements for data security depends upon on the three service models SaaS, PaaS, and IaaS. Two states of data normally have threat to its security in clouds; Data at Rest which means the data stored in the cloud and Data in Transit which means data that is moving in and out of the cloud. Confidentiality, and Integrity of data is based upon the nature of data protection mechanisms, procedures, and processes. The most significant matter is the exposure of data in above mentioned two states. A. Data at Rest Data at rest refers to data in cloud, or any data that can be accessed using Internet. This includes backup data as well as live data. As mentioned earlier, sometimes it is very difficult for organizations to protect data at rest if they are not maintaining a private cloud since they do not have physical control over the data. However, this issue can be resolved by maintaining a private cloud with carefully controlled access. B. Data in Transit Data in transit normally refers to data which is moving in and out of the cloud. This data can be in the form of a file or database stored on the cloud and can be requested for use at some other location. Whenever, data is uploaded to the cloud, the data at time of being uploaded is called data in transit. Data in transit can be very sensitive data like user names and passwords and can be encrypted at times. However, data in unencrypted form is also data in transit. Data in transit is sometimes more exposed to risks than the data at rest because it has to travel from one location to another. (See Fig 1). There are several ways in which intermediary software can eavesdrop the data and sometimes have the ability to change the data on its way to the destination. In order to protect data in transit, one of the best strategies is encryption.
  • 158.
    CLOUD COMPUTING CS& BCA 158 A. SIVASANKARI , SIASC. FIGURE 5.5 DATA AT REST AND IN TRANSIT. 5.9 APPLICATION SECURITY The final level of security is application security in which the application can only be accessed by providing some kind of credentials only and by providing the type of credentials we can further divide the application security in four types 1. Identity based access 2. Role based access 3. Key based access 4. Claim based access IDENTITY BASED ACCESS In identity based access a username and password is provided by the user and if they matches with the records in the database then only the access is provided otherwise the access is denied. Now the username can be of many types for example, name, email address, id proofs like driving license number, pan card number, ssn number in America, Uid number in India etc which will uniquely identify that person. In case of email id we have got additional advantage that in case of lost password we the issuing authority can send the new password to that email id. We can also enjoy the advantage of email id with other identity types if we take email id as an input at the time of registering. ROLE BASED ACCESS In role based identity a role is associated with the user like administrator, developer etc and the application changes the view according to the role of that user. Other credentials are also stored while issuing the role based identity to that user for security purpose. KEY BASED ACCESS In key based identity the end user is provided a key and by using that key only the end user can access the services. This key is also stored in the database for verification. This key is
  • 159.
    CLOUD COMPUTING CS& BCA 159 A. SIVASANKARI , SIASC. encrypted and is generally very long such that no one can guess it. The level of security is very high with key based identity. It is generally associated with a time stamp and the services can only be enjoyed generally for certain amount of time only like 1 day or 6 hours, 1month etc. CLAIM BASED ACCESS In claim based identity a live id is created for a particular brand and all other services provided by that particular brand are accessed by that id. This is done because the end user or customer does not want to or does not prefer to create a new id and remembering the credentials each time for using the different services of that particular brand. The end user never likes filling the form each time for different services of that particular brand. So in order to attract customer to use their services without any pain and at the same time not compromising with the security claim based identity has been introduced and efforts and cost for maintain the data also reduce to great extent and at the same time we can track the data that how many services and what type of the services has been accessed by a particular type of person and this data can be used for data warehousing purpose. The example of claim based identity is Google id which is same for Gmail, Google+, Blogspot, Google search etc. Similarly Windows live id which is common for downloading all kinds of software provided for Windows. Similarly facebook id which is not only accepted by facebook but also accepted by websites of other brands also like Scribd as an additional type for login purpose. 5.10 VIRTUALIZATION SECURITY IN CLOUD COMPUTING Virtualization in Cloud Computing is making a virtual platform of server operating system and storage devices. This will help the user by providing multiple machines at the same time it also allows sharing a single physical instance of resource or an application to multiple users. Cloud Virtualizations also manage the workload by transforming traditional computing and make it more scalable, economical and efficient. Virtualizations in Cloud Computing rapidly integrating the fundamental way of computing. One of the important features of virtualization is that it allows sharing of applications to multiple customers and companies. Types of Virtualization in Cloud Computing • Operating System Virtualization • Hardware Virtualization
  • 160.
    CLOUD COMPUTING CS& BCA 160 A. SIVASANKARI , SIASC. • Server Virtualization • Storage Virtualization a. Operating System Virtualization In operating system virtualization in Cloud Computing, the virtual machine software installs in the operating system of the host rather than directly on the hardware system. The most important use of operating system virtualization is for testing the application on different platforms or operating system. Here, the software is present in the hardware, which allows different applications to run. b. Server Virtualization In server virtualization in Cloud Computing, the software directly installs on the server system and use for a single physical server can divide into many servers on the demand basis and balance the load. It can be also stated that the server virtualization is masking of the server resources which consists of number and identity. With the help of software, the server administrator divides one physical server into multiple servers. c. Hardware Virtualization Hardware virtualization in Cloud Computing, used in server platform as it is flexible to use Virtual Machine rather than physical machines. In hardware virtualizations, virtual machine software installs in the hardware system and then it is known as hardware virtualization. It consists of a hypervisor which use to control and monitor the process, memory, and other hardware resources. After the completion of hardware virtualization process, the user can install the different operating system in it and with this platform different application can use. d. Storage Virtualization In storage virtualization in Cloud Computing, a grouping is done of physical storage which is from multiple network storage devices this is done so it looks like a single storage device. It can implement with the help of software applications and storage virtualization is done for the backup and recovery process. It is a sharing of the physical storage from multiple storage devices. 2011 ended with the popularization of an idea: Bringing VMs (virtual machines) onto the cloud. Recent years have seen great advancements in both cloud computing and virtualization On one hand there is the ability to pool various resources to provide software- as-a-service, infrastructure-as-a-service and platform-as-a-service. At its most basic, this is what describes cloud computing. On the other hand, we have virtual machines that provide
  • 161.
    CLOUD COMPUTING CS& BCA 161 A. SIVASANKARI , SIASC. agility, flexibility, and scalability to the cloud resources by allowing the vendors to copy, move, and manipulate their VMs at will. The term virtual machine essentially describes sharing the resources of one single physical computer into various computers within itself. VMware and virtual box are very commonly used virtual systems on desktops. Cloud computing effectively stands for many computers pretending to be one computing environment. Obviously, cloud computing would have many virtualized systems to maximize resources. Keeping this information in mind, we can now look into the security issues that arise within a cloud-computing scenario. As more and more organizations follow the “Into the Cloud” concept, malicious hackers keep finding ways to get their hands on valuable information by manipulating safeguards and breaching the security layers (if any) of cloud environments. One issue is that the cloud-computing scenario is not as transparent as it claims to be. The service user has no clue about how his information is processed and stored. In addition, the service user cannot directly control the flow of data/information storage and processing. The service provider usually is not aware of the details of the service running on his or her environment. Thus, possible attacks on the cloud-computing environment can be classified in to: 1. Resource attacks: These kinds of attacks include manipulating the available resources into mounting a large-scale botnet attack. These kinds of attacks target either cloud providers or service providers. Data attacks: These kinds of attacks include unauthorized modification of sensitive data at nodes, or performing configuration changes to enable a sniffing attack via a specific device etc. These attacks are focused on cloud providers, service providers, and also on service users. Denial of Service attacks: The creation of a new virtual machine is not a difficult task, and thus, creating rogue VMs and allocating huge spaces for them can lead to a Denial of Service attack for service providers when they opt to create a new VM on the cloud. This kind of attack is generally called virtual machine sprawling. Backdoor:
  • 162.
    CLOUD COMPUTING CS& BCA 162 A. SIVASANKARI , SIASC. Another threat on a virtual environment empowered by cloud computing is the use of backdoor VMs that leak sensitive information and can destroy data privacy. Having virtual machines would indirectly allow anyone with access to the host disk files of the VM to take a snapshot or illegal copy of the whole System. This can lead to corporate espionage and piracy of legitimate products. With so many obvious security issues (and a lot more can be added to the list), we need to enumerate some steps that can be used to secure virtualization in cloud computing. 5.11 IDENTITY AND ACCESS MANAGEMENT Managing identities and access control for enterprise applications remains one of the greatest challenges facing IT today. While an enterprise may be able to leverage several cloud computing services without a good identity and access management strategy, in the long run extending an organization’s identity services into the cloud is a necessary prerequisite for strategic use of on-demand computing services. Supporting today’s aggressive adoption of an admittedly immature cloud ecosystem requires an honest assessment of an organization’s readiness to conduct cloud-based Identity and Access Management (IAM), as well as understanding the capabilities of the organization’s cloud computing providers. We will discuss the following major IAM functions that are essential for successful and effective management of identities in the cloud: • Identity provisioning/deprovisioning • Authentication & federation • Authorization & user profile management • Support for compliance The SPI (SaaS, PaaS, IaaS) cloud delivery models call for IT departments and the cloud service provider (CSP) to jointly extend the organization’s IAM practices, processes, and procedures to cloud services in ways that are scalable, effective, and efficient for both the provider and its customers. Identity Provisioning: One of the major challenges for organizations adopting cloud computing services is the secure and timely management of on- boarding (provisioning) and off-boarding (deprovisioning) of users in the cloud. Further, enterprises that have invested in user management processes within an enterprise will seek to extend those processes to cloud services.
  • 163.
    CLOUD COMPUTING CS& BCA 163 A. SIVASANKARI , SIASC. Authentication: When organizations utilize cloud services, authenticating users in a trustworthy and manageable manner is a vital requirement. Organizations must address authentication-related challenges such as credential management, strong authentication, delegated authentication, and managing trust across all types of cloud services. Federation: In the cloud computing environment, Federated Identity Management plays a vital role in enabling organizations to authenticate their users of cloud services using the organization’s chosen identity provider (IdP). In that context, exchanging identity attributes between the service provider (SP) and the IdP securely is also a requirement. Organizations considering federated identity management in the cloud should understand the various challenges and possible solutions to address those challenges with respect to identity lifecycle management, available authentication methods to protect confidentiality, and integrity, while supporting non-repudiation. Authorization and User Profile Management: The requirements for user profiles and access control policy vary, depending on whether the user is acting on their own behalf (such as a consumer) or as a member of an organization (such as an employer, university, hospital, or other enterprise). The access control requirements in SPI environments include establishing trusted user profile and policy information, using it to control access within the cloud service, and doing this in an auditable way. Compliance: For customers who rely on cloud services, it is important to understand how Identity Management can enable compliance with internal or regulatory requirements. Well designed identity management can ensure that information about accounts, access grants, and segregation of duty enforcement at cloud providers, can all be pulled together to satisfy an enterprise’s audit and compliance reporting requirements. For each of these IAM functions, we will discuss the challenges, solutions, and future outlook; and present a provider check list and set of questions to will help you get ready for cloud adoption. 5.12 ACCESS CONTROL MODEL There are several different access control models, but in general the model that is good for a particular situation in a non-cloud model will still be appropriate in a cloud situation. Transaction processing services may be best served by Role Based Access Control (RBAC) models, possibly complemented by data-centric policy (such as SQL views)
  • 164.
    CLOUD COMPUTING CS& BCA 164 A. SIVASANKARI , SIASC. implemented in underlying databases. Unstructured content may be best protected by an ACL model in many cases, and a MAC/MLS model when it is necessary to make access control decisions based upon the classification of assets or information. Web service access to the cloud is generally best supported by an ACL model. In addition to basic access control, cloud environments may impose quota-based restrictions. Customers should make sure they fully understand the capabilities and limitations of the access model in use. Finally, large corporate customers will need to invest in designing a group or role model that maps user roles to their internal business functions in order to effectively manage the access model.
  • 165.
    CLOUD COMPUTING CS& BCA 165 A. SIVASANKARI , SIASC. CLOUD COMPUTING UNIT I Multiple Choice Questions With Answers 1) Cloud is based on? a. Internet b. Service c. Application d. None Ans : a 2. Benifits of Cloud? a. Provide you low-cost software b. Offers advanced online security c. Location and Device Independence d. All of the above Ans: d 3. Cloud computing is the delivery of computing services including servers, storage, on a. Medium b. wireless c. Both d. Internet Ans: d 4. SAAS Stands for a. System As A Software b. Software As A Service C. Service As A Software d. Service As A System Ans: b 5. The SOA means? a. Service Oriented Architecture b. System Oriented Architecture c. Service Oriented Assign d. none Ans: a
  • 166.
    CLOUD COMPUTING CS& BCA 166 A. SIVASANKARI , SIASC. 6 NAAS means ? a. Network As a Server b. Network As a System c. Network As A Service d. None Ans : c 7. IAAS Stands for? a. Information As a Server b. Infrastructure As a Service c. Information As a System d. None of above Ans : b 9.) Which of these is not a Cloud Model? a. Public b. private c. Hybrid d. Semi Ans : d 2 MARK QUESTIONS 1. What is Cloud Computing? Cloud computing is the delivery of computing services including servers, storage, databases, networking, software, analytics, and intelligence over the Internet (“the cloud”) to offer faster innovation, flexible resources, and economies of scale. You typically pay only for cloud services you use, helping lower your operating costs, run your infrastructure more efficiently and scale as your business needs change. 2. What is the use of Cloud Computing? • Cost • Speed • Reliability • Global Scale • Performance • Productivity
  • 167.
    CLOUD COMPUTING CS& BCA 167 A. SIVASANKARI , SIASC. 3. What are the types of Cloud? • Public • Private • Hybrid . 4. What are the advantages of Cloud? • Cost Savings • Strategic edge • High Speed • Back-up and restore data • Automatic Software Integration • Reliability • Mobility • Unlimited storage capacity • Collaboration • Quick Deployment 5. What are the disadvantages of Cloud? • Performance Can Vary • Technical Issues • Security Threat in the Cloud • Downtime • Internet Connectivity • Lower Bandwidth • Lacks of Support 6. List out the benefits of Cloud. 1. On-Demand Self-service 2. Multi-tenancy 3. Offers Resilient Computing 4. Fast and effective virtualization 5. Provide you low-cost software 6. Offers advanced online security 7. Location and Device Independence
  • 168.
    CLOUD COMPUTING CS& BCA 168 A. SIVASANKARI , SIASC. 8. Always available, and scales automatically to adjust to the increase in demand 9. Allows pay-per-use 7. List out the Cloud Computing Service Providers. • Microsoft Azure • Amazon Web Services • Kamatera • Cloudways • DigitalOcean • Rackspace • MassiveGrid • Alibaba Cloud • Liquidweb • Google Cloud Platform 8. What are the broad divisions of Cloud Computing Architecture? The broad divisions of cloud architecture are: • Front-end • Back-end Name the technologies specified by Cloud. There are certain technologies working behind the cloud computing platforms making cloud computing flexible, reliable, and usable. These technologies are listed below: • Virtualization • Service-Oriented Architecture (SOA) • Grid Computing • Utility Computing 9. What are the Cloud Services? • Software as a Service • Platform as a Service • Infrastructure as a Service • Identity as a Service • Network as a Service
  • 169.
    CLOUD COMPUTING CS& BCA 169 A. SIVASANKARI , SIASC. 5 MARK QUESTIONS 1. What are the basics of Cloud Computing? Summarize. 2. Draw a neat diagram of Cloud architecture and explain in detail. 3. Explain the services of Cloud Computing 4. Write notes on Benefits of Cloud. 5. Briefly notes on Cloud Storage. 10 MARK QUESTIONS 1. Explain in detail about the History of Cloud Computing. 2. State the requirements of Cloud. Explain its architectural components. 3. Describe the advantages and disadvantages of Cloud in detail. 4. Explain Cloud Storage in detail. UNIT II: DEVELOPING CLOUD SERVICES Multiple Choice Questions With Answers 1. A ______ Service Provider gets the same benifits of composable system that a user does a. CAAS b. SAAS c. PAAS d. None Ans : c 2. From the standpoint of an ________ it makes no sense to offer non-standard machine instances to customers. a. CAAS b. SAAS c. PAAS d. IAAS Ans : d 3. A Service Provider reselling an _______ may have the option to offer one module to customize the information. a. CAAS b. SAAS c. PAAS
  • 170.
    CLOUD COMPUTING CS& BCA 170 A. SIVASANKARI , SIASC. d. IAAS Ans : b 4. Which one of the following is the highest degree of integration in cloud computing a. CAAS b. SAAS c. PAAS d. IAAS Ans : b 5. Which of the architectural layer is used as front end in Cloud Computing. a. Client b. Cloud c. Soft d. none Ans: a 6 Which of the component is called as hypervisor. a. VMC b. VCC c. VMS d. VMM Ans : d 7. Applications such as a webserver or a database server that can run on a virtual machine image are referred as? a. Virtual Server b. Virtual appliances c. Machine Imaging d. None of above Ans : b 9.) ___________ allows different operating systems to run in their own memory space. a. VMC b. VCC c. VMS d. VMM Ans : d
  • 171.
    CLOUD COMPUTING CS& BCA 171 A. SIVASANKARI , SIASC. 2 MARK QUESTIONS 1. List out the types of Services in Cloud Computing? There are four types of services. They are • SAAS • PAAS • IAAS 2. What are the Physical Resources of Cloud Computing? • Cluster computing • Grid computing • Utility computing • Distributed Computing 3. What is Cluster Computing? Cluster computing connects different computers in a single location via LAN to work as a single computer. Improves the combined performance of the organization which owns it 4. What is SAAS? Cloud applications allow the cloud to be leveraged for software architecture, reducing the burdens of maintenance, support, and operations by having the application run on computers belonging to the vendor. Example: Gmail, Salesforce. 5. What is PAAS? Clouds are created, many times inside IaaS Clouds by specialists to render the scalability and deployment of any application trivial and to help make your expenses scalable and predictable. Some examples of a PaaS system include: Mosso, Google App Engine. 6. What is IAAS? IaaS, gives business access to vital web architecture, such as storage space, servers, and connections, without the business need of purchasing and managing this internet infrastructure themselves. Because of the economies of scale and specialization involved, this can be to the benefit of both the business providing the infrastructure and the one using it. Example: Amazon Ec2, Rackspace Cloud.
  • 172.
    CLOUD COMPUTING CS& BCA 172 A. SIVASANKARI , SIASC. 7. What is Google AppEngine? Google App Engine (often referred to as GAE or simply App Engine) is a Platform as a Service and cloud computing platform for developing and hosting web applications in Google-managed data centers. 8. What is Amazon EC2? Amazon Elastic Compute Cloud (Amazon EC2) is a web service that provides secure, resizable compute capacity in the cloud. It is designed to make web-scale cloud computing easier for developers. 9. What is meant by IBM Clouds. IBM cloud computing is a set of cloud computing services for business offered by the information technology company IBM. IBM cloud includes infrastructure as a service (IaaS), software as a service (SaaS) and platform as a service (PaaS) offered through public, private and hybrid cloud delivery models, in addition to the components that make up those clouds. 5 MARK QUESTIONS 1. Summarize the types of Cloud Service development. 2. Explain about SAAS in detail. 3. Explain the services of PAAS in Cloud Computing 4. Write short notes on Web Services of Cloud. 5. Briefly notes on Amazon Ec2. 10 MARK QUESTIONS 1. Explain in detail about the Google AppEngine of Cloud Computing. 2. Explain the On demand computing of Cloud. 3. Describe the Development Services and tools of Cloud in detail. 4. Explain about IBM Clouds in detail. 5. Write about the types of Cloud Service Development. Explain each of them.
  • 173.
    CLOUD COMPUTING CS& BCA 173 A. SIVASANKARI , SIASC. UNIT III: CLOUD COMPUTING FOR EVERYONE Multiple Choice Questions With Answers 1._______ describes a cloud service that can only be accessed by a limited amount of people a. Data Center b. Public Cloud c. Private Cloud d. None Ans : c 2. ________ describes a distribution model in which applications are hosted by a service provider and made available to users. a. CAAS b. SAAS c. PAAS d. IAAS Ans : d 3. Which feature of Cloud computing allows the service to change in size or volume in order to meet a user needs a. Security b. Scalability c. Virtualization d. cost savings Ans : c 4. Which one of the following is the highest degree of integration in cloud computing a. CAAS b. SAAS c. PAAS d. IAAS Ans : b
  • 174.
    CLOUD COMPUTING CS& BCA 174 A. SIVASANKARI , SIASC. 5. Which of the following is related to service provided by cloud. a. Ownership b. Sourcing c. Reliability d. AASS Ans: b 6. Which of the architectural layer is used as front end in cloud computing. a. Client b. Cloud c. Soft d. Top Ans : a 7. Communication between services is done widely using __________ protocol. a. SOAP b. REST c. FTP d. None of above Ans : a 9.) ___________ refers to the location and management of the clouds infrastructure a. Service b. Deployment c. Application d. none Ans : b 2 MARK QUESTIONS 1. What is Grid Computing? Grid computing is a processor architecture that combines computer resources from various domains to reach a main objective. In grid computing, the computers on the network can work on a task together, thus functioning as a supercomputer. 2. What are the features of data grids? The ability to integrate multiple distributed, heterogeneous and independently managed data sources. The ability to provide data catching and/or replication mechanisms
  • 175.
    CLOUD COMPUTING CS& BCA 175 A. SIVASANKARI , SIASC. to minimize network traffic. The ability to provide necessary data discovery mechanisms, which allow the user to find data based on characteristics of the data. 3. Define the term web service with example. A web service is an application that operates over a network typically, over the Internet. Most typically, a web service is an API that can be accessed over the Internet. The service is then executed on a remote system that hosts the requested services. A good example of web services are the “mashups” created by users of the Google Maps API. With these custom apps, the data that feeds the map is provided by the developer, where the engine that creates the map itself is provided by Google. 4. What are the issues in web based applications? •Technical issues •Business model issues •Internet issues •Security issues •Compatibility issues • Social issues 5. List the companies who offer cloud service development? • Amazon • Google App Engine • IBM • Salesforce.com 6. Mention the other Cloud service development tools. • 3tera • 10gen • Cohesive Flexible Technologies • Joyent • Mosso • Nirvanix • Skytap • StrikeIron 5 MARK QUESTIONS 6. Explain about Centralized Database. 7. Explain about the Client – Server Concept in Cloud. 8. Explain the services of PAAS in Cloud Computing 9. Write short notes on Collaborating on schedules Cloud.
  • 176.
    CLOUD COMPUTING CS& BCA 176 A. SIVASANKARI , SIASC. 10 MARK QUESTIONS 1. Explain in detail about the Centralized Email Communications of Cloud Computing. 6. Explain the On demand computing of Cloud. 7. Describe the Cloud Computing for the community in detail. 8. Explain about Collaborating on group projects and events in detail. CLOUD COMPUTING UNIT IV: PROGRAMMING MODEL 2 MARK QUESTIONS 7. What is Distributed Programming? Distributed computing is the use of distributed systems to solve single large problems by distributing tasks to single computers in the distributing systems. On the other hand, cloud computing is the use of network hosted servers to do several tasks like storage, process and management of data. Here we will give an in-depth analysis of the two. 8. What is distributed computing A distributed system is a system whose components are located on different networked computers, which communicate and coordinate their actions by passing messages to one another. The components interact with one another in order to achieve a common goal. Three saignificant characteristics of distributed systems are: concurrency of components, lack of a global clock, and independent failure of components. Examples of distributed systems vary from SOA-based systems to massively multiplayer online games to peer-to-peer applications. 3. What is MapReduce? MapReduce is a processing technique and a program model for distributed computing based on java. The MapReduce algorithm contains two important tasks, namely Map and Reduce. Map takes a set of data and converts it into another set of data, where individual elements are broken down into tuples (key/value pairs). Secondly, reduce task,
  • 177.
    CLOUD COMPUTING CS& BCA 177 A. SIVASANKARI , SIASC. which takes the output from a map as an input and combines those data tuples into a smaller set of tuples. As the sequence of the name MapReduce implies, the reduce task is always performed after the map job. 4. What are the terminologies used in Map reduce? • PayLoad − Applications implement the Map and the Reduce functions, and form the core of the job. • Mapper − Mapper maps the input key/value pairs to a set of intermediate key/value pair. • NamedNode − Node that manages the Hadoop Distributed File System (HDFS). • DataNode − Node where data is presented in advance before any processing takes place. • MasterNode − Node where JobTracker runs and which accepts job requests from clients. • SlaveNode − Node where Map and Reduce program runs. • JobTracker − Schedules jobs and tracks the assign jobs to Task tracker. • Task Tracker − Tracks the task and reports status to JobTracker. • Job − A program is an execution of a Mapper and Reducer across a dataset. • Task − An execution of a Mapper or a Reducer on a slice of data. • Task Attempt − A particular instance of an attempt to execute a task on a SlaveNode. 5. What is the use of Hadoop? Everyday a large amount of unstructured data is getting dumped into our machines. The major challenge is not to store large data sets in our systems but to retrieve and analyze the big data in the organizations, that too data present in different machines at different locations. In this situation a necessity for Hadoop arises. Hadoop has the ability to analyze the data present in different machines at different locations very quickly and in a very cost effective way. It uses the concept of MapReduce which enables it to divide the query into small parts and process them in parallel. This is also known as parallel computing. 6. What is Fault Tolerance? Suppose you have a file stored in a system, and due to some technical problem that file gets destroyed. Then there is no chance of getting the data back present in that file. To avoid such situations, Hadoop has introduced the feature of fault tolerance in HDFS. In Hadoop, when we store a file, it automatically gets replicated at two other locations also. So even if one or two of the systems collapse, the file is still available on the third system.
  • 178.
    CLOUD COMPUTING CS& BCA 178 A. SIVASANKARI , SIASC. 7. Name the three modes to run Hadoop? The three modes in which Hadoop can be run are • standalone (local) mode • Pseudo-distributed mode • Fully distributed mode 8. What is a Datanode? Datanodes are the slaves which are deployed on each machine and provide the actual storage. These are responsible for serving read and write requests for the clients. 5 MARK QUESTIONS 10. Explain about Distributed Programming Paradigm. 11. Differentiate between Parallel and Distributed Programming Paradigm. 12. Explain the concept of Map Reduce. 13. Write short notes on Google Cloud Environments. 10 MARK QUESTIONS 1. Explain in detail about the Distributed Computing. 9. Explain the Twister and Iterative Map Reduce methods of map reduce. 10. Describe the Hadoop Library from Apache in detail. 11. Explain about Google Cloud Environments in detail. 12. Explain about Google App Engine in detail. UNIT V 2 MARK QUESTIONS 1.What are the security issues in Cloud Computing? • Distributed-Denial-of-Service Attacks • Shared Cloud Computing Services • Employee Negligence • Data Loss and Inadequate Data Backups • Phishing and Social Engineering Attacks • System Vulnerabilities 2.What is Distributed DOS Attack? When cloud computing first became popular, Distributed Denial-of-Service (DDoS) attacks against cloud platforms were largely unthinkable; the sheer amount of resources cloud
  • 179.
    CLOUD COMPUTING CS& BCA 179 A. SIVASANKARI , SIASC. computing services had made DDoS attacks extremely difficult to initiate. But with as many Internet of Things devices, smartphones, and other computing systems as there are available now, DDoS attacks have greatly increased in viability. If enough traffic is initiated to a cloud computing system, it can either go down entirely or experience difficulties. 3.What are the mechanisms for data protection. I) Access Control ii) Auditing iii) Authentication iv) Authorization List the companies who offer cloud service development? 4.What are the challenges in Cloud Computing Following diagram shows the major challenges in cloud computing. 5.What is Software-as-a-Service (SaaS) • SaaS is known as 'On-Demand Software'. • It is a software distribution model. In this model, the applications are hosted by a cloud service provider and publicized to the customers over internet. • In SaaS, associated data and software are hosted centrally on the cloud server. • User can access SaaS by using a thin client through a web browser.
  • 180.
    CLOUD COMPUTING CS& BCA 180 A. SIVASANKARI , SIASC. • CRM, Office Suite, Email, games, etc. are the software applications which are provided as a service through Internet. • The companies like Google, Microsoft provide their applications as a service to the end users. 6.What are the advantages of SaaS SaaS is easy to buy because the pricing of SaaS is based on monthly or annual fee and it allows the organizations to access business functionalities at a small cost, which is less than licensed applications. SaaS needed less hardware, because the software is hosted remotely, hence organizations do not need to invest in additional hardware. Less maintenance cost is required for SaaS and do not require special software or hardware versions. 7.What are the disadvantages of SaaS SaaS applications are totally dependent on Internet connection. They are not usable without Internet connection. It is difficult to switch amongst the SaaS vendors. 5 MARK QUESTIONS 14. Explain about Security issues in Cloud. 15. Explain about the SAAS in Cloud. 16. Explain the services Security Governance in Cloud Computing. 17. Write short notes on the types of security Cloud. 10 MARK QUESTIONS 1. Explain in detail about the Cloud Security Challenges and Risks in Cloud Computing. 13. Explain in detail about types of security in Cloud. 14. Describe the Identity Management and Access Control in detail. 15. Explain about Security Architecture Design in detail.