r10 - 30 Sep 2010 - 10:52:13 - StephenQYou are here: Wiki >  AppLogic29 Web > RefAppsWISA
ALERT! AppLogic 2.9 Documentation The latest production release is AppLogic 3.0.30

WISA - WISA and WISAx4 Applications (Windows/IIS/SQL/ASP.NET)


WISA - 2-tier Non-scalable Web Application

Latest Version: 2.0.0-1

WISA.png

WISAx4 - Scalable WISA Web Application

Latest Version: 2.0.0-1

WISAx4.png

Functional Overview

The WISA and WISAx4 reference applications are simple 2-tier Web applications that make it easy for a user to port their applications onto AppLogic. These reference applications drastically reduce the entry barrier for using AppLogic grids.

The WISA application consists of a single web server, a database server, a file server, a gateway for external network access and an input gateway for user access. In addition, the application contains a monitor which allows the maintainer to monitor various aspects of the application (e.g., CPU/memory usage, hit rate on a web site, etc).

WISAx4 is the same as WISA except it provides a load-balanced web tier; a load balancer plus 4 web servers. WISAx4 is designed for applications that incur heavy traffic load (i.e., may be accessed by hundreds of users).

With these WISA applications, in just a few simple steps, the user can port their application onto AppLogic with ease. Simply provision one of the WISA applications, SSH into the web server (via the AppLogic web shell), install the necessary software and the application is ready for production.

ALERT! WISA and WISAx4 are not automatically installed on an AppLogic grid. Please see the installation reference for more information.

Boundary

Properties

Property Name Type Description
in_ip IP This is the IP address at which the WISA application provides services to users. This property is mandatory.
out_ip IP This is the IP address that is used by the WISA application to access an external network that resides outside of the application (i.e., the internet). This property is mandatory.
netmask IP Network mask for the network on which in_ip and out_ip reside. This property is mandatory.
gateway IP Defines the IP network gateway (router) that is used for all outgoing traffic to the external network via in_ip and out_ip. This property is mandatory.
dns1 IP IP address of the primary DNS server used for host name resolutions. This property is mandatory.
dns2 IP IP address of the backup DNS server used for host name resolutions. Default: empty (not used).
mon_standby Int Specifies whether application monitoring is disabled upon application start for the WISA application. If non-zero, monitoring is disabled, otherwise monitorig is enabled. The monitoring can be enabled at runtime by manually starting the mon appliance. Default: 1 (monitoring is disabled).
srv2_standby Int Specifies whether the second IIS server is in standby mode. If non-zero, the second IIS server is in standby mode, otherwise it is not in standby mode. This property is valid only for the WISAx4 application. Default: 1 (standby mode).
srv3_standby Int Specifies whether the third IIS server is in standby mode. If non-zero, the third IIS server is in standby mode, otherwise it is not in standby mode. This property is valid only for the WISAx4 application. Default: 1 (standby mode).
srv4_standby Int Specifies whether the fourth IIS server is in standby mode. If non-zero, the fourth IIS server is in standby mode, otherwise it is not in standby mode. This property is valid only for the WISAx4 application. Default: 1 (standby mode).

ALERT! The IP addresses configured in the in_ip and out_ip properties must be IP addresses available on your AppLogic grid. You can find them, together with the netmask, gateway and dns servers on the dashboard of your grid. We are working to make it possible for AppLogic to provide these addresses automatically

Resources

WISA

Resource Minimum Maximum Default
CPU 0.6 40 2.45
Memory 1.687 GB 106 GB 2.687 GB
Bandwidth 6 Mbps 10.5 Gbps 950 Mbps

WISAx4

Resource Minimum Maximum Default
CPU 1.45 80 3.451
Memory 4 GB 330 GB 4.812 GB
Bandwidth 10 Mbps 18.5 Gbps 1.4 Gbps

Application Volumes

The application itself uses several volumes. They are part of the application and are already configured into the appliance instances.

Volume Description
sql_data Volume for the database data storage. This volume is assigned to the SQL08X_08 appliance. By default, an empty volume called sql is supplied for the application to use.
fs_data This volume is used to store the WISA application's web pages, code and scripts (plus anything else that is needed by the application). It is also used to store the web server logs. This volume is assigned to the NAS appliance. By default, an empty volume called fs is supplied for the application to use.
mon_data This volume is used to store monitoring data for the application. There is no reason for the user to access/modify this volume; this volume is used internally by the MON appliance. By default, a volume called mon is supplied to store the application monitoring data.

Operation

This section describes how to use and operate the WISA applications. It is geared towards both maintainers and regular AppLogic users. The initial setup and maintenance of the WISA applications requires access to an AppLogic grid.

WISA and WISAx4 are designed to allow the user to quickly port their application over to AppLogic.

Initial application setup

Use the following steps to get your own WISA application up and running on an AppLogic grid.

  • Provision the WISA application using the command below. This command provisions a new WISA application named mywisaapp based on WISAx4 reference application. All properties are set to their appropriate values (IPs, DNS servers, etc). All 4 web servers are enabled in order to accommodate for possible heavy traffic loads. Also, the sizes of the fs and sql volumes are increased to 250MB and 3GB, correspondingly.
    • app provision WISAx4_r3 mywisaapp in_ip=1.2.3.4 out_ip=1.2.3.5 netmask=255.255.255.0 gateway=1.2.3.1 dns1=1.2.3.50 dns2=1.2.3.51 mon_standby=0 srv2_standby=0 srv3_standby=0 srv4_standby=0 fs.size=250MB sql.size=3GB
  • AppLogic will provision the mywisaapp application and start it on the grid. Wait for the application to start; this may take several minutes.
  • Now you can access your application using a browser. Open up a browser and point it to the configured IP. Application does not serve any page prior to loading content, so if you have not setup web content yet - application should return an error page (e.g. 503). If you do not see web response on this stage, make sure your IP addresses are configured correctly and restart the application if needed.
  • You now have a running WISA application on your grid. All that is left to do is to install your specific application onto the application volumes and your application will be ready to go.

Installing your application

This steps below describe how to install your own software on your WISA application:

  • SSH into the web appliance from within the Applogic shell: ssh mywisaapp:main.srv1
    • From within the web server, you can now download and install software directly from the internet (as you would normally do if working on your own private server).
    • If needed, you can also access the SQL database using the db hostname (e.g., osql -H db).
    • You can use \\fs\share to store any files/folders you need for your application (this is the path to your fs application volume). This volume is also used to store all of the IIS files.
  • After all of your software is installed and configured, there is no need to restart the application (unless the software you installed requires a reboot).
  • Users should now be able to access your application by using the configured hostname or IP address (in_ip).

Serving Dynamic Content from the Remote Filesystem

To serve dynamic content from the remote file system share, each IISx appliance in the application must configured as follows:

  • Enable required web service extensions:
    • in the IIS manager, select Web Service Extensions and set Allowed for Active Server Pages, ASP.NET v2.0.50727 and Server Side Includes
  • Set Full Trust on the remote filesystem:
    • in a cmd shell execute: C:\Windows\Microsoft.NET\Framework64\v2.0.50727\CasPol.exe -m -ag 1 -url "file:////\\fs\share\*" FullTrust -exclusive on
  • Restart IIS:
    • In the IIS manager, select Local Computer=>All Tasks=>Restart IIS

Monitoring your application

After your application has started, you can monitor the application by using the monitor GUI accessible through the AppLogic GUI in one of two ways:

  • In the applications list GUI page, select your application and click on the "Monitor" button.
  • Edit your application using the AppLogic application editor and choose the "Monitor" button at the top of the window.

If you started your application with the monitor in standby state, you can manually start it at runtime: comp start mywisaapp:main.mon. The monitor must be started before you can access it through the AppLogic GUI.

After the monitor has started, you may now access the monitoring GUI to monitor your application. This is used to monitor CPU/memory usage, number of hits your website is getting, traffic load, etc. The mon appliance properties are not configured by default; please see the MON datasheet on how to configure mon for things like setting the monitor title, enabling background alarms, etc. Please also see the Monitor Reference for additional details on how to monitor your application and use the visual interface.

Implementation details

Application Architecture

WISA and WISAx4 are reference designs for basic 2-tier web applications. It is designed for rapid deployment and easy management.

WISA contains the following components:

  • a firewalled input SSL gateway (INSSLR) -- provides user access to the WISA application
  • a web server (IIS08E) -- an IIS web server which provides the application services to the user
  • a database (SQL08X_08) -- a SQL database server used by the application for database access and storage (if needed)
  • a centralized content file storage (NAS) -- stores the application specific web pages/scripts/etc.; also used for storing the logs of the web server and database
  • a firewalled output network gateway (NET) -- used to access the external network (i.e., the internet) from within the web server
  • an application monitor (MON) -- used to monitor the WISA application through the AppLogic GUI

WISAx4 is the same as WISA except instead of using IIS08E? , WISAx4 uses a HALB load balancer plus 4 IIS08E? servers to provide a load-balanced web tier. This adds scalability to the WISA application.

ALERT! The IIS08E and SQL08X_08 appliances used in WISA and WISAx4 are from the AppLogic system_ms catalog and all other appliances are from the standard AppLogic system catalog (no branched appliances are used in these applications).

The application infrastructure is here (at the beginning of this data sheet).

Questions and Comments

IDEA! To post questions and/or comments for the WISA and WISAx4 applications, visit our forum.


-- OlegSmolov - 23 Mar 2009

 
Copyright © CA 2005-2012. All Rights Reserved.
%