1. Louis Arena
  2. PowerServer
  3. Tuesday, 8 November 2022 19:04 PM UTC

I have just converted my application to Powerserver 2022.  I have it running on a server as we are testing the application.  The Appeon staff has been amazing (and you guys here) in helping with the conversion and some transaction nuances I had to work through.  But now I need to know the best method for rolling out updates.

The application supports an income tax preparation company.  It is the point of sale, management reporting, crm, etc.  As a result of being a tax business we are making multiple updates within the first 3 months of the tax season, sometimes multiple updates in a day.  We get the actual tax software in December and during January and February they have multiple updates that affect my program.  

Apparently, I cannot just overwrite the existing code.  I was told best practice is to have all users log out, stop the IIS servers, update the application and .Net code, restart the IIS servers and let everyone back in.  Of course this is the best way but it's really not practical.  Does anyone have a better idea?

Julie Jiang @Appeon Accepted Answer Pending Moderation
  1. Wednesday, 9 November 2022 14:43 PM UTC
  2. PowerServer
  3. # 1

Hi Louis, 

Our team would like to suggest you study the following deployment strategies, instead of the traditional deployment, because these strategies feature quick rollout of application updates.

https://learn.microsoft.com/en-us/azure/virtual-machines/linux/tutorial-azure-devops-canary-strategy

https://learn.microsoft.com/en-us/azure/virtual-machines/linux/tutorial-azure-devops-blue-green-strategy

Once you decide the strategy to take, if you need assistance on the actual setup, please contact our support team https://www.appeon.com/standardsupport,

Best regards, Julie

Comment
  1. Armeen Mazda @Appeon
  2. Wednesday, 9 November 2022 17:16 PM UTC
Another thing is you may want to consider to change how the tax rules take effect so that it doesn't require a redeployment of your app. For example, configurable rules engine rather than hard-coded.
  1. Helpful
  1. Louis Arena
  2. Thursday, 10 November 2022 18:46 PM UTC
Armeen, obviously the more rules in a database the better so you do not have to update code. But we are not talking about hard and set rules. Things are changing fast in the season and we are developing to stay one step ahead of our clients.
  1. Helpful
  1. Armeen Mazda @Appeon
  2. Thursday, 10 November 2022 18:54 PM UTC
I understand your difficulty. Unfortunately, the users need to log back in so that updated version of your app is downloaded and a new session is established in the Web API layer.
  1. Helpful
There are no comments made yet.
Chris Pollach @Appeon Accepted Answer Pending Moderation
  1. Tuesday, 8 November 2022 21:43 PM UTC
  2. PowerServer
  3. # 2

Hi Louis;

  How about using a technique that many of my past PowerServer customers used when I was consulting before joining Appeon?

 That was to have two IIS machines (I'll call them IIS1 & IIS2) with one in "standby" mode. Let's say IIS1 is current as pointed to by a network proxy. We could then update IIS2 with the new App changes. Then when basic testing revealed that the IIS2 was OK, we would simply switch the network proxy to point to IIS2. Then using IIS1, we could begin to rollout (in the background) even newer App changes. Then when IIS1 was ready, change the network proxy back to IIS1 and flip over to more enhancements on IIS2.

  Anyway, that was the basic concept. That allowed us to FTP the changes to the production machine and run the installations in background mode while one IIS instance was basically offline. It also allowed us a recovery window in case the latest IIS rollout had issues, we could simply change the network proxy back to the previous IIS instance.

  The same approach (I think) could be used for PowerServer as well. Just a thought. HTH

Regards  ... Chris

Comment
  1. Louis Arena
  2. Tuesday, 8 November 2022 22:16 PM UTC
This was the method that Appeon suggested but doesn't this still requires I kick everyone off who are currently using the outdated IIS server?
  1. Helpful
  1. Chris Pollach @Appeon
  2. Wednesday, 9 November 2022 00:59 AM UTC
That's easy to control with a database "control" table that contains the App's END Date+Time when the App must close and the Start Date+Time when the App can be used again. So say the App must stop by 2022-10-08 11:30:00 and can only start up after 2022-11-08 12:30:00. Plus a fail safe "Active" boolean column so that even though it's 2022-11-08 12:45:00 but the "active column is False, the PS Apps will not start (just a message to the app user & then HALT). That way if there is trouble, the "Active column value prevents any false starts as there still is "work in progress" App upgrade wise. Also, in the END Date+Time, the current Apps can send messages out to the active users that an 11:30am shutdown is pending.

Food for thought.
  1. Helpful 1
There are no comments made yet.
  • Page :
  • 1


There are no replies made for this question yet.
However, you are not allowed to reply to this question.