You are on page 1of 16

III BSc (Semester – VI) Cloud Computing Unit III

UNIT III
Cloud architecture: Cloud delivery model – SPI framework, SPI evolution, SPI vs.
traditional IT Model
Software as a Service (SaaS): SaaS service providers – Google App Engine,
Salesforce.com and google platfrom – Benefits – Operational benefits - Economic
benefits – Evaluating SaaS
Platform as a Service (PaaS ): PaaS service providers – Right Scale – Salesforce.com
– Rackspace – Force.com – Services and Benefits

***************
1. Explain Cloud Computing Architecture.
Cloud computing architecture is the systems design of the software systems
contained in the delivery of cloud computing which usually involves multiple cloud
components collaborating with each other over a loose connector mechanism such as
a messaging queue.

Cloud computing architecture refers to the components and subcomponents


essential for cloud computing. These collective components usually consist of a front
end platform (thick or thin client or mobile device), back end platforms (servers,
storage), cloud based delivery system and a network (Internet, Intranet, Intercloud).
The front and back ends are connected through a network, normally via Internet
by means of a delivery system. The diagram below illustrates the graphical description
of cloud computing architecture:

Department of Computer Science, TJPS College, Guntur. 1


III BSc (Semester – VI) Cloud Computing Unit III
Cloud Client Platforms:
Cloud computing architectures comprise of front-end platforms called cloud
clients or simply clients. These clients contain servers, thick, thin and ultra-thin clients,
laptops and tablets and various mobile devices. The interaction between client
platforms and the cloud data storage is via an application (middleware), a web browser
or via a virtual session.
The ultra-thin client trains the network to collect the vital configuration files
which then tell it where its OS binaries are stored. The entire ultra-thin client device
operates via the network which forms a single point of failure. In other words, if the
network goes down, the device is considered useless.
Cloud Storage:
Cloud storage is an internet or online storage where data is stored and available
to numerous clients. Cloud storage is commonly installed in the following
configurations: public cloud, private cloud, community cloud or some
permutation of the three also known as hybrid cloud.
It is crucial for cloud storage to be responsive, scalable, flexible, and capable to
provide multi-tenancy and secure in order to be effective.
Cloud Based Delivery:
Software as a service (SaaS)
The software-as-a-service (SaaS) service-model incorporates the cloud
provider installing and maintaining software within the cloud and users operating the
software from their cloud clients over the Internet (or Intranet). The users’ client
devices do not need installation of any application-specific software, meaning all cloud
applications run on the server in the cloud. SaaS is scalable and server system admin
may load the applications on a number of servers. For the user or enterprise, SaaS is
normally charged as a monthly or annual fee.
Software as a service provides the matching installed applications in the
traditional (non-cloud computing) provision of applications.
Software as a service has four typical methods:
➢ single instance
➢ multi instance
➢ multi-tenant
➢ flex tenancy
Development as a service (DaaS)
Development as a service is usually web-based, collectively pooled development
tools. This is comparable to locally installed development tools in the traditional (non-
cloud computing) provisioning of development tools.
Platform as a service (PaaS)
Platform as a service is cloud computing service which offers the users with
application platforms and databases as a service. This is comparable to middleware in
the traditional (non-cloud computing) provisioning of application platforms and
databases.

Department of Computer Science, TJPS College, Guntur. 2


III BSc (Semester – VI) Cloud Computing Unit III
Infrastructure as a service (IaaS)
Infrastructure as a service is virtualizing all the physical hardware (all servers,
networks, and storage and system management). This is comparable to infrastructure
and hardware in the traditional (non-cloud computing) system operating within the
cloud. Companies pay a fee (monthly or annually) to run virtual servers, networks and
storage from the cloud which will diminish the requirement for a data centre,
environment setting and maintaining hardware at the local level.

Cloud Networking
In general, the cloud network layer must offer:
➢ High bandwidth (low latency) – Ensuring users have uninterrupted access to
data and applications.
➢ Agile network – On-demand availability of resources involves the capability to
move rapidly and efficiently among servers and perhaps even within clouds.
➢ Network security – Security is always vital but when you are working with
multi-tenancy, it becomes much more crucial because you’re now dealing with
isolating multiple customers from each other.

