Introduction (Stratus and MS.NET)
In order to support continuous processing and provide the maximum uptime possible, comprehensive server solutions are required to address areas such as hardware, software and service. Within the Windows market, it is reported that only Stratus technologies, together with its distribution channel partners offer this total solution (Sherman n.d.).
The Stratus ftServer systems include features that support continuous processing. This is due to experience of over two decades in assuring uptime for mission-critical and business-critical applications all over the world (Sherman n.d.).
All aspects necessary for continuous processing work concurrently to avoid unplanned downtime and not merely minimize it. A key design aspect considered in manufacturing the ftServer system is the prevention of downtime, which differentiates the system from traditional servers (Sherman n.d.).
These ftServer systems are engineered to support continuous processing capabilities through the use of three fundamental elements namely, lockstep technology, failsafe software and ActiveService architecture (Sherman n.d). Lockstep technology uses similar fault-tolerant hardware components that process the same set of instructions at the same time.
In the event of component malfunction the remaining set of the hardware components can continue execution averting system downtime (Sherman n.d). Failsafe software works hand in hand with the lockstep technology with the goal of prevention of software errors.
Unlike most servers, ftServer hardware and software solve most errors transparently providing a shield for the operating system, middleware and application software (Sherman n.d.).
In addition to that the ftServer is designed with ActiveService capabilities that enables built-in serviceability that is not provided by other vendors. The servers constantly monitor their activity and when a fault is detected the server generates a cal specifying what action to take (Sherman n.d.).
Availability of a server is measured as the amount of time in a 24 hour or 7-day cycle that a server is available to perform required instructions.
Servers are often used to support a wide range of functions such as the supply of web pages from the World Wide Web or support a corporate intranet with file and print or email (Stratus n.d.). Regardless of the purpose of the server, it is important that the level of availability matches the applications and functions assigned to that server.
The IT industry states that 99.9 percent uptime is considered high availability, whereas the goal of Stratus technology is to go beyond availability of 99.9 percent (Stratus n.d.). This point is better illustrated when we consider that 99 percent availability translates to 88 hours downtime annually, while 99.999 percent availability translates to only 5 minutes downtime annually (Stratus n.d.).
The goal of the Microsoft.NET initiative is to make information available at any time, any place and on any device (Stratus n.d.). Microsoft has to this end shifted focus from individual devices and websites to new groups of computers, devices and services that all work together for the delivery of comprehensive solutions.
It is envisioned that through.NET generic devices, clients, hosts, servers, applications and services will be able to communicate directly to achieve the goal of seamless integration and collaboration.
The Microsoft.NET framework is made up of a set of software libraries and development tools known as the.Net framework, and a set of foundation web services called.NET My services (Stratus n.d.). The.NET framework bears strong similarity to the Java platform with Microsoft’s Common Language Runtime (CLR) playing a similar role as the Java Virtual Machine (JVM).
The difference is that while JVM only supports Java, CLR supports a host of programs such as C++ and Visual Basic. In addition to that CLR also supports third-party languages such as Perl (Stratus n.d.).
The.Net vision is essentially composed of four key components, namely programming model, foundation web services, enterprise servers and client software. The programming model is a new web service-based model that eases the development and integration of applications by helping developers build web services that use XML (eXtensible Markup Language) (Stratus n.d.).
The foundation web services are designed to assist with fundamental application issues such as authentication and data storage. This, in turn, will aid developers in delivery of simple and integrated user experiences.
The enterprise servers provide a comprehensive set of reliable servers to integrate development and operations as well as management of XML services. The client software is used by developers to provide a suitable user experience across a range of devices (Stratus n.d.).
Design Goals (Stratus and MS.NET)
As mentioned in the introduction, increasing and improving availability of web-based services is the primary objective of both Stratus technologies and the Microsoft.NET framework. Due to the above fact one of the primary objectives to be dealt with is the fact that the World Wide Web is always on.
Due to this, web-based applications must be capable to provide interactive response 24 hours a day, 7 days a week and 365 days annually (Stratus n.d.). This goal is made more critical by the fact that global operations and direct access by customers and suppliers place increased demands on both new and existing applications.
Another goal of both these technologies is to ensure direct access to applications by customers. The emergence of new applications continues to provide increased direct links to customers.
Due to this business is considered closed if web applications are not accessible by clients (Stratus n.d.). Given the fact that competitors are normally just a mouse click away the application availability has become the new key factor in customer satisfaction, loyalty and retention.
In line with this is the goal of providing direct connections for suppliers. Again here the emergence of new applications continues to provide direct access to suppliers. Just in time management of an organizations supply chain suggest that applications are made available whenever the business or any of its vendors are available (Stratus n.d).
Another essential goal that is considered in design is the increased throughput and performance requirements. As the numbers of users, transaction volumes and acceptance of server consolidation increases, web-based applications require very high levels of performance and scalability (Stratus n.d). With this factor in mind, it has been reported that the.NET based applications can achieve this due to the nature of the.NET architecture.
In line with the above point is the goal to preserve and maintain in-flight data. In-flight data refers to intermediate data used to link steps within a multi-step business transaction (Stratus n.d). This data though not normally part of the final transaction result, is stored in memory.
Loss of such data can cause a wide range of problems ranging from inconvenience to inconsistency in corporate databases. It is thus crucial to consider management of such data during design.
Another essential design goal with both technologies is the integration of applications. This problem is compounded by the fact that today there are a variety of applications that support internet and intranet sites. Failure of applications in such a scenario can have an adverse impact on many other applications on a network (Stratus n.d).
Integration increases the availability requirements on any application and suggests a reliable linkage between applications.
Also considered during design of both technologies is the role of in-memory data. Applications that typically require more rapid response times normally rely on large amounts of data stored in main memory (Stratus n.d).
Such data needs to be stored on faster main system memory as opposed to the slower disk storage. Memory considerations can reduce data loss, which can have a significant effect on system downtime in such situations.
The last design goal considered with both technologies is the application infrastructure. Traditional applications required simple infrastructure such as a single server and a local network segment (Stratus n.d).
On the contrary, today’s applications may require infrastructure that supports firewalls, authentication services, email services and directory services. It is easy to see that application access depends heavily on the operation of all these infrastructure elements and as such greatly increases the scope of the availability challenge.
System Architecture for the MS.NET Framework
The system architecture for the.Net framework uses a three-tier mode that is emerging to become a standard for new web based development (Stratus n.d.). Microsoft.NET enterprise servers include infrastructure and management elements that support all three tiers. However, infrastructure and management elements could be considered as a fourth tier due to the fact that it provides critical components that ensure continuity of service.
The model offers a modular and scalable approach to application development and deployment (Stratus n.d.). It also offers several advantages for new applications while providing an avenue to integrate with existing applications into a seamless user environment. The four components of the architecture include front end web interface, middle application logic, back end database and infrastructure and management. (See Figure I)
The top tier, which is the web interface provides the connection point for user sessions and controls the user interface. Management of sessions is managed within this tier and it also relies upon the security services within the infrastructure layer (Stratus n.d.).
The internet information server serves to provide web services that are integrated into the windows operating system. The mobile information server provides a platform for mobile-based web applications targeting wireless devices.
The second tier which is the middle application logic layer serves to provide application services such as messaging and collaboration, customer relationship management (CRM), enterprise resource planning (ERP) and line of business (LOB) applications for specific industries (Stratus n.d.).
The third tier, known as the database service slayer provides storage for data and transaction services (Stratus n.d.). It has been reported that data is the core of most business applications and as such availability and integrity of the information is essential to operations of any business.
The layer utilizes Microsoft SQL server, which is an enterprise-class database designed for the support of new generation web based business applications (Stratus n.d.). Infrastructure and management services are provided to support this third tier.
This provides the ‘plumbing’ to support operation of all application components and allows successful deployment and management of applications. Some of the functions provided by this layer include firewalls and web caching to improve overall performance and security (Stratus n.d.).
Fault Tolerance Strategies used by Stratus to make.NET server 24/7 available
Use of redundancy: Stratus technologies utilize concepts such as dual and triple modular redundancy to deliver high levels of system availability (Sherman n.d.). In dual redundancy mode the there are two CPU assemblies per system that ensure 99.999 percent system availability (Sherman n.d.).
On these systems, both synchronized CPU’s execute the same set of instructions at any one moment. If one CPU should fail at any point of execution the alternate CPU and memory can ensure that operations continue without a hitch.
Fault Isolation: The Stratus ftServer systems are designed keeping in mind that software problems can occur even with the best preventive measures in pace. As a result of this the systems automatically detect, isolate and resolve transient hardware errors (Sherman n.d.).
When an error occurs the server will send a message to the support center detailing the error. If the error was caused by a faulty part, the center immediately ships the faulty part to be replaced while the duplicate set of hardware continues operation normally.
Fault detection: In addition to continuous customer support, the Stratus technologies systems are able to detect faults using failsafe software. The advantage of such software is it identifies known sources of system and application failures, thus minimizing downtime during repair and maintenance (Sherman n.d.).
As a result, software can be shielded from transient hardware errors. It also has hardened drivers to prevent software failure, among other advantages.
System reconfiguration: In the unlikely event of an operating system crash Stratus server systems automatically reboot while storing crash information in one set of the CPU units. With this information, the system can easily be restored to its state before the system crash (Sherman n.d.). This online memory dump serves as a significant advantage in these systems which are able to recover easily in the event of system failures.
System Recovery: In addition to the above advantages Stratus systems also have developed fail-safe system software to create an availability supporting ecosystem (Sherman n.d.). The system software is reported to add reliability and fault-tolerant features to I/O devices. This software is also used to monitor and manage the server, enable remote service and support and offer other advanced features that enhance availability.
Conclusion
Based on the above information, it would appear that the Stratus ftServer systems provide an affordable and practical solution to achieve high levels of availability for Windows environments. Due to the design considerations, the systems can provide continuous processing capabilities to the users.
In addition to that the system is capable of recovery after a system crash and is capable of monitoring operation and taking remedial actions when a fault occurs. Overall it would appear that these systems are worth the investment for any company that operates in a demanding web-based environment.
Cloud Computing
Introduction: Cloud computing is a concept that is gaining popularity and promises to change the face of computing. Currently most tasks carried out on a computer involve the use of a desktop-based application and files. However, with cloud computing applications and files are moved from the desktop to the ‘cloud’ (Miller 2008).
The cloud consists of thousands of computers and servers all linked together via the internet. With cloud computing all tasks are web-based as opposed to desktop-based. A user can access personal files and applications from any computer anywhere that is connected to the internet.
Design goals: As it has been mentioned before high availability as per IT industry requirements for web-based applications is 99 percent (Sherman n.d.). Since the proposed system is intended to be web-based it is crucial, therefore that this degree of availability is satisfied by the proposed system. In this regard, therefore, the Stratus ftServer system was selected as it ensures 99.999 percent availability, which surpasses industry requirements.
Another goal considered in the design of the proposed system is the reduction of downtime for maintenance. This is crucial for the clients using the proposed email system as any downtime suggests that users are unable to access their email.
This goal is also well catered for by the Stratus ftServer systems through their fail-safe mechanisms. The Microsoft.NET framework used to provide the operating system to run applications is also useful in that it provides useful advantages in reducing downtime.
Description: The proposed system is web-based email service that will be run from a Stratus ftServer system. The users will be able to access their email accounts from various points around the globe on computers using the Windows operating system.
The Windows operating system will ensure that there is little integration required for various applications that will attempt to access the data on the webserver. The.NET framework will also handle all integration issues to allow data be accessed by a variety of both mobile and internet-based applications. (See Figure II)
Unique fault-tolerant approaches: The primary approach used in making the proposed system highly fault-tolerant is the use of a Stratus ftServer system. These systems come with dual or triple CPU sets and can recover from fatal system crashes fairly easily as a result (Sherman n.d.).
In addition to redundancy in the servers, there is also an automatic fault detection and correction mechanism built into these systems (Sherman n.d.). It is reported that the use of dual modular server systems can increase system availability to as high as 99.999 per cent (Sherman n.d.).
In addition to that the proposed system will be developed using application development tools from the Microsoft.NET framework.
This will bring additional advantages due to the fact that system architecture for the.Net framework uses a three-tier mode that is emerging to become a standard for new web-based development (Stratus n.d.). Utilizing tools that will allow for easy integration suggests that the system will be easily incorporated into existing systems due to minimal integration required.
References
Miller, M 2008, Cloud Computing: Web based applications hat change the way you work and collaborate online, Que Publishing, USA.
Sherman, L, n.d., ‘Stratus continuous processing technology’, A White Paper, pp. 2-14.
Stratus ft server, n.d., ‘The role of availability in the Microsoft.NET initiative’ A White Paper, pp.2-16.