Distributed Computing Applications and
Infrastructure (IS 206)
Fall 1998
[Group E Home] | [IS206
Home]
Project Background
Performance Objectives
Immediate Functions
Realtime Collaboration is the only significant immediate feature of Global Web
Developer. The implications of this function's immediacy are addressed specifically
both in the quantitative objectives section and the scalability section below.
The resource intensive nature of this feature requires careful planning to adequately
support.
Deferred Functions (All other features)
Link Management, Traffic-Based Link Suggestion, Content-Based Link Suggestion,
Access Control / Permission, Version Control, Content Update Reminder, User Email
Alert, Backup, Quality Control, Labor Tracking, Standard Network Browser Interface,
Remote Access, Annotation, Replication/Reconciliation, Style Guide / Template
Management.
Quantitative Objectives:
The following objectives are designed to cover the major performance issues that
must be properly taken into account in the software design and system architecture
phase of development.
- Must scale to support hundreds of concurrent users (adding servers when
necessary)
- Should easily handle sites with several million pages (and as many links)
- System functionality must perform well regardless of the geographic distribution
of servers or developers (network permitting)
- Should support several wholly distinct websites with one installation
- Must keep up with dynamic sites which regularly add and modify large quantities
of content
- Visitor based functions must process up to hundreds of thousands to millions
of hits a day
- Must support multiple realtime collaborations at once with minimal delays.
The simultaneity of the collaborative environment must be maintained for effective
cooperation, as this is an immediate style of communication.
- Settings changes at the administrative level must propogate through the
system rapidly and simultaneously to meet administrative expectations (permission
changes is an example of such changes)
Justification: The above listed requirements must be met for the application
to be a justifiable acquisition for target organizations. Failure to meet these
quantitative requirements would seriously undermine the application's reason for
being and preclude the benefits it would otherwise provide.
Less Critical Performance Attributes:
- Operations that neither take place while the user waits nor require near
instant completion can afford to possess only moderate performance characteristics.
Such functions include: processing of site traffic, content analysis, user
email alerts, backup, labor tracking, and annotation.
Justification: These functions are those which least impact users if they
are less performance-oriented. User productivity is not seriously impaired if
these functions are of average performance, so deferring these processes to economize
resources is reasonably justified.
top
Scalability
Global Web Developer should be flexible enough to scale from a scenario of
a few dozen users working with less than a hundred pages to a scenario of hundreds
of users managing millions of pages. Handling scalability issues well is critical
for Global Web Developer to successfully reorganize the web development process
of growing organizations.
- Number of Total Users Supported by GWD: It should be robust enough
to support as many users as need access. However, as the number of users increases,
performance is likely to decrease without special architectural considerations.
See the "Number of Servers" section below
for the likely solution.
- Number of Users in Real Time Collaboration:
Considering the nature of collaborative authoring (not suitable for large
groups) and physical limitations (size of display is limited / accomodating
three or more people without face-to-face interaction is difficult), a practical
limit would be up to three collaborators in a session. However, it is technically
feasible to have more than three people collaborate in developing web pages.
There is no inherent reason scalability in this regard cannot be supported
if there is sufficient demand.
- Number of Operations: GWD must be robust enough to support the simultaneous
invocation of the application's many features. This is especially important
for the Real Time Collaboration, Access
Control/Permission, Version Control
and Replication/Reconcilation features.
These features potentially create a high load and require speedy responsiveness
in their operation. Therefore, it is necessary to provide acceptable responsiveness
even when these features are under extreme load. Large development environments
with hundreds of users could significantly tax these functions unless special
consideration is given to their scalability.
- Number of Web Pages: GWD should scale to support as many pages as
an organization requires. As in the case of total number of users, however,
there is a potential tradeoff between the number of pages it supports and
the speed of operations. See the following "Number
of Servers" section.
- Number of Servers: To effectively and cost-efficiently
scale Global Web Developer while maintaining high performance of operations,
GWD must be able to scale the number of servers it uses. It is not practical,
or possible for that matter, to support GWD's level of features at the scale
required without an intelligent distribution of processing across the network.
Therefore, GWD should run on multiple servers in a modular fashion--enabling
easy ramping up or down of scale as needed. GWD should scale in supporting
web sites that are continually growing in terms of the number of developers,
the number of visitors, and the number of pages. The architectural realities
this section alludes to will be further elaborated in the upcoming architectural
milestone.
top
last updated 10/27/98