Load Ingest Data
Results 1 to 2 of 2

Thread: AIS Upgrade Considerations

  1. #1
    Join Date
    Sep 2006
    Posts
    233
    Rep Power
    10

    AIS Upgrade Considerations

    In the following discussion, the term AIS Solution means a set of AIS definitions that serves an integration purpose or solves an integration problem. Common practice is to create AIS solutions with Attunity Studio or by editing the AIS definitions with NAV_UTIL EDIT. The considerations given here are applicable no matter how the AIS solution was created.
    Upgrade Considerations

    There are three main approaches for upgrading AIS solutions.
    1. Replacement upgrade replaces the existing software with the new version such that after the upgrade process is complete, only the new version is used.
    2. In-place upgrade installs the new version on top of the old version files such that after the upgrade process is complete, there is nothing left of the old version (other than a backup).
    3. Side-by-side upgrade installs the new version in parallel to the old version such that after the upgrade process is complete, there are two active AIS solutions working in parallel.


    This article discusses the considerations for choosing the upgrade approach and the implication of each approach. The following table is a summary of this discussion:

    HTML Code:
    <pre> 
    +-------------------+---------------------+------------------+----------------------+ 
    |                   | Replacement Upgrade | In-Place Upgrade | Side-by-Side Upgrade |
    +-------------------+---------------------+------------------+----------------------+ 
    | Complexity        | Low                 | Low              | High                 |
    +-------------------+---------------------+------------------+----------------------+ 
    | Risk              | Low                 | Medium           | Low                  |
    +-------------------+---------------------+------------------+----------------------+ 
    |Provisioning Cost  | Low                 | Low              | High                 |
    +-------------------+---------------------+------------------+----------------------+ 
    |Application Impact | Low                 | Low              | Medium               |
    +-------------------+---------------------+------------------+----------------------+ 
    |Applicability      | Almost always       | Limited          | Always               |
    +-------------------+---------------------+------------------+----------------------+ 
    </pre>
    Another upgrade approach that is not discussed here is the in-place replacement approach whereby the new version is installed on top of the old one. This approach is risky and is not recommended for production use.

    Replacement Upgrade
    Complexity
    Replacement upgrade is easy to achieve and offers the best value. In essence, the new version is installed on each of the machines participating in the solution on a different disk location than the old version. Once the AIS definitions are properly migrated from the old version to the new version, the old version’s servers are stopped and the new version’s servers are started.
    Since the same configuration is used, including host names and port numbers, there is nothing to change in the client applications which continue to point at the same location to use AIS.

    The changes that are needed in a replacement upgrade are minor and mostly revolve around the location of the log files and startup scripts and sometime also few environment compatibility settings.

    Risk
    Replacement upgrade introduces a low risk since the old version remains intact and may be re-activated in very short time to restore the old version in case issues are found with the new version. The risks in replacement upgrade, like any upgrade, are in the compatibility with the application. These risks can be mitigated with proper testing in a design or staging environment prior to production deployment.

    Provisioning Cost
    Replacement upgrade introduces a very low provisioning cost. There is the disk space taken by the old version that is kept for safety. There is also a possible change in CPU, memory, network or storage requirements in the new version compared with the old one. While installation disk space almost always grow, other factor change in various ways as AIS is improved and as new capabilities are added. The only way to gauge this impact is by evaluating the application in a development or staging environment prior to production upgrade.

    Application Impact
    Replacement upgrade introduces no application impact (other than, possibly a very short downtime when the servers are replaced). The application keeps accessing the same resources in the same location. No connection strings need to be updated and no other changes are needed in the way the application is using AIS.

    This, of course, is true provided that no compatibility issues are detected in testing prior to deployment. If significant compatibility issues are detected then the side-by-side approach should be used. Significant compatibility issues are ones that cannot be resolved with just external parameter settings.

    Applicability
    Replacement upgrade is almost always applicable. The only case where it is not applicable is when there are significant compatibility issues between the old and the new versions.

    In-Place Upgrade
    Complexity
    In-place upgrade is the easiest to achieve, when it is applicable. In essence, the new version is installed on each of the machines participating in the solution on top of the disk location of the old version – only after a rigorous backup of the old version. The old servers are stopped before the upgrade process and are started once it is done.

    Since the same configuration is used, including host names and port numbers, there is nothing to change in the client applications which continue to point at the same location to use AIS. Since there are no changes to disk locations, the AIS configuration does not need to be modified to work with the new version.

    The changes that are needed in an in-place upgrade are minimal – if at all needed, they mostly revolve few environment compatibility settings.

    Risk
    In-place upgrade introduces some risk – mainly because it involve writing over the old version. With proper backup, the risk can be minimal (especially if one can also keep a copy of the old version on disk). The risks in in-place upgrade, like any upgrade, are in the compatibility with the application. These risks can be mitigated with proper testing in a design or staging environment prior to production deployment.

    Provisioning Cost
    In-place upgrade introduces virtually no provisioning cost. There is a possible change in CPU, memory, network or storage requirements in the new version compared with the old one. While installation disk space almost always grow somewhat, other factor change in various ways as AIS is improved and as new capabilities are added. The only way to gauge this impact is by evaluating the application in a development or staging environment prior to production upgrade.

    Application Impact
    In-place upgrade introduces no application impact (other than, possibly a very short downtime when the servers are restarted). The application keeps accessing the same resources in the same location. No connection strings need to be updated and no other changes are needed in the way the application is using AIS.

    This, of course, is true provided that no compatibility issues are detected in testing prior to deployment. If significant compatibility issues are detected then the side-by-side approach should be used. Significant compatibility issues are ones that cannot be resolved with just external parameter settings.

    Applicability
    In-place upgrade is applicable (unless otherwise noted) when the old and the new versions are minor versions of the same release. The further the versions, the higher the chances are that they would be incompatible. In-place upgrade is not applicable when there are significant compatibility issues between the old and the new versions.

    Side-by-Side Upgrade
    Complexity
    Side-by-Side upgrade is the most complex to achieve but at times it is the only applicable approach. In essence, the old version is kept intact (even running) while the new version is installed. Like the replacement upgrade, the new version is installed on each of the machines participating in the solution on a different disk location than the old version. The AIS definitions are migrated from the old version to the new version with new host names, IP addresses and disk locations. Once the new definitions are set, the new version’s servers are started.

    Since different configuration is used, the client applications must be modified to accommodate the change. The client application changes that are needed in side-by-side upgrade are mostly changes in the connection strings used (typically because of the change to the port numbers).

    However, if there compatibility issues or sometimes for other reasons, the client applications can be moved incrementally from the old version to the new version over time.

    Risk
    Side-by-side upgrade introduces relatively llow risk because the old version is kept running and available. The risks in side-by-side upgrade has to do with provisioning cost (see below) since now more servers will be running and the system must be ready for that (i.e. provision them) or it will fail under stress.

    Provisioning Cost
    Side-by-side upgrade introduces provisioning cost due to the duplication of servers and resources consumed by the parallel installation. The only way to gauge this impact is by evaluating the application using this configuration in a development or staging environment prior to production upgrade.

    Application Impact
    In side-by-side upgrade, the clients are moved in phases from the old to the new servers. This introduces complexity at the client side (or possibly that complexity may be a given) since some of the clients use the old version and some use the new. The consideration of how to move from the old to the new are domain specific and are not discussed here.

    Applicability
    Side-by-side upgrade is always applicable but is also more complex so the simpler approaches should be employed if possible.

    Other Upgrade Considerations
    AIS Stored Procedures and Views
    An AIS solution may contain AIS stored procedures and views. These are defined either in the SYS datasource or in datasources of type VDB (or DSM - Virtual Database) using the following commands:

    1. create procedure XxxPrc as {some SELECT with parameters}
    2. create view xxxView as {some SELECT without parameters}


    If an AIS solution contains stored procedures and views, they need to be recreated after each upgrade. The recommended way for upgrading stored procedures and views is to maintain an SQL script with the appropriate CREATE statements. When creating this script note that:

    1. The script show start with a DROP statement for all procedures and views
    2. Procedures and views that depend on other definitions must be defined after those definitions are created. For example, if procedure X uses view Y then the view Y must be created before procedure X is created.


    Scripts and System Settings
    Any customization done to AIS scripts must be verified after an upgrade to make sure that the upgraded environment uses the correct definitions (for example, startup scripts may contain a reference to the product installation directory - following an upgrade, such a reference should be to the new version). The same note also applies for system settings.
    Last edited by DrorHarari; 11-05-2006 at 04:44 AM.
    By Dror Harari

    To Find Out more About Attunity Technology:
    Attunity
    or:
    Contact Us

  2. #2
    Globalyz is offline Junior Member
    Join Date
    Aug 2009
    Posts
    1
    Rep Power
    0
    I'm using AI-Scripts just now. And, I am about to configure my juniper box for sending JMB messages to my myserver. Any tips?


Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •