Skip to main content

Migrating Computer Software from one Computing Platform to another Computing Platform


As the IT Industry matures and new technology come on shelf and old one archived, there has been need of an analysis to identify the candidate Applications/Solutions, which could be migrated to the new platform. Most, but not all, of these applications are legacy in nature. For example,  a simple J2EE 3-tier solution could be moved to any modern platform for example Microsoft Azure, Salesforce1, Adobe, Amazon and list goes on. The major shift on this front is coming from the cloud technology. Till now, only big players seems to be entering in this segment because of the large investment and complexities incurred. Internal IT organization is getting push from higher level leadership to consolidate and reduce the technology footprint by moving to these generic Computing Platform. This will be a big operational costing saving effort, modernization effort and reduction of complexities. But, at the same time one has to be very careful before choosing the candidate solution on these generic platform.

Assumption:

  • It is assumed that the 'Technology Platform' under discussion has already been evaluated in one form or other. More detailed research on this topic will follow-suite in later phases.

Define the Objective of Migration :

Migration in itself is a big and abstract word. To make it more effective, directional and level-set, it is necessary to outline the objective of the Migration. Is it cost saving? Strategic consolidation, new strategy, etc.  So, objective should be clearly defined and key points should be clearly captured and distributed across the team.

  • Scope                     : List out all the Software Solutions/Products that will be evaluated.
  • What                       : What needs to be evaluated? Are we going to discuss just the business aspect of the solution.
  • Capability Overlap: Existing Software Solution have few core capabilities, so does the new one. Can these be migrated?
  • What would be the next exercise?: This will clarify the level of abstraction of the current effort. Sometimes we try to overdo things at the initial level which is not much requirement based on the group of people involved and timeline available.

It would be really nice that we set this expectation in the form a an example. I don't think this is going to take much time but will have a big impact on overall exercise and level set the expectation on final deliverable. I have seen confusion and chaos seep into discussions because people ended up comparing apples and oraganges. I would recommend filling in details next to the above mentioned bullet points and set it as a target deliverable requirement. More points could be added as per situation and requirements.

Since this discussion is related to computing platform, it would be a good idea to 'Define Computing Platform':
"Platform technology is a term for technology that enables the creation of products and processes that support present or future or past development. It establishes the long-term capabilities of research & development institutes. It can be defined as a structural or technological form from which various products can emerge without the expense of a new process/technology introduction. In computing platforms, for example, computer hardware serves as platform for an operating system which in turn is a platform for Enterprise Infrastructure Software which in turn is a platform for application software." - Wikipedia

Before we go further, we must know the immediate Goals and Glossary of the task in question. As usual communication & collaboration is the key to success. It is well recognized and easily understood by all but very badly and poorly implemented. Much meat of the discussion happens close door or in selected few inbox and information never goes out to the group. What it takes weeks to understand for the leadership would be handed over to the group, who would be performing this task, in the form of an email or a single meeting.

In order to evaluate any computer software solution to be migrated on a new platform, these should be discussed in details:
  1. What is the high level Business Use Case?
  2. What is the complexity of this Solution? Answering this could be little tricky because a use case coming from a Business Person can not be directly categorized into High/Medium/Low technical complexity. A further deep dive on the high level architecture of the solution is needed. At this stage also, we are still at very high level on 30,000 Ft.
  3. Business Criticality of the Project
  4. Operational Cost of both current and target
    1. Personnel Cost
    2. Hardware Cost
    3. Software Cost
    4. Other Cost
  5. High level Architecture of the solution
  6. What is the Technology Maturity of the Computing Platform?
  7. How many business leaders have already adopted this Computing Platform?
  8. What is the Roadmap of this Computing Platform? Will it be there 5 years from not?
To further add-on on this topic, the above idea could also be followed to introduce any new Technology in the organization. More the detailed discussion and analysis done upfront, less the headache and deviation from the original goal later. 

Comments

Popular posts from this blog

Product Evaluation - MuleSoft Anypoint Platform one day workshop

People, Business Executives, Enterprise Architects, Solution/System/Application Architects, Tech Leads, Developers,  who are looking for and want to know more about MuleSoft Integration offering which is compared to other key providers like Software AG WebMethods, Oracle SOA Suite, WSO2, Informatica, etc. Recently I attended a one day Workshop on MuleSoft Anypoint platform . The overall goal of this workshop was to evaluate MuleSoft integration technology offering for a mid-size integration environment which is currently supported through Software AG WebMethods and Oracle SOA Suite. So, if you are in process of evaluating MuleSoft Anypoint Platform for your integration needs, this write up will give you a good high level executive summary overview. MuleSoft Product Offering falls under following category of market offering: iPaaS (Integration Platform as a Service) Hybrid Integration On-Premise Integration Platform Internet of Things (#IOT) Integration Mule

Salesforce - Scheduling a Schedule Job

Following are the different ways to schedule a Schedule Job through a script. Run the given code in Execute Anonymous window and then you could see in Setting -> 'Scheduled Job' that your Job is waiting to be executed. Run a Schedule Job NOW Method - 1 ScheduleSalesTargets c = new ScheduleSalesTargets(); c.execute(null); Method - 2  (This one I prefer, whenever I need to run a job) Check the current Time. If it is, let's say 10:39 AM, in your clock, then set the minute to 41. This will schedule the job for 10:41 AM just two minutes from now. But, if you set minute value to 38, then it will schedule to next hour 11:38 AM ScheduleSales c = new ScheduleSales(); String sch = '0 0 * * * ?'; System.schedule('Sales Job Name - 1',  '0 41 * * * ?', c); You could repeat following, so that job keeps running every 5 minutes while you debug and change the Apex code behind the scene. ScheduleSales c = new ScheduleSales(); String sch = &#

Salesforce - Microsoft Power BI

This document outlines basic steps to install and configure Power BI with Salesforce. Usage / Highlights Retrieve User Data from Salesforce Retrieve Reports from Salesforce Read Only Access to Salesforce Connection to Salesforce is made on behalf of User. In other words, Login Session belongs to the User. Power BI utilises Salesforce OAuth security framework to connect to Salesforce Previous version of Power BI used to be Power Query, but not supported for TLS 1.1 or higher, thus could not connect to Salesforce after TLS 1.1 Security upgrade. Find details on Power Query Installation  here . Installation - Power BI Publisher for Excel Download Link  Download Power BI publisher for Excel Download for Office 64 Bit ( or 32 Bit) as needed. Close Microsoft Office Application Double click the installer file named "PowerBIpublisher_[64bit][en-us].msi" Installation - Power BI Desktop  Follow the guide as provide on this site -  https://powerbi.microsoft.com/e