2. Explain Cloud Computing Software as a Service (SaaS)


Software as a service (SaaS) is a software distribution model in which a third-
party provider hosts applications and makes them available to customers over the
Internet.
SaaS removes the need for organizations to install and run applications on their
own computers or in their own data centers. This eliminates the expense of hardware
acquisition, provisioning and maintenance, as well as software licensing, installation
and support.
The line between SaaS and PaaS gets a little blurry, but the description is
whether the provider supplies the application (SaaS) or simply provides a mechanism
to develop your own applications (PaaS). The gray area becomes even more marked
by companies like Google or Salesforce that offer both types of services. For instance,
not only can you build an application with Salesforce, but you can also allow others to
use the application you developed.

Department of Computer Science, TJPS College, Guntur. 3


III BSc (Semester – VI) Cloud Computing Unit III
SaaS Service Providers:
Customers Service providers Mobile devices, social media and the growing
expectations of customers are shifting the way support is handled. Cloud-based
solutions promise to transform customer service from a cost center into a profit center,
by enabling self-service and brand championship. Today there are dozens of SaaS
customer support platforms, some of which extend into marketing tools.

Office Suit Providers Today's cloud office suites offer anywhere access and cost
savings over traditional, desktop software. The solutions offer enterprises
standardization, resilience, ease of deployment and more. We examine the key
elements, differences, as well as pros and cons of cloud-based office suites. We then
provide you with a helpful comparison guide to Google Apps for Business.

Project Management Providers Project managers have a number of cloud-based


options to manage projects, which can help streamline their tasks and improve
collaboration. We evaluate the key features and buying considerations, like portfolio
management and application integration.

Help Desk Providers SaaS help desk solutions can streamline support
administration, reduce infrastructure costs, and improve the way you communicate
with your internal and external customers by extending support to different types of
users. When evaluating cloud-based help desk providers, like JitBit, FreshDesk,
ZenDesk and Desk.com consider the ticket management, knowledgebase support,
reporting, customization and integration.

Network Monitoring Guide Cloud-based IT solutions are growing in popularity and


the networking space is no short of them. Today's SaaS network monitoring providers,
like Kaseya, LogicMonitor, Montis and Uptrends, can offer topology discovery, device
monitoring, reporting, event collection and more. As you consider deploying cloud
network monitoring, take into account the advantages and disadvantages that come
along with using SaaS.

IT Security Buyers Guide Security as a service providers, like McAfee, Trend Micro,
GFI, and Barracuda, offer a range of options, including comprehensive, specialized and
targeted functions. A cloud-based security service can help with monitoring and
patching, hosted email security and encryption, endpoint protection and more.
However, your business is still responsible for maintaining compliance and protecting
your data. Here's what you should consider when shopping for a SaaS security
solution.

Department of Computer Science, TJPS College, Guntur. 4


III BSc (Semester – VI) Cloud Computing Unit III
Google App Engine and Salesforce
Google has partnered with Salesforce to make it easy for companies of all sizes
to run their business in the cloud with Salesforce for Google Apps. The combination of
the Google Apps suite of productivity applications and the Salesforce suite of Customer
Relationship Management (CRM) applications enables businesses to effectively
communicate and collaborate without any hardware or software to download, install,
or maintain. “Google and Salesforce.com have always had similar models and
philosophies about delivering innovations made possible by the Internet.
“Salesforce.com was a pioneer in Software-as-a-Service and a year ago we
joined them in this mission to bring the benefits of cloud computing to businesses of
all types. Together, we are making more applications and services available online so
customers can focus on building their core business rather than the applications that
support it.”
“Salesforce.com is thrilled to be offering Google Apps integrated with our
Salesforce applications and Force.com Platform-as-a-Service to the millions of
businesses looking to manage their entire office in the cloud.
“The combination of our leading CRM applications and Google’s business
productivity applications pushes forward the transformation of the industry to cloud
computing. The end of software is here.”
Salesforce for Google Apps Salesforce for Google Apps is a combination of essential
applications for business productivity (email, calendaring, documents, spreadsheets,
presentations, instant messaging) and CRM (sales, marketing, service and support,
partners) that enables an entirely new way for business professionals to communicate,
collaborate, and work together in real time over the Web. Salesforce for Google Apps
offers a complete way for businesses to harness the power of cloud computing without
the cost and complexity of managing hardware or software infrastructure.
The following features are included in Salesforce for Google Apps:
• Salesforce and Gmail Businesses can now easily send, receive, and store email
communication, keeping a complete record of customer interactions for better sales
execution and improved customer satisfaction.
• Salesforce and Google Docs Create, manage, and share online Google
Documents, Google Spreadsheets, and Google Presentations within your sales
organization, marketing group, or support team for instant collaboration.
• Salesforce and Google Talk Instantly communicate with colleagues or customers
from Salesforce and optionally attach Google Talk conversations to customer or
prospect records stored in Salesforce.
• Salesforce and Google Calendar Expose sales tasks and marketing campaigns
from Salesforce on Google Calendar. Built by Appirio, this application is one example
of a new category of partner extensions to Salesforce for Google Apps.
“While Salesforce.com has always enabled us to work easily with client desktop
productivity tools, we love that we now have the freedom to run our office in the
cloud,” said Prasan Vyas of UST Global.
Force.com and Google Platform:

Department of Computer Science, TJPS College, Guntur. 5


III BSc (Semester – VI) Cloud Computing Unit III
Salesforce.com and Google’s alliance has created the world’s largest cloud
computing platform for building and running applications. The Force.com Platform-as-
a-Service encompasses a feature set for the creation of business applications and
Google’s open APIs enable integration and extension of the applications in Google
Apps. The integration of the two creates opportunities for developers and partners to
build and run business applications that help customers run their entire business
smarter in the cloud. Applications like sales quote generation and business forecasting
are now easy to build and test, and can be deployed by customers with just a few
clicks via the AppExchange.
Appirio and Astadia are the first companies to take advantage of these new
development opportunities made possible through the Google and Salesforce.com
partnership. Each company has developed several applications that enhance
Salesforce for Google Apps, and all of these applications are available in a created
AppExchange category, Google Apps, at http://www.salesforce.com/appexchange.

Google
Google offers a host of applications that businesses can use immediately, as well
as a platform on which to make your own, business-specific apps. Much of a business’s
data is stored on user desktops, laptops, or removable USB drives.
Google promotes their SaaS offerings as a way to secure your sensitive data by
taking USB and user disk drives out of the equation. As such, users can access their
data from the office, a remote office, at home, or on the road. Further, Google
promises 99.9 percent uptime.
Security falls under three main topics:
➢ People Google employs a full-time information security team, which includes
experts in information, application, and network security. This team handles the
company’s perimeter defense systems, security review processes, and
customized security plans.
➢ Process Each Google application is built with security in mind. Applications are
constantly reviewed for security as part of their Secure Code development
process. The application development environment is also restricted and
monitored for an additional layer of security. External security audits are also
routinely conducted.

➢ Technology Google Apps data is divided between multiple servers and disks,
which make it impossible to read, if someone were to breach a lone server. Also,
the way in which the Google servers are built makes it possible to rapidly
distribute updates and configuration changes.

Operational Benefits:

Department of Computer Science, TJPS College, Guntur. 6


III BSc (Semester – VI) Cloud Computing Unit III
There are benefits to the way you operate. You can change business processes
(for the better) by moving some applications and storage to the cloud. The following
are some of the operational benefits:
Reduced cost Since technology is paid incrementally; your organization saves money
in the long run.
Increased storage You can store more data on the cloud than on a private network.
Plus, if you need more it’s easy enough to get that extra storage.
Automation Your IT staff no longer needs to worry that an application is up to date—
that’s the provider’s job. And they know they have to keep it up to date or they’ll start
losing customers.
Flexibility You have more flexibility with a cloud solution. Applications can be tested
and deployed with ease, and if it turns out that a given application isn’t getting the job
done, you can switch to another.
Better mobility Users can access the cloud from anywhere with an Internet
connection. This is ideal for road warriors or telecommuters—or someone who needs
to access the system after hours.
Better use of IT staff IT staff no longer has to worry about server updates and other
computing issues. They can focus on duties that matter, rather than being
maintenance staff.
Economic Benefits
Where the rubber really meets the road is when you consider the economic benefits
of something. And with cloud computing, cost is a huge factor. But it isn’t just in
equipment savings; it is realized throughout the organization. These are some benefits
to consider:
People We hate to suggest that anyone lose their job, but the honest-to-goodness
truth (we’re sorry) is that by moving to the cloud, you’ll rely on fewer staffers. By
having fewer staff members, you can look at your team and decide if such-and-such
a person is necessary. Is he or she bringing something to the organization? Are their
core competencies something you still need? If not, this gives you an opportunity to
find the best people to remain on staff.
Hardware With the exception of very large enterprises or governments, major cloud
suppliers can purchase hardware, networking equipment, bandwidth, and so forth,
much cheaper than a “regular” business. That means if you need more storage, it’s
just a matter of upping your subscription costs with your provider, instead of buying
new equipment. If you need more computational cycles, you needn’t buy more
servers; rather you just buy more from your cloud provider.
Pay as you go Think of cloud computing like leasing a car. Instead of buying the car
outright, you pay a smaller amount each month. It’s the same with cloud computing—
you just pay for what you use. But, also like leasing a car, at the end of the lease you
don’t own the car. That might be a good thing—the car may be a piece
of junk, and in the case of a purchased server, it’s sure to be obsolete.

Department of Computer Science, TJPS College, Guntur. 7


