Cloud Report
Cloud Report
on
ONLINE CLOUD ATTENDANCE SYSTEM
performed at
E2E NETWORKS
Submitted by
Daksh Jain
(20116401517)
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
2
Cloud Computing
Contents
1 Introduction 4
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
7 Project 25
7.1 ONLIINE ATTENDANCE SYSTEM
7.1.1 DATABASE
7.1.2 ENTRIES FOR DATABASE
8 REFERENCES/BIBLIOGRAPHY
3
Cloud Computing
1 Introduction
4
Cloud Computing
5
Cloud Computing
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.
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.
6
Cloud Computing
The advantages for using cloud services can be of technical, architectural, business etc
[5, 6].
(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.
(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.
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
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 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
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
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.
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.
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
11
Cloud Computing
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.
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.
13
Cloud Computing
architecture has two components one is the EC2 for computing purposes and S3 is for
storage purposes [14].
14
Cloud Computing
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.
15
Cloud Computing
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
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.
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
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.
19
Cloud Computing
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.
Software licensing { Software should be licensed for each and every depart-ment
terminal. This incurs a large amount of establishment cost.
20
Cloud Computing
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.
Pay model { Cloud providers’ pay-as-you-use model enables the customer (Government) to reduce cost of
deployment and control the usage.
21
Cloud Computing
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.
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.
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.
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.
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 .
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).
[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.
[8] Jaijit Bhattacharya and Sushant Vashistha. Utility computing-based framework for e-
governance, pages 303{309. ACM, New York, NY, USA, 2008.
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.
[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