Results 1 to 13 of 13

Thread: [RESOLVED] Running a VB6 App on a Cloud Server like its on a LAN

  1. #1

    Thread Starter
    Member
    Join Date
    Feb 2018
    Posts
    56

    Resolved [RESOLVED] Running a VB6 App on a Cloud Server like its on a LAN

    I work for a company who have a VB6 accounting App of about 300 forms with data stored on SQL Server via ODBC. Its working very well on Local Server and for users to use the software, i send shortcut of App to their desktop, from where they execute it.
    We now have a client who insists on using Cloud server (e.g Azure) and does not want to maintain a Physical Server in their office. I need solutions on how to have the VB6 app installed on a cloud server and still have client systems able to access it locally, yet with absolute great speed, as if the server is on a LAN.
    I would not mind at all having a team work on this as a paid project. I have been tasked with finding the best solution out there, that can make this possible, with emphasis on execution speed.
    My Company is ready to invest on finding a solution as this affects us from getting as much clients as we should. I need team here who can help with this.

  2. #2
    PowerPoster
    Join Date
    Jun 2013
    Posts
    7,219

    Re: Running a VB6 App on a Cloud Server like its on a LAN

    There's basically only two choices for you (if you don't want to change the "innards" of your existing App)...

    1) Move only the SQLServer into the Cloud (e.g. Azure offers specific options and "plans" for that)
    1.1) Place full copies of your App-Binaries on each Customer-Client-machine (a real Setup for each Client)
    1.2) and the Client-App will then work "normally" (just with a changed Connection-String, which addresses the new SQLServer)

    This has the disadvantage that - if your App is "data-heavy"
    (if you Select and transfer Rs-Sizes which are in the MByte-Range),
    you will definitely see a speed-difference due to higher transfer-times of the larger ResultSets
    (most Inet-connections still cannot compete with 1GBit-LAN-speed).

    2) Move your App to "TerminalServices in the Cloud"
    2.1) Basically meaning, that the App and the SQLServer-instance will run on the same CloudHardware
    ..... and therefore Rs-DataTransfers remain local on that Host (or HostEnvironment)
    2.2) The App is then shared by WinServer-2016 TerminalServices (each User running in its own RDP-Session)

    This has the disadvantage, that you need a more powerful Host-machine with "decent RAM-size"
    (if the amount of concurrent Clients is high). And the "Cloud-plans for that" will cost quite a bit more.

    But the performance (transferring only changed Pixels over RDP) is quite good - these days,
    I barely see a lag (typing, or triggering "Mouse-Actions"), when I work via RDP against an Online-Server.

    For 2) you could get away with *much* cheaper RDP-Hosting (usually also with better performance),
    when you're willing to maintain such a configuration yourself (offering "your own cloud-services" - for your customers).
    But if your customer is willing to pay the higher costs for "Big-Vendor-Cloud-Hosting" without fuss
    (he asked for it, didn't he) - then everything should be fine.

    Olaf

  3. #3
    gibra
    Guest

    Re: Running a VB6 App on a Cloud Server like its on a LAN

    In addition to what indicated by Olaf, I suggest a variant of point 2 Terminal Services (TS), but more powerful and performing: XenApp / XenDesktop by CITRIX.
    Citrix is ​​the company that invented the TS technology later adopted by Microsoft, but obviously continued the development on its own.

    In practice, you need a dedicated virtual server on which you can 'publish' all the apps and / or desktops you want.
    In both cases it is accessed via a browser (on the client PC only the Citrix Receiver is installed), and the difference between XenApp and XenDesktop is that in the first case the user accesses the program via an icon, in the second it will have a remote desktop.

    Obviously you have a manager available to configure users, permissions, etc ...
    We in the company have dozens of users who connect from all over the world even with connections that are not always good and we have never had speed problems. The SQL Server is located in the company, not on the cloud.
    Among other things, since sometimes users have to go to sites without internet connection, I had to create for a specific application also a version that works OFF-LINE (records data on a local MDB database) which then synchronizes 'with the server when the user can connect ONLINE.
    But that's another story.

  4. #4

    Thread Starter
    Member
    Join Date
    Feb 2018
    Posts
    56

    Re: Running a VB6 App on a Cloud Server like its on a LAN

    Quote Originally Posted by Schmidt View Post
    There's basically only two choices for you (if you don't want to change the "innards" of your existing App)...

    1) Move only the SQLServer into the Cloud (e.g. Azure offers specific options and "plans" for that)
    1.1) Place full copies of your App-Binaries on each Customer-Client-machine (a real Setup for each Client)
    1.2) and the Client-App will then work "normally" (just with a changed Connection-String, which addresses the new SQLServer)

    This has the disadvantage that - if your App is "data-heavy"
    (if you Select and transfer Rs-Sizes which are in the MByte-Range),
    you will definitely see a speed-difference due to higher transfer-times of the larger ResultSets
    (most Inet-connections still cannot compete with 1GBit-LAN-speed).

    2) Move your App to "TerminalServices in the Cloud"
    2.1) Basically meaning, that the App and the SQLServer-instance will run on the same CloudHardware
    ..... and therefore Rs-DataTransfers remain local on that Host (or HostEnvironment)
    2.2) The App is then shared by WinServer-2016 TerminalServices (each User running in its own RDP-Session)

    This has the disadvantage, that you need a more powerful Host-machine with "decent RAM-size"
    (if the amount of concurrent Clients is high). And the "Cloud-plans for that" will cost quite a bit more.

    But the performance (transferring only changed Pixels over RDP) is quite good - these days,
    I barely see a lag (typing, or triggering "Mouse-Actions"), when I work via RDP against an Online-Server.

    For 2) you could get away with *much* cheaper RDP-Hosting (usually also with better performance),
    when you're willing to maintain such a configuration yourself (offering "your own cloud-services" - for your customers).
    But if your customer is willing to pay the higher costs for "Big-Vendor-Cloud-Hosting" without fuss
    (he asked for it, didn't he) - then everything should be fine.

    Olaf
    Thank you so so much. I am so grateful for this detailed analysis.
    From what i read, i should be recommending the Option 2, where you said i move the App and Database to a cloud server maybe like Azure and then the Client systems here would access the App via Terminal Services using RDP. This is what i have understood from what you said. I hope i am right.

  5. #5

    Thread Starter
    Member
    Join Date
    Feb 2018
    Posts
    56

    Re: Running a VB6 App on a Cloud Server like its on a LAN

    Quote Originally Posted by gibra View Post
    In addition to what indicated by Olaf, I suggest a variant of point 2 Terminal Services (TS), but more powerful and performing: XenApp / XenDesktop by CITRIX.
    Citrix is ​​the company that invented the TS technology later adopted by Microsoft, but obviously continued the development on its own.

    In practice, you need a dedicated virtual server on which you can 'publish' all the apps and / or desktops you want.
    In both cases it is accessed via a browser (on the client PC only the Citrix Receiver is installed), and the difference between XenApp and XenDesktop is that in the first case the user accesses the program via an icon, in the second it will have a remote desktop.

    Obviously you have a manager available to configure users, permissions, etc ...
    We in the company have dozens of users who connect from all over the world even with connections that are not always good and we have never had speed problems. The SQL Server is located in the company, not on the cloud.
    Among other things, since sometimes users have to go to sites without internet connection, I had to create for a specific application also a version that works OFF-LINE (records data on a local MDB database) which then synchronizes 'with the server when the user can connect ONLINE.
    But that's another story.
    Thanks for your post, i am most grateful too.
    From what you said, after moving the App and Database to the cloud, it would be much better for the Client systems here to access App via XenApp / XenDesktop by CITRIX.
    I have opened up the Citrix website and reading up their Virtual App and Desktop product. I would update you as things unfolds.
    If all this works and there is no significant difference in speed, i would be on the moon in appreciation.

  6. #6
    PowerPoster
    Join Date
    Jun 2013
    Posts
    7,219

    Re: Running a VB6 App on a Cloud Server like its on a LAN

    Quote Originally Posted by Tobyy View Post
    From what i read, i should be recommending the Option 2,
    As said, "that depends" on the kind of "typical DB-activity" your App currently has.

    If the App is well-written and doesn't select "whole tables, all the time"
    (e.g. 10000 Records x 150 Columns would be "quite large to transfer over the internet") -
    then I wouldn't rule this out that fast - it's (on Azure) quite easy to configure and
    the costs are lower than with the "full TerminalServer-solution" (which requires more powerful hardware).

    Quote Originally Posted by Tobyy View Post
    where you said i move the App and Database to a cloud server maybe like Azure and then the Client systems here would access the App via Terminal Services using RDP. This is what i have understood from what you said. I hope i am right.
    Yes, the only thing needed (from a Cloud-vendor - or normal Inet-Hoster) is a Windows-Server-OS,
    which "license-wise" supports the amount of TerminalService-Clients your Customer needs
    (along with an SQLServer installation, which could also be the free Express-Version, to save some license-costs -
    ...in case we're talking about max 20-30 Client-seats and DB-sizes below 15GB)

    One advantage compared to Citrix is, that the RDP-Client already ships on any Win-OS.

    I've also read, that "Citrix performs better" - but I read that 10 years ago or so....
    not sure if this is still the case (compared to what's evolved on a modern WinServer-OS) -
    but if yes, I'd ask where the performance-advantage is exactly, and how high...
    (only "10%" faster in some area, wouldn't worth the efforts IMO -
    and I guess when it comes to "proper configuration", a Citrix-expert is also more expensive than "a decent Win-Admin").

    Olaf

  7. #7
    gibra
    Guest

    Re: Running a VB6 App on a Cloud Server like its on a LAN

    Quote Originally Posted by Tobyy View Post
    Thanks for your post, i am most grateful too.
    One thing I forgot to say is that the Citrix Receiver is available for all operating systems, so any XenApps can run on any device: Windows, Mac, Android, etc. including tablet and smartphone.

  8. #8
    PowerPoster wqweto's Avatar
    Join Date
    May 2011
    Location
    Sofia, Bulgaria
    Posts
    5,120

    Re: Running a VB6 App on a Cloud Server like its on a LAN

    > a Citrix-expert is also more expensive than "a decent Win-Admin"

    And most importantly -- a Citrix license is twice the price of Remote Desktop CAL -- retail or volume-license. Citrix uses the same RDP protocol so no "recevier" is generally needed on Windows. On Linux (and everything else) there are *many* clients that implement RDP that work both with Windows and Citrix -- so no shortage here too.

    Frankly, I cannot fathom the business model of Citrix. Probably thay sell to those IT departments that have trouble setting up all those printers (they bought last year) in Remote Desktop Servers -- wouldn't surprise me!

    cheers,
    </wqw>

  9. #9
    PowerPoster PlausiblyDamp's Avatar
    Join Date
    Dec 2016
    Location
    Pontypool, Wales
    Posts
    2,458

    Re: Running a VB6 App on a Cloud Server like its on a LAN

    Quote Originally Posted by wqweto View Post
    > a Citrix-expert is also more expensive than "a decent Win-Admin"

    And most importantly -- a Citrix license is twice the price of Remote Desktop CAL -- retail or volume-license. Citrix uses the same RDP protocol so no "recevier" is generally needed on Windows. On Linux (and everything else) there are *many* clients that implement RDP that work both with Windows and Citrix -- so no shortage here too.

    Frankly, I cannot fathom the business model of Citrix. Probably thay sell to those IT departments that have trouble setting up all those printers (they bought last year) in Remote Desktop Servers -- wouldn't surprise me!

    cheers,
    </wqw>
    I would say Citrix wins out in areas such as Application Load balancing and published applications with seamless windows which both give a better end user experience when compared to Terminal Services.

    If you are looking at going the citrix route then https://azuremarketplace.microsoft.c...s?tab=Overview or https://aws.amazon.com/quickstart/ar...-virtual-apps/ are probably worth a look at depending on which cloud you are considering.

  10. #10
    PowerPoster
    Join Date
    Jun 2013
    Posts
    7,219

    Re: Running a VB6 App on a Cloud Server like its on a LAN

    Quote Originally Posted by wqweto View Post
    Frankly, I cannot fathom the business model of Citrix.
    Probably thay sell to those IT departments that have trouble setting up all those printers (they bought last year) in Remote Desktop Servers -- wouldn't surprise me!
    Could be... but maybe Citrix also offers some "really cool addon-features, MS doesn't have" -
    which when enabled, requires transport over an "enhanced standard-RDP"-protocol,
    which in turn would make the "special Citrix-Receiver-App" on a given Client a necessity...

    <shrug> (no time currently, to look-up and study the current Citrix-feature-list)

    Olaf

  11. #11

    Thread Starter
    Member
    Join Date
    Feb 2018
    Posts
    56

    Re: Running a VB6 App on a Cloud Server like its on a LAN

    Quote Originally Posted by Schmidt View Post
    As said, "that depends" on the kind of "typical DB-activity" your App currently has.

    If the App is well-written and doesn't select "whole tables, all the time"
    (e.g. 10000 Records x 150 Columns would be "quite large to transfer over the internet") -
    then I wouldn't rule this out that fast - it's (on Azure) quite easy to configure and
    the costs are lower than with the "full TerminalServer-solution" (which requires more powerful hardware).



    Yes, the only thing needed (from a Cloud-vendor - or normal Inet-Hoster) is a Windows-Server-OS,
    which "license-wise" supports the amount of TerminalService-Clients your Customer needs
    (along with an SQLServer installation, which could also be the free Express-Version, to save some license-costs -
    ...in case we're talking about max 20-30 Client-seats and DB-sizes below 15GB)

    One advantage compared to Citrix is, that the RDP-Client already ships on any Win-OS.

    I've also read, that "Citrix performs better" - but I read that 10 years ago or so....
    not sure if this is still the case (compared to what's evolved on a modern WinServer-OS) -
    but if yes, I'd ask where the performance-advantage is exactly, and how high...
    (only "10%" faster in some area, wouldn't worth the efforts IMO -
    and I guess when it comes to "proper configuration", a Citrix-expert is also more expensive than "a decent Win-Admin").

    Olaf
    Quote Originally Posted by Schmidt View Post
    As said, "that depends" on the kind of "typical DB-activity" your App currently has.

    If the App is well-written and doesn't select "whole tables, all the time"
    (e.g. 10000 Records x 150 Columns would be "quite large to transfer over the internet") -
    then I wouldn't rule this out that fast - it's (on Azure) quite easy to configure and
    the costs are lower than with the "full TerminalServer-solution" (which requires more powerful hardware).



    Yes, the only thing needed (from a Cloud-vendor - or normal Inet-Hoster) is a Windows-Server-OS,
    which "license-wise" supports the amount of TerminalService-Clients your Customer needs
    (along with an SQLServer installation, which could also be the free Express-Version, to save some license-costs -
    ...in case we're talking about max 20-30 Client-seats and DB-sizes below 15GB)

    One advantage compared to Citrix is, that the RDP-Client already ships on any Win-OS.

    I've also read, that "Citrix performs better" - but I read that 10 years ago or so....
    not sure if this is still the case (compared to what's evolved on a modern WinServer-OS) -
    but if yes, I'd ask where the performance-advantage is exactly, and how high...
    (only "10%" faster in some area, wouldn't worth the efforts IMO -
    and I guess when it comes to "proper configuration", a Citrix-expert is also more expensive than "a decent Win-Admin").

    Olaf
    Thanks for the additional analysis.

    Its an Accounting App and has a lot of forms and processes. We have old clients that has their DB size more than 30GB right now. We have some ledger tables that each has at least 5 million rows. So sometimes, espectially for older clients, the DB activity is high and the query is heavy on LAN not to even talk of over the internet.

    What i have recommended now is for my office to get an Azure Cloud Server, with Windows Server 2016 Installed, SQL Server 2008 / 2012 Installed and that each client systems here in the offices would access the APP via Citrix Virtual App installed on each of them.

    I hope this are a good recommendation.

  12. #12

    Thread Starter
    Member
    Join Date
    Feb 2018
    Posts
    56

    Re: Running a VB6 App on a Cloud Server like its on a LAN

    Quote Originally Posted by gibra View Post
    One thing I forgot to say is that the Citrix Receiver is available for all operating systems, so any XenApps can run on any device: Windows, Mac, Android, etc. including tablet and smartphone.
    This is a good and better advantage for us and i have recommended we access the App via Citrix.

  13. #13
    PowerPoster PlausiblyDamp's Avatar
    Join Date
    Dec 2016
    Location
    Pontypool, Wales
    Posts
    2,458

    Re: Running a VB6 App on a Cloud Server like its on a LAN

    Quote Originally Posted by Tobyy View Post
    This is a good and better advantage for us and i have recommended we access the App via Citrix.
    Before going the route of building and maintaining your own VM etc. you might want to look at https://www.citrix.com/en-gb/global-...oft/azure.html and see if there is a more cloud native approach to using citrix. VMs can tend to run expensive unless you are very careful, especially if you need redundancy.

Tags for this Thread

Posting Permissions

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



Click Here to Expand Forum to Full Width