III BSc (Semester – VI) Cloud Computing Unit III
Time to market One of the greatest benefits of the cloud is the ability to get apps up
and running in a fraction of the time you would need in a conventional scenario. Let’s
take a closer look at that and see how getting an application online faster saves
you money. Before the cloud, launching a startup meant using either an underpowered
or inflexible host or an overpriced self-host. The former was a bad option, because it
was inflexible. The latter cost a lot of money: You had to find a host, configure the
machine, ship the machine, and manage the machine. With a cloud, you can spin up
a new instance in seconds.
[

Evaluating SaaS
Before employing a SaaS solution, there are factors to consider. You should
evaluate not only the SaaS provider and its service, but also what your organization
wants from SaaS. Be sure the following factors are present as you evaluate your SaaS
provider:

Time to value As we mentioned earlier, one of the great benefits of using cloud
services is the ability to shorten the time it takes to get a new system or application
up and running. Unlike traditional software that might require complex installation,
configuration, administration, and maintenance, SaaS only requires a browser. This
allows you to get up and running much more quickly than by using traditional software.

Trial period Most SaaS providers offer a 30-day trial of their service. This usually
doesn’t happen with traditional software—and certainly you wouldn’t move everyone
en masse to the trial. However, you can try out the SaaS vendor’s offering and if it
feels like a good fit, you can start making the move.

Low entry costs Another appeal of SaaS is the low cost to get started using it. Rather
than laying out an enormous amount of money, you can get started relatively
In expensively. Using an SaaS solution is much less expensive than rolling out a
complex software deployment across your organization.

Service In SaaS, the vendor serves the customer. That is, the vendor becomes your
IT department—at least for the applications they’re hosting. This means that your own,
in-house IT department doesn’t have to buy hardware, install and configure software,
or maintain it. That’s all on your SaaS vendor. And if the vendor isn’t responsive to
your needs, pack up your toys and move to a different service. It is in the vendor’s
best interests to keep you and other customers happy.

Wiser investment SaaS offers a less risky option than traditional software installed

Department of Computer Science, TJPS College, Guntur. 8


III BSc (Semester – VI) Cloud Computing Unit III
locally. Rather than spend a lot of money up front, your organization will pay for the
software as it is used. Also, there is no long-term financial commitment. The monetary
risk is greatly lessened in an SaaS environment.

Security Earlier in this book we talked about the security concerns with going to the
cloud. We mentioned those issues for the sake of completeness, but in reality it is in
your vendor’s best interests to keep you as secure as possible. Most SaaS vendors
understand that application data must be backed up often and that security is a top
concern. Your local IT department has a lot going on and might not be able to spend
as much time as they would like on safety and security. Since the cloud vendor wants
to keep customers safe and secure, they will have staff dedicated to ensuring that
your data is safe.

Your voice When’s the last time you made a suggestion for a change in Microsoft
Word and Redmond listened? We’re not just picking on Microsoft here. The fact of the
matter is that customers of traditionally installed software have very little ability to
influence the development of new product features. But your SaaS vendor wants to
keep you happy so that you will not jump ship for another provider. As such, they will
listen to your wants and respond. Because you will have a closer relationship, you
have a greater ability to influence the product and its features.

Reduced capital expense Using an SaaS provider eliminates the need for buying
hardware and software. This not only makes your CFO happy, but it makes it faster to
get approval for a project when the need to buy hardware is taken out of the equation.

Meet short-term needs Quite often organizations experience busy times, or they
launch a new product, a new office opens, or something else occurs that requires more
computational power. Rather than buy new hardware to deal with your capacity needs,
an SaaS provider can instantly expand and offer you more resources. And when you’re
done, you scale back what you are using. The best part is that once you’re done paying
for those additional resources, you go back to paying for what you need.

3. Explain Cloud Computing Platform as a Service (PaaS)


Platform as a service, or PaaS, is cloud computing model that provides users
with hosted development kits, database tools, and application management
capabilities. Third-party vendors provide users with virtual resources to build, deploy,
and launch software applications, reducing the need for back-end software
development.
Platform as a Service (PaaS) is a way to build applications and have them hosted
by the cloud provider. It allows you to deploy (Install) applications without having to
spend the money to buy the servers on which to house them. In this section we’ll take

Department of Computer Science, TJPS College, Guntur. 9


III BSc (Semester – VI) Cloud Computing Unit III
a closer look at companies RightScale and Google. We’ll talk about their services, what
they offer, and what other companies are getting out of those services.
PaaS service providers:
Red Hat OpenShift is based on open source applications and
offers a wide variety of languages, databases and components.
The PaaS is highly customizable and offered in three forms:
OpenShift Online (a cloud-based hosting service), OpenShift
Enterprise (a private PaaS that runs in your data center) and
OpenShift Origin (the open source application hosting platform).
OpenShift automates system administration tasks such as virtual server provisioning,
configuration and scaling and supports git repositories for code management.

Google App Engine is designed for distributed web


applications and developers using Java, Python, PHP. The Java
environment supports other languages that make use of the JRE
and there is a SDK for each of the four main supported
languages as well as a plugin for Eclipse. The PaaS offers
managed infrastructure and runtime environments that are
guaranteed to scale, but only if the applications fit the
restrictions of Google App Engine. The Datastore, a transactional, schema-less data
store based on key-value pairs, handles the complex management of data that's
accessible to multiple machine instances.

Heroku supports Ruby, Python, Java, Scala. The platform


provides abstract computing environments called dynos, which
are virtualized Unix-style containers that run processes in
isolated environments. Dynos are broadly typed as either web
dynos (respond to HTTP requests) or worker dynos (respond to
task requests in a queue). Heroku works best with applications
that fit well into the Twelve Factor App methodology. Third party
applications, called addons, are also available as services within the Heroku platform.

Department of Computer Science, TJPS College, Guntur. 10


III BSc (Semester – VI) Cloud Computing Unit III
AppFog is a multi-language, multi-framework PaaS that's a
good option for multi-cloud deployments, including private
clouds. AppFog supports Java, Ruby, PHP, Python, Node, Scala
and Erlang and offers MySQL, PostgreSQL, Redis and RabbitMQ
along with third party add-on services. It can be used as a DaaS
with ClearDB, MongoHQ, MongoLab, Redis Cloud and Xeround.
AppFog is based on the open source Cloud Foundry platform and
supports Git, SVN and Mercurial for code management.
Windows Azure, Microsoft is blurring the lines between IaaS
and PaaS. Windows Azure Cloud Services supports .NET,
Node.js, PHP, Python, Java and Ruby. In addition to software
development kits, developers can use Visual Studio for creating
and deploying applications. Developers can choose between a
SQL Database, Tables and Blobs when it comes to persistent
storage. Applications are administered through the Windows
Azure dashboard or through a command line interface.

Although Amazon EC2 Web Services is primarily an IaaS,


many of the services available in AWS are comparable to PaaS
offerings. You can use the platform services available in AWS
without having to create or maintain your own application
servers. AWS readily supports Java, Python, Ruby, Perl and
other languages. Oracle, MySQL and SQL Server can be set up
and managed, but AWS offers RDS web service as well, which
eliminates database administration tasks. Developers can take
advantage of Amazon Elastic Beanstalk for automatic load
balancing, auto-scaling, and application health monitoring.

Caspio is fundamentally different from the other PaaS


providers on this list. It does not offer a fully functional software
development environment; instead it focuses on bringing
desktop database-like functionality to the cloud. Caspio is
designed for creating basic databases, providing data entry
forms and generating reports. It includes a point-and-click
visual development tool with little, if any, coding required.
Caspio applications are deployed by copying snippets of code
to a web page or by accessing a URL to an application page.
Caspio also comes with a set of preconfigured applications.

RightScale
RightScale entered into a strategic product and partnership, broadening its cloud
management platform to support emerging clouds from new vendors, including

Department of Computer Science, TJPS College, Guntur. 11


III BSc (Semester – VI) Cloud Computing Unit III
FlexiScale and GoGrid, while continuing its support for Amazon’s EC2. RightScale is
also working with Rackspace to ensure compatibility with their cloud offerings,
including Mosso and CloudFS. RightScale offers an integrated management dashboard,
where applications can be deployed once and managed across these and other clouds.
Businesses can take advantage of the nearly infinite scalability of cloud
computing by using RightScale to deploy their applications on a supported cloud
provider. They gain the capabilities of built-in redundancy, fault tolerance, and
geographical distribution of resources—key enterprise demands for cloud providers.

Customers can leverage the RightScale cloud management platform to


automatically deploy and manage their web applications—scaling up when traffic
demands, and scaling back as appropriate—allowing them to focus on their core
business objectives. RightScale’s automated system management, prepackaged and
reusable components, leading service expertise, and best practices have been proven
as best-of-breed, with customers deploying hundreds of thousands of instances on
Amazon’s EC2.

“Cloud computing is a disruptive force in the business world because it provides


payas- you-go, on-demand, virtually infinite compute and storage resources that can
expand or contract as needed,” said Michael Crandell, CEO of RightScale, Inc. “A
number of public providers are already adopting cloud architectures—and we also see
private enterprise clouds coming on the horizon. Today’s announcement of
RightScale’s partnerships with FlexiScale and GoGrid is an exciting indication of how
mid-market and enterprise organizations can really take advantage of multicloud
architectures. There will be huge opportunities for application design and
deployment—we are at the beginning of a tidal
shift in IT infrastructure.”

GoGrid offers hosted cloud computing infrastructure that enables system


administrators, developers, and IT professionals to create, deploy, and control load-
balanced cloud servers and complex hosted virtual server networks. GoGrid also
delivers portal-controlled servers for Windows 2003 and 2008 and multiple Linux
operating systems, and supports application environments like Ruby on Rails. GoGrid
is unique in cloud computing with the availability of 32-bit and 64-bit editions of
Windows Server 2008, and was named winner of LinuxWorld 2008 “Best of Show” in
August 2008.

Salesforce.com
Salesforce.com offers Force.com as its on-demand platform. Force.com features
breakthrough Visualforce technology, which allows customers, developers, to design
any app, for any user, anywhere with the world’s first User Interface-as-a-Service.

Department of Computer Science, TJPS College, Guntur. 12


III BSc (Semester – VI) Cloud Computing Unit III
The Force.com platform offers global infrastructure and services for database, logic,
workflow, integration, user interface, and application exchange.

“With Force.com, customers, developers and ISVs can choose innovation, not
infrastructure,” said Marc Benioff, chairman and CEO, Salesforce.com. “Google,
Amazon, and Apple have all shown that by revolutionizing a user interface you can
revolutionize an industry. With Visualforce we’re giving developers the power to
revolutionize any interface, and any industry, on demand.”
A capability of the Force.com platform, Visual force provides a framework for
creating user experiences, and enables the creation of new interface designs and user
interactions to be built and delivered with no software or hardware infrastructure
requirements. With Visual force, developers have control over the look and feel of their
Force.com applications enabling wide flexibility in terms of application creation. From
a handheld device for a sales rep in the field, to an order-entry kiosk on a
manufacturing shop floor, Visual force enables the creation of new user experiences
that can be customized and delivered in real time on any screen.
On Demand Force.com PaaS provides the building blocks necessary to build business
apps, whether they are simple or sophisticated, and automatically deploy them as a
service to small teams or entire enterprises. The Force.com platform gives customers
the power to run multiple applications within the same Salesforce instance, allowing
all of a company’s Salesforce applications to share a common security model, data
model, and user interface.
The multitenant Force.com platform encompasses a feature set for the creation
of business applications such as an on-demand operating system, the ability to create
any database on demand, a workflow engine for managing collaboration between
users, the Apex Code programming language for building complex logic, the Force.com
Web Services API for programmatic access, mashups, and integration with other
applications and data, and now Visualforce for a framework to build any user interface.
Delivery As part of the Force.com platform, Visualforce gives customers the
means to design application user interfaces for any experience on any screen. Using
the logic and workflow intelligence provided by Apex Code, Visualforce offers the ability
to meet the requirements of applications that feature different types of users on a
variety of devices. Visual force uses Internet technology, including HTML, AJAX and
Flex, for business applications. Visual force enables the creation and delivery of any
user experience, offering control over an application’s design and behavior that is only
limited by the imagination.
Visualforce provides a page-based model, built on standard HTML and web
presentation technologies, and is complemented with both a component library for
implementing common user interface elements, and a controller model for creating
new interactions between those elements. As part of the larger Force.com platform,
the user experiences created in Visualforce directly leverage the data, logic, and
workflow created in the other Force.com features.

Department of Computer Science, TJPS College, Guntur. 13


III BSc (Semester – VI) Cloud Computing Unit III
Visualforce includes the following features and capabilities:
Pages This capability enables the design definition of an application’s user
interface.This enables developers to create new pages using standard web
technologies including HTML, AJAX, and Flex. Pages allow developers to create any
user experience with standard web technologies that will be immediately familiar to
any web developer. Visualforce automatically detects a user’s device, and gives them
the ability to automatically deliver the right experience to the right device.

Components This provides the ability to create new applications that automatically
match the look and feel of Salesforce applications or customize and extend the
Salesforce user interface to specific customer and user requirements. Customers can
rapidly create a user experience by assembling existing user interface elements.
Visualforce provides the means to reuse predefined standard Salesforce and custom-
designed UI components.
Logic controllers The controller enables customers to build any user interface
behavior. Customers are able to use Visualforce to quickly create a new look and feel
that leverages existing application functionality. Customers can define completely new
UI interactions that benefit from Apex Code. The standard controller gives customers
the ability to inherit and reuse any standard Salesforce UI behavior like new, edit, and
save.

Rackspace Cloud computing:


Rackspace, formerly known as Mosso, is a strong vendor in the Infrastructure-
as-a-Service space. According to Rackspace, 40% of Fortune 100 companies host with
Rackspace. The main products that Rackspace offers are -

Cloud Drive offers file storage similar to Amazon's S3. Pricing for Cloud Drive
is based upon usage similar to standard cloud offerings. Rackspace charges
Cloud Drive for $0.15 per GB of storage space per month. There are no charges
for transfer. Typical uses of Storage-as-a-Service are for taking online backup.

Rackspace Server Backup is a product similar to Cloud Drive. It allows


Windows or Linux based servers to be backed up at monthly charges of $5 per
server per month. These charges are for 10GB of storage. Rackspace Server
Backup encrypts, compresses, and transfers data as per defined calendar.

Cloud Sites is a web site hosting product that allows web applications to scale
across multiple servers based upon the demand. Rackspace charges $100 per
server per month. This includes 50 GB of storage, 500 GB of outgoing bandwidth
per month and 10,000 compute cycles per month.

Cloud Servers Cloud server provides complete access to a server. The offering
is similar to Amazons EC2. The number of server usage can be changed over
time and pricing is done accordingly. Users get root access to the Linux Servers

Department of Computer Science, TJPS College, Guntur. 14


III BSc (Semester – VI) Cloud Computing Unit III
Force.com
The third category of PaaS platforms differ greatly from the other two, in that it
supports a programming and data model that is specifically designed for developing
multi-tenant cloud based applications. The most notable example of this type of
platform is Force.com, the PaaS platform developed by Salesforce.com. It has a unique
programming model based on the Java-like Apex programming language. It also has
a native user interface and UI programming language, VisualForce. Force.com is
designed for business applications development. These applications can be extensions
of CRM capabilities provided by Salesforce CRM, or they can be workflow-based
business applications, such as approval workflows. The platform also provides
integration APIs for CRM integration or third-party services.

Unlike the other categories of PaaS platforms, this category is based on meta-
data that drives both configuration and data storage. The model is very different from
traditional Java or .NET enterprise application programs. It is essentially a generic data
storage and processing engine that inherently supports multi-tenancy. The data
schema is built on a traditional SQL RDBMS model, but it enables a specific type of
data object processing with a purpose built object relation model and database
triggers, which are used to implement workflows.

The programmer declares these data objects using a mostly visual configuration
tool and writes trigger handlers in the Apex programming language (or simple ones
using a visual interface). Support for multi-tenancy, including tenant data isolation
and configuration, is provided out of the box with no explicit programming required.
This is one of the powerful, high level aspects of this type of platform.

Yet the tradeoff is that the programming model is unique and does not translate
to traditional enterprise architectures. Additionally, in order to support multi-tenancy,
the platform has runtime limits, or governors, in place which limit the amount of data,
number of transactions, and transaction latency. Thus the developer needs to be aware
of these limits when architecting the application to make sure they are not exceeded,
or to work around them by using alternative mechanisms like batch processing.
The Force.com platform offers other high level services, including security,
support for audit trails, and APIs to third-party services outside the platform. User
interfaces can be built with the native UI, programmed in VisualForce, or developed
with common Javascript frameworks, such as angular.js, by using a technique called
Javascript remoting which ties these components to Apex programmed services.
Salesforce is also in the process of revamping its native user interface with a
Javascript-like responsive UI package and design framework called Lightning.
Developers will then be able to develop custom UI components in Lightning.
Services and Benefits of PaaS:
Cut development time: PaaS offerings usually provide pre-coded application
components for faster programming such as application search and workflow, security,
and directory services. Some offerings do not provide pre-coded components, but

Department of Computer Science, TJPS College, Guntur. 15


III BSc (Semester – VI) Cloud Computing Unit III
support user-uploaded libraries and frameworks that save time in the development
process.
Cost savings: End-users save money by offloading hardware, software, and
programming purchases to the service provider. And since development is faster,
businesses can avoid the extra expense of new programmers and IT admins. Hosting
is also considerably more cost-effective thanks to cloud scalability and geographic
distribution.
Faster cross-platform and mobile development: Some PaaS providers build their
environments around mobile application development, and/or cross-platform
portability. This makes mobile and cross-platform apps quicker and easier to develop
and upgrade.
Flexible and affordable services: End-users can choose the features they want on
a pay-as-you-go basis including advanced programming and analytics tools. Although
more features mean higher bills, that amount is usually far less than buying in-house
tools that that they may never use.
Geographically distributed teams: Remote teams can work together using the
same development environment, and development can run 24x7 if development teams
are in multiple time zones.
Efficient development lifecycle: PaaS environments provide full lifecycle services
including application programming, testing, deploying, managing, hosting, and
updating. Individual offerings will differ in how extensive each lifecycle offering is. For
example, one PaaS offering concentrates on highly advanced development and
analytics tools, while another offers simpler development tools but has a greater
hosting reach.
Increase developer innovation: High costs of computing infrastructure and
programming tools can stymie development innovation and experimentation
development teams. Cost-effective PaaS encourages innovative development teams.
Scalability: Extremely scalable cloud infrastructure enables PaaS developers to
rapidly provision computing infrastructure, and to offer high performance cloud
applications to massive end-user communities.
****************
The Following are the Important Questions from UNIT-3
1. Explain Cloud Computing Architecture
2. Cloud Computing Software as a Service (SaaS)
3. Cloud Computing Platform as a Service (PaaS)
*****************

Department of Computer Science, TJPS College, Guntur. 16

You might also like