Sunday, October 17, 2010

Message Exchange Technology

Document Scope

The Internet project [1] is built on the top of of modern technology for client-server applications. This document lists required components and describes available technology options.

Requirements

  • Scalability. The core technology should scale up to the loads handled by the best solutions available on the market. This is because a common B2C service consumes a lot of traffic and we aggregate all popular services.

  • Reliability. The service should be available always up. No data loss. The service up-time and reliability project to customer satisfaction and loyalty.

  • Performance. The core technology is able to dispatch web pages to a user not slower than the best solutions available on the market. B2C field mandates this.

  • Maintenance. The technology should include automation of routine maintenance and monitoring tasks. We are advanced technology company, and not a call center.

  • Low costs. The technology should not rely on the performance or other specific features of particular hardware. It should work well on cheap hardware and should be easily portable to the new hardware. Here we take advantage of our software development experience and competence.

  • Law enforcement. The service and technology are developed and maintained in a documented way which explains any concerns.

Data Center

Requirements

The project [1] requires the following configuration available at the data center provider:

  • Dedicated servers.
  • Scalable bandwidth.
  • Remote monitoring and administration.

Comparison

Most B2C applications are limited by server bandwidth.

Data Center Service Cost, $ per month
http://iweb8.com/dedicated/unmetered-servers/ A reply in four hours $349
http://www.redplaid.com/ A quick reply $359
http://www.cologuys.com/services/dedservers/pentium A quick reply $650
http://www.webhosting.cx/dedicated.html No reply to a probe email $759
http://www.lighthousehosting.com/ The outdated service web page, a quick reply $1300

Conclusion

The article [1] tells that the good price for a dedicated server with a redundant 10 Mbit bandwidth is approximately $350/mo.

Server Standards

Requirements

The core technology is a background for a high quality service in a production stage. A simple server get a request from a user, searches a database for response and generates a web page as a result. More complex models includes session maintenance and asynchronous communication to a user.

  • Scalability. Adding new services is a joy, programmers get a convenient API.
  • Interoperability. Services share data and analytic resources.
  • Performance. An average user request is served in less than 0.5 sec. This includes processing of complex data base requests.
  • Reliability. The user data is replicated through network.

Usually it is a good idea to use the whole stack from one sponsor. This mandates a choice of operating system and a database.

Standard Sponsor Server Client Performance OS Database Note
Java 2 Enterprise Edition IBM, BEA, others

WebLogic, WebSphere,

open source stack

JavaScript See [6] Linux or other UNIX DB2, Oracle Encourages participation of third parties
.NET Microsoft Corp. IIS/C# VBScript
Published last results on 2002
MS Windows MS SQL Server Private
ColdFusion Adobe Systems Inc. ColdFusion, Flex ActionScript Never competed MS Windows
Private

Conclusion

Commercial Java enterprise stack gives the best performance in the market which could be bought. While the loads increase we invest into distributed cluster based infrastructure to be ready for future challenges.

Java Server

Web Server + Servlet Container SPECweb2005 Score

Zeus Web Server v4.3r2 (x86-64), Apache Tomcat 5.5.11

2277

Sun Java[TM] System Web Server 6.1 SP5 (64 bit)

16407

Rock Web Server v1.4.1 (x86_64), Rock JSP/Servlet Container v1.2.0 (x86_64)

30261

Server + Database

SPECjAppServer2004 Score

WebSphere 6.1 Application Server on IBM System p 570 (4.7 GHz, 4 core)

1197.51

Oracle Application Server 10G Release 10.1.3.2 - Java Edition on Rackable Systems C2002

1871.13
BEA WebLogic Server 10.0 on Sun Blade 6000 Modular System using Solaris Containers 8253.21

Conclusion

We may use BEA WebLogic since it comes free of charge for development. Open source stack is an interesting investment to contact fellow travellers.

Prototyping

Open source solutions [3] should be used for quick prototyping of functionality to test project analytics. There is a number of for loads less than 30,000 customers per day. For example, Yandex uses Django [5] for prototyping which is the best solution from performance point of view: serves loads of 30000 customers per day, dispatches a web page per 0.5 seconds.

References

  1. Social Network with Grading Messages and Rating Calculation.
  2. Common Data Center terms and definitions, http://en.wikipedia.org/wiki/Data_center.
  3. SPEC benchmarks, http://www.spec.org/

No comments:

Post a Comment