Sunday, 25 June 2017

Thrill of Technology


Thrill is often associated with breath-taking activities such as adventure sports  etc. On the other hand, techies are considered to have opposite attitude towards life; a boring 9 to 5 job. Well, that’s not true! There is thrill in everything; as long as one is passionate and courageous. Here I am penning down few exciting instances which I came across recently.



Our team’s primary focus is to containerize difficult legacy apps by fixing compatibility issues to bring them on to the newer supported platforms. We containerize in our own format, and sometimes we complement other vendors by providing a compatibility layer on top of their products (like App-V, Unidesk, XenApp, AppSense etc.). This always keeps us on our toes to take up the challenge of virtualizing apps which other products couldn’t virtualize. It brings the thrill in what we do; the thrill of fixing issues in the hardest and the trickiest applications; the thrill of innovating solutions never imagined before.

Often, we encounter difficult issues with legacy apps which aren’t easy to debug or fix. For instance, last week we came across a customer app which was stuck on WinXP as it used Global objects. Such problems could be fixed using Microsoft’s Shims but that poses its own security concerns. This customer wasn’t willing to take the risk on app’s security. Being user mode software, we are well placed to function without admin rights; hence eliminating the security risk as opposed to kernel mode drivers. To solve it, one of our domain expert (Ryan Smith) guided us in embedding the functionality of converting global objects to local ones within the virtualization engine in a secure manner.

In another instance, there was a legacy web app which couldn’t be virtualized due to its heavy dependencies on windows hooking mechanism for tracking system events and DLL injection. After weeks of debugging with senior developer (Gurmit Singh) and domain expert (Odysseus Venieris), we could figure out a way to containerize this application while protecting it against DLL injection threats. We ended up with a solution for isolating an application in-spite of its dependencies on core system components without a single line of code change.

Another exciting case worth mentioning happened last week, when I was working for a customer to virtualize Citrix Connection Manager to enable them to run multiple versions of Citrix Receivers side by side on a client workstation so that their users can connect to a legacy XenApp with an old version of receiver. It was extremely complicated and required intense troubleshooting to figure out a way to virtualize the Citrix component. After hours of debugging with the CTO (Mat Clothier), we ended up implementing a new feature in our virtualization engine for “Kernel Object Isolation”. As a result, customers can now run various versions of Citrix Receiver, accessing different releases of Citrix XA/VDI server farms without the need for multiple hops (which is how customers get around the issue today). This gives them a simpler architecture, better user experience and reduced cost.

These were few of the exciting instances I’ve encounter recently in everyday work. Certainly, there will be many more challenges ahead, but that’s the thrill of technology after all.

Priya Saxena

No comments:

Post a Comment