0% found this document useful (0 votes)
463 views37 pages

Cloud Report

This document provides an internship report on an online cloud attendance system project performed at E2E Networks. It includes an abstract, acknowledgements, table of contents, and 7 sections that discuss cloud computing basics, popular cloud applications like Amazon EC2 and S3, Google App Engine, and Windows Azure, applications of cloud computing in Indian contexts like e-governance and rural development, and details of the online attendance system project including the database, entries, GUI, and deployment.

Uploaded by

Daksh Jain
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
463 views37 pages

Cloud Report

This document provides an internship report on an online cloud attendance system project performed at E2E Networks. It includes an abstract, acknowledgements, table of contents, and 7 sections that discuss cloud computing basics, popular cloud applications like Amazon EC2 and S3, Google App Engine, and Windows Azure, applications of cloud computing in Indian contexts like e-governance and rural development, and details of the online attendance system project including the database, entries, GUI, and deployment.

Uploaded by

Daksh Jain
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 37

INTERNSHIP REPORT

on
ONLINE CLOUD ATTENDANCE SYSTEM

performed at

E2E NETWORKS

Submitted by

Daksh Jain
(20116401517)

University School of Information and Communication


Technology (GGSIPU), Delhi

Course: B. Tech. (Information Technology)


Cloud Computing

Abstract

The term cloud computing" is a recent buzzword in the IT world. Behind this
fancy poetic phrase there lies a true picture of the future of computing for both in
technical perspective and social perspective. Though the term \Cloud Computing"
is recent but the idea of centralizing computation and storage in distributed data
centers maintained by third party companies is not new but it came in way back
in 1990s along with distributed computing approaches like grid computing. Cloud
computing is aimed at providing IT as a service to the cloud users on-demand
basis with greater exibility, availability, reliability and scalability with utility
computing model. This new paradigm of computing has an immense potential in
it to be used in the eld of e-governance and in rural development perspective in
developing countries like India.

1
Cloud Computing

Acknowledgment

I, Daksh Jain , am thankful to all the individuals who have lent


me support and guidance in completing my internship in
stipulated period.

First and foremost I would like to express my deepest gratitude


to, the Guide of the project, Mrs. Srishti Baweja ,
Director and Shri Rajesh Mahajan ,Sr. Technial Director for
guidance, support, motivation and encouragement throughout
the period.

I’m also thankful to all other members and staff of the


department who were involved in the project either directly or
indirectly for their valuable cooperation.

2
Cloud Computing

Contents
1 Introduction 4

2 Cloud Computing Basics 5


2.1 Types of Cloud . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
2.2 Cloud Stakeholders . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
2.3 Advantages of using Cloud . . . . . . . . . . . . . . . . . . . . . . . . 7

3 Motivation towards Cloud in recent time 7

4 Cloud Architecture 8
4.1 Comparison between Cloud Computing and Grid Computing . . . . . 10
4.2 Relation between Cloud Computing and Utility Computing . . . . . . 10
4.3 Types of utility cloud services . . . . . . . . . . . . . . . . . . . . . . 10

5 Popular Cloud Applications: A Case study 13


5.1 Amazon EC2 and S3 Services . . . . . . . . . . . . . . . . . . . . . . 13
5.2 Google App-Engine . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
5.3 Windows Azure . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16

6 Cloud Computing Application in Indian context 19


6.1 E-Governance . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
6.2 Rural development . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22

7 Project 25
7.1 ONLIINE ATTENDANCE SYSTEM

7.1.1 DATABASE
7.1.2 ENTRIES FOR DATABASE

7.1.3 GUI USING HTML AND CSS WITH LIVE CLOCK

7.1.4 DEPLOYMENT OF PROJECT

8 REFERENCES/BIBLIOGRAPHY
3
Cloud Computing

1 Introduction

Cloud computing is a recently developing paradigm of distributed computing. Though it


is not a new idea that emerged just recently. In 1969 [16] L. Kleinrock anticipated, \As of
now, computer networks are still in their infancy. But as they grow up and become more
sophisticated, we will probably see the spread of ’computer utilities’ which, like present
electric and telephone utilities, will service individual homes and o ces across the
country." His vision was the true indication of today’s utility based computing paradigm.
One of the giant steps towards this world was taken in mid 1990s when grid computing
was rst coined to allow consumers to obtain computing power on demand. The origin of
cloud computing can be seen as an evolution of grid computing technologies. The term
Cloud computing was given prominence rst by Google’s CEO Eric Schmidt in late 2006
(may be he coined the term) [6]. So the birth of cloud computing is very recent
phenomena although its root belongs to some old ideas with new business, technical
and social perspectives. From the archi-tectural point of view cloud is naturally build on
an existing grid based architecture and uses the grid services and adds some
technologies like virtualization and some business models.
In brief cloud is essentially a bunch of commodity computers networked to-
gether in same or di erent geographical locations, operating together to serve a
number of customers with di erent need and workload on demand basis with the help
of virtualization. Cloud services are provided to the cloud users as utility ser-vices like
water, electricity, telephone using pay-as-you-use business model. These utility
services are generally described as XaaS (X as a Service) where X can be Software or
Platform or Infrastructure etc. Cloud users use these services provided by the cloud
providers and build their applications in the internet and thus deliver them to their end
users. So the cloud users don’t have to worry about installing, maintaining hardware
and software needed. And they also can a ord these services as they have to pay as
much they use. So the cloud users can reduce their expen-diture and e ort in the eld of
IT using cloud services instead of establishing IT infrastructure themselves.
Cloud is essentially provided by large distributed data centers. These data centers
are often organized as grid and the cloud is built on top of the grid services. Cloud users
are provided with virtual images of the physical machines in the data centers. This
virtualization is one of the key concept of cloud computing as it essentially builds the
abstraction over the physical system. Many cloud applications are gaining popularity day
by day for their availability, reliability, scalability and utility model. These applications
made distributed computing easy as the critical

4
Cloud Computing

aspects are handled by the cloud provider itself.


Cloud computing is growing now-a-days in the interest of technical and busi-
ness organizations but this can also be bene cial for solving social issues. In the recent
time E-Governance is being implemented in developing countries to improve e ciency
and e ectiveness of governance. This approach can be improved much by using cloud
computing instead of traditional ICT. In India, economy is agriculture based and most
of the citizens live in rural areas. The standard of living, agricul-tural productivity etc
can be enhanced by utilizing cloud computing in a proper way. Both of these
applications of cloud computing have technological as well as social challenges to
overcome.
In this report we would try to clarify some of the ideas { Why is cloud
computing a buzzword today? i.e. what are the bene ts the provider and the users get
using cloud? Though its idea has come long back in 1990 but what situation made it
indispensable today? How is cloud built? What di erentiates it from similar terms like
grid computing and utility computing? What are the di erent services are provided by
the cloud providers? Though cloud computing now-a-days talks about business
enterprises not the non-pro t organizations; how can this new paradigm be used in the
services like e-governance and in social development issues of rural India?

2 Cloud Computing Basics


Cloud computing is a paradigm of distributed computing to provide the customers on-
demand, utility based computing services. Cloud users can provide more reli-able,
available and updated services to their clients in turn. Cloud itself consists of physical
machines in the data centers of cloud providers. Virtualization is pro-vided on top of these
physical machines. These virtual machines are provided to the cloud users. Di erent cloud
provider provides cloud services of di erent abstraction level. E.g. Amazon EC2 enables the
users to handle very low level details where Google App-Engine provides a development
platform for the developers to develop their applications. So the cloud services are divided
into many types like Software as a Service, Platform as a Service or Infrastructure as a
Service. These services are available over the Internet in the whole world where the cloud
acts as the single point of access for serving all customers. Cloud computing architecture
addresses di culties of large scale data processing.

5
Cloud Computing

2.1 Types of Cloud


Cloud can be of three types [20].

1. Private Cloud { This type of cloud is maintained within an organization and used
solely for their internal purpose. So the utility model is not a big term in this
scenario. Many companies are moving towards this setting and experts consider
this is the 1st step for an organization to move into cloud. Security, network
bandwidth are not critical issues for private cloud.

2. Public Cloud { In this type an organization rents cloud services from cloud
providers on-demand basis. Services provided to the users using utility com-
puting model.

3. Hybrid Cloud { This type of cloud is composed of multiple internal or exter-nal


cloud. This is the scenario when an organization moves to public cloud
computing domain from its internal private cloud.

2.2 Cloud Stakeholders

To know why cloud computing is used let’s rst concentrate on who use it. And then we
would discuss what advantages they get using cloud. There are three types of
stakeholders cloud providers, cloud users and the end users [Figure 1]. Cloud providers
provide cloud services to the cloud users. These cloud services are of the form of utility
computing i.e. the cloud users uses these services pay-as-you-go model. The cloud
users develop their product using these services and deliver the product to the end
users.

Figure 1: Interconnection between cloud stakeholders

6
Cloud Computing

2.3 Advantages of using Cloud

The advantages for using cloud services can be of technical, architectural, business etc
[5, 6].

1. Cloud Providers’ point of view

(a) Most of the data centers today are under utilized. They are mostly 15%
utilized. These data centers need spare capacity just to cope with the huge
spikes that sometimes get in the server usage. Large companies having those
data centers can easily rent those computing power to other organizations and
get pro t out of it and also make the resources needed for running data center
(like power) utilized properly.
(b) Companies having large data centers have already deployed the resources
and to provide cloud services they would need very little investment and
the cost would be incremental.

2. Cloud Users’ point of view

(a) Cloud users need not to take care about the hardware and software they
use and also they don’t have to be worried about maintenance. The users
are no longer tied to some one traditional system.
(b) Virtualization technology gives the illusion to the users that they are having
all the resources available.
(c) Cloud users can use the resources on demand basis and pay as much as
they use. So the users can plan well for reducing their usage to minimize
their expenditure.
(d) Scalability is one of the major advantages to cloud users. Scalability is
provided dynamically to the users. Users get as much resources as they
need. Thus this model perfectly ts in the management of rare spikes in the
demand.

3 Motivation towards Cloud in recent time

Cloud computing is not a new idea but it is an evolution of some old paradigm of
distributed computing. The advent of the enthusiasm about cloud computing in recent
past is due to some recent technology trend and business models [5].

7
Cloud Computing

1. High demand of interactive applications { Applications with real time response


and with capability of providing information either by other users or by non-
human sensors gaining more and more popularity today. These are generally
attracted to cloud not only because of high availability but also because these
services are generally data intensive and require analyzing data across di erent
sources.

2. Parallel batch processing { Cloud inherently supports batch-processing and


analyzing tera-bytes of data very e ciently. Programming models like Google’s
map-reduce [18] and Yahoo!’s open source counter part Hadoop can be used to
do these hiding operational complexity of parallel processing of hundreds of
cloud computing servers.

3. New trend in business world and scienti c community { In recent times the business
enterprises are interested in discovering customers needs, buying pat-terns, supply
chains to take top management decisions. These require analysis of very large amount
of online data. This can be done with the help of cloud very easily. Yahoo! Homepage is
a very good example of such thing. In the homepage they show the hottest news in the
country. And according to the users’ interest they change the ads and other sections in
the page. Other than these many scienti c experiments need very time consuming data
processing jobs like LHC (Large Hadron Collider). Those can be done by cloud.

4. Extensive desktop application { Some desktop applications like Matlab, Math-


ematica are becoming so compute intensive that a single desktop machine is no
longer enough to run them. So they are developed to be capable of using cloud
computing to perform extensive evaluations.

4 Cloud Architecture

The cloud providers actually have the physical data centers to provide virtualized
services to their users through Internet. The cloud providers often provide separa-tion
between application and data. This scenario is shown in the Figure 2. The underlying
physical machines are generally organized in grids and they are usu-ally geographically
distributed. Virtualization plays an important role in the cloud scenario. The data
center hosts provide the physical hardware on which virtual ma-chines resides. User
potentially can use any OS supported by the virtual machines used.

8
Cloud Computing

Figure 2: Basic Cloud Computing Architecture

Operating systems are designed for speci c hardware and software. It results in the
lack of portability of operating system and software from one machine to another machine
which uses di erent instruction set architecture. The concept of virtual machine solves this
problem by acting as an interface between the hardware and the operating system called
as system VMs [21]. Another category of virtual machine is called process virtual machine
which acts as an abstract layer between the operating system and applications.
Virtualization can be very roughly said to be as software translating the hardware
instructions generated by conventional soft-ware to the understandable format for the
physical hardware. Virtualization also includes the mapping of virtual resources like
registers and memory to real hard-ware resources. The underlying platform in
virtualization is generally referred to as host and the software that runs in the VM
environment is called as the guest. The Figure 3 shows very basics of virtualization. Here
the virtualization layer cov-ers the physical hardware. Operating System accesses physical
hardware through virtualization layer. Applications can issue instruction by using OS
interface as well as directly using virtualizing layer interface. This design enables the users
to use applications not compatible with the operating system.
Virtualization enables the migration of the virtual image from one physical
machine to another and this feature is useful for cloud as by data locality lots of
optimization is possible and also this feature is helpful for taking back up in di erent
locations. This feature also enables the provider to shut down some of the data center
physical machines to reduce power consumption.

9
Cloud Computing

Figure 3: Virtualization basic [21]

4.1 Comparison between Cloud Computing and Grid Com-puting

Most of the cloud architectures are built on Grid architecture and utilizes its ser-vice.
Grid is also a form of distributed computing architecture where organizations owning
data centers collaborate with each other to have mutual bene t. Although if apparently
seen it seems that cloud computing is no di erent from its originator in the rst look but
there are substantial di erence between them in spite of so many similarities [12]. The
relation between Grid and cloud computing is discussed in Table 1.

4.2 Relation between Cloud Computing and Utility Com-puting

The cloud users enjoy utility computing model for interacting with cloud service
providers. This Utility computing is essentially not same as cloud computing. Utility
computing is the aggregation of computing resources, such as computation and
storage, as a metered service similar to a traditional public utility like electricity, water
or telephone network. This service might be provided by a dedicated computer cluster
speci cally built for the purpose of being rented out, or even an under-utilized
supercomputer. And cloud is one of such option of providing utility computing to the
users.

4.3 Types of utility cloud services

Utility computing services provided by the cloud provider can be classi ed by the type of
the services. These services are typically represented as XaaS where we

10
Cloud Computing

Table 1: Comparison between Grid & Cloud computing

Characteristics Grid Computing Cloud Computing

Adopts project oriented busi-


ness model. The participating
parties agree to share a cer-
Business Model tain amount of resource with Uses Pay-as-you-go model.
others and gain the opportu-
nity of using all other grids’
resources.
Schedules dedicated resources
by a queuing service. Un-
Share all resources simultane-
til all the resources are avail-
ously to all the users at the
able as speci ed by the LRM
same time. This allows la-
Resource Management (Local Resource Manager) the
tency intensive and interac-
job waits in the queue. Thus
tive applications run naively
interactive and latency inten-
in cloud.
sive applications are not exe-
cuted e ciently in grid.
No virtualization, as the data
centers are handled by the in-
dividual organizations of their
own. So they generally man- For cloud computing one of
age those usually physically the essential components is
but not by virtualization. Al- virtualization. This is for pro-
Virtualization
though there are some e orts viding abstraction and encap-
being given by some com- sulation to the users of the
panies like Nimbus for vir- cloud.
tualization to make dynamic
deployment and abstraction
available.
Executing tasks may be small
Supports only loosely cou-
or large, loosely coupled or
Application model pled and transaction oriented,
tightly coupled, compute in-
mostly interactive jobs.
tensive or data intensive.
Grids build on the assump-
tion that resources are hetero-
Cloud security is now in its in-
Security model geneous and dynamic. Thus
fancy.
security is engineered in fun-
damental grid infrastructure.

11
Cloud Computing

can replace X by Infrastructure or Platform or Hardware or Software or Desktop or


Data etc. There are three main types of services most widely accepted - Software as a
Service, Platform as a Service and Infrastructure as a Service. These services provide di
erent levels of abstraction and exibility to the cloud users. This is shown in the Figure 4.

Figure 4: Cloud Service stack


We’ll now discuss some salient features of some of these models -

1. SaaS (Software as a service) { Delivers a single application through the web


browser to thousands of customers using a multitenant architecture. On the
customer side, it means no upfront investment in servers or software licens-ing;
on the provider side, with just one application to maintain, cost is low compared
to conventional hosting. Under SaaS, the software publisher (seller) runs and
maintains all necessary hardware and software. The customer of SaaS accesses
the applications through Internet. For example Salesforce.com with yearly
revenues of over $300M, o ers on-demand Customer Relationship Management
software solutions. This application runs on Salesforce.com’s own infrastructure
and delivered directly to the users over the Internet. Salesforce

12
Cloud Computing

does not sell perpetual licenses but it charges a monthly subscription fee start-
ing at $65/user/month [10]. Google docs is also a very nice example of SaaS
where the users can create, edit, delete and share their documents, spread-
sheets or presentations whereas Google have the responsibility to maintain the
software and hardware.
E.g. - Google Apps, Zoho etc.

2. PaaS (Platform as a service) { Delivers development environment as a ser-vice.


One can build his/her own applications that run on the provider’s infras-tructure
that support transactions, uniform authentication, robust scalability and
availability. The applications built using PaaS are o ered as SaaS and consumed
directly from the end users’ web browsers. This gives the ability to integrate or
consume third-party web-services from other service platforms.
E.g. - Google App Engine.

3. Iaas { IaaS service} provides the users of the cloud greater exibility to lower level
than other services. It gives even CPU clocks with OS level control to the developers.
E.g. - Amazon EC2 and S3.

5 Popular Cloud Applications: A Case study


Applications using cloud computing are gaining popularity day by day for their high
availability, reliability and utility service model. Today many cloud providers are in the
IT market. Of those Google App-Engine, Windows Azure and Amazon EC2, S3 are
prominent ones for their popularity and technical perspective.

5.1 Amazon EC2 and S3 Services


Amazon Elastic Computing (EC2) [13] is one of the biggest organizations to pro-vide
Infrastructure as a Service. They provide the computer architecture with XEN virtual
machine. Amazon EC2 is one of the biggest deployment of XEN architec-ture to date. The
clients can install their suitable operating system on the virtual machine. EC2 uses Simple
Storage Service (S3) for storage of data. Users can hire suitable amount CPU power,
storage, and memory without any upfront com-mitment. Users can control the entire
software stack from kernel upwards. The

13
Cloud Computing

architecture has two components one is the EC2 for computing purposes and S3 is for
storage purposes [14].

Simple Storage Service: S3 can be thought as a globally available distributed hash


table with high-level access control. Data is stored in name/value pairs. Names are
like UNIX le names and the value can be object having size up-to 5 GB with up-to 4K
of metadata for each object. All objects in Amazon’s S3 must t into the global
namespace. This namespace consists of a \bucket name" and an \object name".
Bucket names are like user names in traditional email account and provided by
Amazon on rst come rst serve basis. An AWS (Amazon Web Services) account can
have maximum of 100 buckets.
Data to S3 can be sent by SOAP based API or with raw HTTP \PUT" com-mands.
Data can be retrieved using SOAP HTTP or BitTorrent. While using BitTorrent the
S3 system operates as both tracker and the initial seeder. There are also some
tools available which enables the users to view S3 as a remote le system. Upload
download rate from and to S3 is not that much exiting. One developer from
Germany reported experiencing 10-100 KBps. This rate can go up-to 1-2 MBps on
the higher side depending on the time of the day. Although the speed is not that
much fascinating it is good enough for deliv-ering web objects and for backup
purposes although for doing computation it is not suitable.
Amazon S3 has a very impressive support for privacy, integrity and short term
availability. Long term availability is unknown as this depends on the internal
commitment of Amazon data centers. Data privacy can be obtained by encrypting
the data to be stored. But this encryption is to be done by the user before storing
the data in S3. One can use SSL with HTTPS to connect to S3 for more security but
this usage of SSL increases upload/download time also. Data integrity can be
achieved by checking end to end MD5 checking. When an object is stored into S3
then it returns MD5 of that object. One can easily check it with previously computed
hash value to guarantee data integrity. Short term availability depends upon the
Amazon’s connectivity and load on its server at that instant. Once the data is
actually in the S3 then it is Amazon’s responsibility to take care of it’s availability.
They claim that the data is backed up on multiple hard drives in multiple data
centers but doesn’t guarantee this by any Service Level Agreement. There is no
backup or recovery mechanism if the user accidentally deletes any data.
Amazon has a very impressive scheme of authentication in comparison to other cloud
services. Every AWS account has an Access Key ID and a Secret Key.

14
Cloud Computing

The ID is of 20 characters and the Key is a 41 character string. When signing


HMAC is rst computed for the sign request parameters using that Key. And in the
Amazon server that HMAC is again computed and compared with the value
previously computed in the client side. These requests also include timestamp to
prevent replay attacks.

Elastic Compute Cloud: As the name implies EC2 rents cloud of computers to the
users with exibility of choosing the con guration of the virtual machine like RAM
size, local disk size, processor speeds etc.
Machines that deliver EC2 services are actually virtual machines running on top
of XEN platform. Users can store a disk image inside S3 and create a virtual
machine in EC2 using tools provided by Amazon. This virtual machine can be
easily instantiated using a java program and can also be monitored. As EC2 is
based on XEN it supports any linux distribution as well as other OSs. Amazon
does not promise about reliability of the EC2 computers. Any machine can crash
at any moment and they are not backed up. Although these machine generally
don’t crash according to the experience of the users but it is safe to use S3 to
store information which is more reliable and replicated service. EC2 security
model is similar to that of S3. The only di erence is that the commands are signed
with an X 509 private key. But this key is downloaded from AWS account so the
security depends fundamentally on the AWS username and password.

5.2 Google App-Engine


Google App-Engine [1] is a platform for developing and deploying web applications in
Google’s architecture. This provides Platform as a Service to the cloud users. In 2008
Google App-Engine was rst released as beta version. Languages supported by Google
App-Engine are python, java and any extension of JVM languages. App-Engine requires
developers to use only languages which are supported by it and this is also applied
with APIs and frameworks. Now Google App-Engine allows storing and retrieving data
from a BigTable non-relational database.
AppEngine applications are expected to be request-reply based. Google App-
engine provides automatic scalability, persistent data storage service. Data store
features a query engine and transaction capabilities. These applications are easy to
scale as tra c and data storage need to grow so the cloud user doesn’t have to worry
about the spikes in the tra c or data. These applications are generally suitable for social
networking start-ups, event-based websites catering to seasonal

15
Cloud Computing

events or institutions (schools, colleges, universities, government agencies) etc [22].

5.3 Windows Azure


Windows Azure [9] is an intermediate in the spectrum of exibility vs programmer
convenience. These systems use .NET libraries to facilitate language independent
managed environment. This service falls under the category of Platform as a Ser-vice.
Though it is actually in between complete application framework like Google App-
Engine and hardware virtual machines like EC2. Azure applications run on machines in
Microsoft data centers. By using this service customers can use it to run applications
and store data on internet accessible machines owned by Microsoft. windows Azure
platform provides three fundamental components - compute com-ponent, storage
component and fabric component. Basic components of Windows Azure are shown in
Figure 5.

The Compute Service: The primary goal of this platform is to support a large
number of simultaneous users. (Microsoft also said that they would use Azure to
build their SaaS applications which motivated many potential users.) To allow
applications to scale out Microsoft uses multiple instances of that appli-cations
on virtual machines provided by Hypervisor. Developers use Windows Azure
portal through Web browser, and use Windows live ID to sign in into his/her
hosting account or storage account or both.
Two di erent types of Azure instance is available: Web role instance and Worker
role instances.

{ Web role instance: As the name implies this type of instance can accept HTTP
or HTTPS requests. For this facility Microsoft uses IIS (Internet Information
Services) as a web server inside the VM provided. Developers can build
applications using ASP.NET, Windows Communication Foun-dation (WCF) or
any other .NET technology or native codes also like C++. PHP or java based
technologies also supported in Azure. Azure scales applications by running
multiple instances without any a nity with a particular Web role instance.
So it is perfectly natural for an Azure application to serve multiple requests
from a single user by multiple in-stances. So this requires to write the client
state in the Azure storage after each client request.
{ Worker role instance: This type of instances are very similar to that of Web role instances. But unlike
the Web role instances these don’t have

16
Cloud Computing

Figure 5: Windows Azure component architecture

IIS con gured. They can be con gured to run executable of users’ right.
Worker role instance is more likely to function like a background job. Web
role instances can be used to accept request from the users and then they
can be processed by Worker role instances in a later point of time. For a
compute intensive work many Worker role instances can run in parallel.

Loging and monitoring of Azure applications is made easy by provision of ap-


plication wide log. a developer can collect performance related information like
measure of CPU usage, store crash dumps in the storage. Azure doesn’t give the
developer the freedom to use his/her own VM image for Windows Azure. The
platform maintains its own Windows. Applications in Azure run only in user
mode - no administrative access isn’t allowed here. So Windows Azure can
update the operating system in each VM without any concern of a ecting the
applications running on it. This approach separates administrative work from the
user domain.

The Storage Service: Applications running in Azure uses storage of di erent types:

17
Cloud Computing

{ Blobs: This is used for storing binary data in a simple hierarchy. Blobs can
have associated metadata with them. A user account can have one or more
containers and these containers have one or more blobs.
{ Storage tables: Blobs provide mechanisms for unstructured data but for
more structured purposes tables are more suitable. These tables are
nothing like tables in a traditional database. They are actually stored in a
group of entities. These tables can be accessed by using ADO.NET Data
Services. SQL is not preferable for scale out issues.
{ Queue : This is not a structure like tables or blobs to store data but these queues
are used to store messages about tasks to be performed by Worker role
instance. These tasks are written by Web role instances on receiving request
from clients. A Worker role instance waiting on that queue can read the
message and perform the task it speci es.

All data in the Windows Azure storage is replicated three times for providing
fault tolerance. Azure also keeps backups in geographically distributed data
centers. Windows Azure storage can be accessed by any Windows Azure ap-
plication as well as any application hosted at another cloud platform. All the
blobs, tables, queues are named using URIs and can be accessed by HTTP
methods calls.
Some applications have inherent need for relational databases. This is provided in the
form of SQL Azure. This is build on Microsoft SQL Server. This data can be accessed via
ADO.NET or by other Windows data access interfaces.

The Fabric: All Windows Azure application and all of the data stored in Azure
Storage live are physically happen inside some of the data centers handled by
Microsoft. In the data centers the set of machines dedicated to Azure are
organized into a fabric. These machines are managed by fabric controller. These
are replicated in ve to seven machines. These controllers are aware of every
Windows Azure application running in that fabric and also owns all the resources
like computers, switches, load balancers etc. Controllers monitors, decides which
resources to allocate to new applications looking at the con guration le with the
application. They also monitor the running applications.

18
Cloud Computing

6 Cloud Computing Application in Indian con-text

Today most of the studies in cloud computing is related to commercial bene ts. But this
idea can also be successfully applied to non-pro t organizations and to the social bene
t. In the developing countries like India Cloud computing can bring about a revolution
in the eld of low cost computing with greater e ciency, availability and reliability.
Recently in these countries e-governance has started to ourish. Experts envisioned that
utility based computing has a great future in e-governance. Cloud computing can also
be applied to the development of rural life in India by building information hubs to
help the concerned people with greater access to required information and enable
them to share their experiences to build new knowledge bases.

6.1 E-Governance
E-Governance is an interface between Government and public or this can be an
interface between two governments or between government and business organiza-
tions [7]. Objectives are generally to improve e ciency and e ectiveness to serve public
demand and to save costs for online services. This requires Government to have the
will to decentralize the responsibilities and processes and start to have faith on
electronic and internet systems. E-government is a form of e-business in gover-nance
and refers to the processes and structures needed to deliver electronic services to the
public (citizens and businesses), collaborate with business partners and to conduct
electronic transactions within an organizational entity. This E-Governance can be
greatly improved by utility computing [8].
Impact of Technology in E-governance -

24/7 Service Model { Systems and services require high availability. Get the citizens feel that
Government is always at their service.

Need for Content { Web contents should be regularly updated and the infor-
mation provided to the public should be su cient. Respective departments should
be responsible for providing the information.

Human Resource { Building these IT skilled resources would need properly


trained personals. This would make government to compete with other private
organizations.

19
Cloud Computing

Security { Sensitive Government data is to be highly secured. Policies are to be


taken seriously maintained and designed.

Privacy { Personal data should be given su cient privacy. It can be a di cult issue if
data is stored across di erent departments and computer systems.

Recently Government of India have taken initiative and launched several projects
to facilitate people with better mechanism of governance using IT as a tool. They have
launched projects like Gyan Ganga, e-Gram [17] to leverage the strength of connectivity.
Gyan Ganga is one of the initiatives of the Government of Gujrat to ensure wireless
Internet connectivity to 18000 villages in Gujrat. This project is based on corDECT a
technology based on Wireless Local Loop (WLL). Rural citizens are provided with facilities
like browsing emails, Internet, land records, rural job opportunities, status of various
government projects, information about local weather, soil and consult with experts to
increase productivity in agriculture, to have answer to their queries about veterinary and
health care. Gyan Ganga comes with other facilities with on-line registration of various
applications, on-line public grievance form, information on Government projects etc.
Another Government of India initiative is E-Gram computerization of local Gram
panchayats. This is also now implemented in the villages of Gujrat. This E-Gram
provides the rural people services like birth and death certi cation, property
assessment, tax-collection, accounts of gram panchayats etc.
Why traditional systems are not su cient? For maintaining traditional sys-tems
in e-government there are many more disadvantages.

Application life cycle management { Applications are generally developed in


evolutionary manner and changes should be consistent across all the depart-ments
and up gradation should be performed when the system is functioning.

Software licensing { Software should be licensed for each and every depart-ment
terminal. This incurs a large amount of establishment cost.

Scalability { Traditional centralized systems have inherent weakness towards the


aspect of scalability.

Security { This is the most crucial aspect for e-governance. Government


information is highly sensitive. So they should be highly secured. For the
traditional systems all the systems across all the departments should have su
cient security.

20
Cloud Computing

Most of these disadvantages are addressed by cloud computing [2].

Scalability { Cloud computing by design supports scalability. The data cen-ters


have enough computing and storage capacity to cope up with the spike demand.

Modi able { Applications hosted in cloud can be modi ed internally without too
much concern of the end users. Change in one place would reect in all the places
inherently and it would be consistent.

Data logging { This central facility can be very useful for locating any fault in the
system. Logging can also be used for detecting unauthorized usage checking or
detecting compromization.

Availability { Cloud services are well known for high availability. If any data
center is down for any reason there is hot backup ready to work immediately.
Virtual machine migration is used to great extend in this situation to facilitate
load balancing in case of failure of some systems.
Reliability { Replication and migration of instances across data centers make the reliability of the system
very high in the cloud scenario.

Physical disaster recovery { Backup policies can be very useful for physical
disaster avoidance and this is inherent to the cloud system. Data is stored in di
erent physical location so that hot backup can be provided whenever needed.
Policy management { Polices can be managed in a centralized fashion. This is helpful for introducing
Government policies readily unlike the present scenario.

Legacy software { An already developed software can be moved to cloud with


minor changes some times. So the Government doesn’t incur cost for develop-
ing applications which it already has.

Pay model { Cloud providers’ pay-as-you-use model enables the customer (Government) to reduce cost of
deployment and control the usage.

Reduce power consumption { Adaptation of cloud reduces power consump-tion


in di erent o ces and usage of power is concentrated in the data center only. But
also that is not the concern of the government as those data centers are to be
handled by the third party who provides cloud services.

21
Cloud Computing

Though it seems that cloud computing is indispensable for e-government but


there are many issues related to Cloud Computing application -

Security Concern { Government works are highly security sensitive and the policies
sometimes must not be go into public. But in cloud computing scenario security is
not properly implemented today. So this is a big concern.

Policy Concern { Government has certain policies but the third party cloud
provider may have contradicting policies.

Lack of faith in networks { Many government departments don’t have that much
trust in networks and internet. So they would not jump into accepting cloud
computing.

6.2 Rural development

In the context of rural development cloud computing can also be used to success for its
centralized storage and computing facility and utility based pay model. As per [3] 72.2% of
total Indian population resides in rural areas. According to the survey conducted by \Hole
in the Wall project" [11] computer literacy among boys and girls of age group 8-14 in rural
area varies across the regions of India. It is 40-50% in most of the regions. So the computer
literacy is not a concern in rural India and also in [11] it shown that learning rate is pretty
high for computer literacy. Agriculture is India’s biggest employment source, accounting
for 52% employment in India [4]. And agricultural sector contributes to 20% of country’s
total GDP. So it is very important to make a serious attempt to develop rural India.
Rural development can be in the form of education, agriculture, health, cul-ture or
in any other elds. Now a days most of the villages have some access to electricity and
cellular phone. So there is technical feasibility of establishing com-puter systems. But the
mentality of the people haven’t been changed that much and that’s why the spread of
personal computer is not that much signi cant in the villages. We think this growth rate can
be enhanced if the computing system is really cheap, easy to operate with minimum level
of knowledge, without upfront commitment and more essentially if the system is helpful
to enhance their life style. The main aim of the system is to make the people in rural areas
to have access to recent technology and with the help of the computing system enhance
their standard of living and also this would lead to a grater good of developing the nation.
Why not traditional web services?

22
Cloud Computing

Availability { Many of the services should be available always like health etc.
These availability issues are not that well handled by the traditional web services
as they are handled typically by a single server and thus the server downtime is
always there to happen.

The villagers have to own a PC { To use traditional web services through in-ternet
the villagers need to own a PC which would increase their investment. Then the
issues of need for technical experts for software/hardware installa-tion and
maintenance are needed. But naturally the number of such experts is very less in
number in the remote village. Upgradation of software or hardware would be a
problem both economically and technically.

With the help of cloud computing this can be made possible. We’ll now discuss
the technological and economic advantages for using cloud.

No upfront commitment { The villagers need not to invest too much to buy
computing system and commit. But instead they can have very low cost
terminals with basic functionality of I/O and have a network access.

No maintenance issues { The users need not to be an expert for maintenance. This
solves the unavailability of technical experts in the remote villages as the maintenance
issues are handled by the cloud provider explicitly.

On-demand resource allocation { The virtual resources can be extended as needed.


If the user needs more resource then it is provided on demand basis.

Utility computing model { The economic model used by the cloud is pay-as-you-
use. This enables the users handle the cost they have to pay.

By using cloud computing model some improvement of the current system is


possible to bring about social and as well as economic prospect in rural India.

Share knowledge and build knowledge base { Most of the agriculture related issues are
generally local and they can’t be solved by general expertise. So it happens many times
that the so called experts are not the right person to answer the problems but instead
the local farmers are better in understanding.

So in these situations better solution can be given by the local experts. If these
local experts access a common space to share their knowledge then others
eventually come to know about the solution. Thus a knowledge base can be
build which would represent the issues in that local scenario. It is like building
Wikipedia.

Health and medical services { In the developing countries like India one of the
concern of Rural health care is in spite of best intention from both the medical
professionals and patients a practical challenge is faced for difficulties of
communications among interested parties [15]. This issue can be solved using
cloud computing in an appropriate way. Consultation among doctors around the
world make sharing of knowledge possible and takes telemedicince to the next
level, creating a network that goes beyond the one-to-one, patient-to-patient,
patient-to-doctor or doctor-to-doctor interactions. In this way a patient suffering
from a particular disease can be better treated by consulting with doctors within
region and also outside who may have more experience with such a case.

Education in remote areas { Education in rural areas can be enhanced with the
help of distance education. Education can be provided in different languages and
with respect to di erent curriculum with the aid of e-learning components.
Students can be encouraged to build their own multimedia presentations. These
can be hosted in the cloud. This type of approach encourage the students to
concentrate more on learning and representing the material and also that would
build the knowledge in the cloud for other students to refer. This is possible with
the aid of cloud computing with greater reliability and availability.

Government decision making { Looking at the common knowledge base the


Government can have a fair knowledge of the local situation and take adoptive
steps.

Access to Information hub { Government can provide relevant information such


as land revenue data, weather data, soil information etc. through these cloud
services to the people concerned.

All these things are possible with right initiative. These may need customiz-ing
the original cloud services. Some generally unpopular services like Desktop as a Service
may make sense in these scenario which essentially tells about providing the users a
virtual desktop environment. But deployment of cloud services in rural areas have
some issues associated with it.

23
Cloud Computing

7 PROJECT

Project I worked upon was ONLINE ATTENDANCE SYSTEM USING CLOUD COMPUTING . I am
obliged to mention the live project ongoing at my internship site i.e. ANALYSIS OF ARTIFICIAL
INTELLIGENCE / MACHINE LEARNING USING GPU (GRAPHICAL PROCESSING UNIT ) .
Under my project I traced the minute details that takes up the skills of cloud computing to
deploy a fully functional Cloud based Attendance System with the updation at the backend .

7.1 ONLINE ATTENDANCE SYSTEM


Online Student Attendance Management System for educational
institutions that maintains a quick and accurate record of attendance of
students. This module is available to student dashboard as well from
which they can cite the causes of absences. Attendance Management
System helps admin in imposing fines for absences/late comings. Based
on the attendance per cent of students, they are allowed to sit in
examination.
Online Attendance Management System bridges the effective
communication between students, teachers, and parents by keep them
notified about their wards' attendance via Email or SMS. Even for
teachers, marking attendance for each student for each class becomes
boring as well as time consuming task, so School Management
software includes this attendance management system software to
perform this task as it saves a lot of time.

24
7.1.1 DATABASE
 DB_ENV_MYSQL_ROOT_USER user to create databases
 DB_ENV_MYSQL_ROOT_PASSWORD root password, eg. set from "${DB_ENV_MARIADB_PASS}"
 DB_ENV_MYSQL_DATABASE database name
 DB_ENV_MYSQL_PASSWORD database password
 DB_ENV_MYSQL_USER database user
 DB_PORT_3306_TCP_ADDR database hostname
 DB_PORT_3306_TCP_PORT database port
 DATABASE_TABLE_PREFIX table prefix for default database connection

25
7.1.2 ENTRIES FOR DATABASE

26
7.1.3 GUI USING HTML AND CSS WITH LIVE CLOCK

27
29
Cloud Computing

8. References
[1] Google app engine. http://code.google.com/appengine/.

[2] Cloud computing for e-governance. White paper, IIIT-Hyderabad, January 2010.
Available online (13 pages).

[3] Demographics of india. http://en.wikipedia.org/wiki/Demographics_of_ India,


April 2010.

[4] Economy of india. http://en.wikipedia.org/wiki/Economy_of_India, April 2010.

[5] Michael Armbrust, Armando Fox, Rean Gri th, Anthony D. Joseph, Randy H. Katz,
Andrew Konwinski, Gunho Lee, David A. Patterson, Ariel Rabkin, Ion Stoica, and
Matei Zaharia. Above the clouds: A berkeley view of cloud com-puting. Technical
Report UCB/EECS-2009-28, EECS Department, University of California, Berkeley,
Feb 2009.

[6] F.M. Aymerich, G. Fenu, and S. Surcis. An approach to a cloud comput-ing


network. Applications of Digital Information and Web Technologies, 2008.
ICADIWT 2008., pages 113 {118, August 2008.

[7] M. Backus. E-governance in Developing Countries. IICD Research Brief, 1, 2001.

[8] Jaijit Bhattacharya and Sushant Vashistha. Utility computing-based framework for e-
governance, pages 303{309. ACM, New York, NY, USA, 2008.

[9] D. Chappell. Introducing windows azure. http://go.microsoft.com/, De-cember


2009.

31
Cloud Computing

[10] Ritu Dangwal. Public Computing, Computer Literacy and Educational Out-come:
Children and Computers in Rural India, pages 59{66. IOS Press, Ams-terdam, The
Netherlands, 2005.

[11] Simson L. Gar nkel. An evaluation of amazon’s grid computing services: Ec2, s3
and sqs. Technical report, 2007.

[12] S.L. Gar nkel. Commodity grid computing with amazon’s S3 and EC2.
https://www.usenix.org/publications/login/2007-02/openpdfs/ garfinkel.pdf,
2007.

[13] Leonard Kleinrock. An internet vision: the invisible global infrastructure. Ad Hoc
Networks, 1(1):3 { 11, 2003.

[14] Ralf Lammel. Google’s mapreduce programming model { revisited. Sci. Com-put.
Program., 70(1):1{30, 2008.

[15] R. Patra, S. Nedevschi, S. Surana, A. Sheth, L. Subramanian, and E. Brewer.


WiLDNet: Design and implementation of high performance wi based long distance
networks. In USENIX NSDI, pages 87{100, 2007.

[16] Bhaskar Prasad Rimal, Eunmi Choi, and Ian Lumb. A taxonomy and survey of cloud
computing systems. Networked Computing and Advanced Information
Management, International Conference on, 0:44{51, 2009.
[17] J.E. Smith and R. Nair. An overview of virtual machine architectures. pages 1{ 20, October
2001. http://www.ece.wisc.edu/~jes/902/papers/intro.pdf.

32
7.1.4 DEPLOYMENT OF THE PROJECT
WITH INTEGRATION OF CLOUD USING
MICROSOFT POWERSHELL

30

You might also like