AWS DevOps
MigrationFAQ

Cloud Migration Part – 2

Self Discovery

Under the Bodhi tree of Tech and awaken to the current Application landscape, our Team leads came with the following answers to the questions posted previously. 

It is paramount that the level of service provided with Cloud infrastructure be comparable or rather surpasses the service provided by traditional in-house IT, failure to properly migrate applications to cloud would ultimately result in higher cost and potential loss of business hence negating any potential benefits of the cloud. 

Generally teams do not think about infra cost when developing applications, but it is a very important factor, resources like memory even though if cheap are finite and careful usage results in an optimized app. This exercise also helps in creating a roadmap of the application for the near future, if not already done I highly recommend reading and understanding Refactoring by Martin Fowler (Refactoring (martinfowler.com) ) that explains the topic in great details. 

The Start

To earn the great rewards from Nischay, the following were the answers by Aparna, Prashant, Vinayak and Mohit; very one liners 🙁

Aparna

Is the Organization’s IT landscape predominantly on-prem or Cloud? 

On-Prem, we have some critical customer facing applications that are needed for everyday business, we have a dedicated NOC team to respond to any emergency like application or server down. 

Does you near future roadmap include multiple Cloud applications?  

Yes, we are already reeling under current load, the advantages of moving to cloud are exciting 

What are the integrations outside your Organization ?  

Yes we do integrate with multiple systems outside our organization mainly thru VPN setups. 

How much Data heavy are you as an Organization? 

We have critical customer facing data which is transactional, we are required to maintain a 99.99% uptime for our apps as this will bring business to a grinding halt if apps and services go down. 

How many end Users directly connect to you on a daily basis ?  

We have multiple applications within our portfolio, overall around 10,000 users are referring to our website daily while we should have around approx. 100 users connected simultaneously. 

What are the critical services provided by your Organization? 

Our application help Users in customizing products we per their needs, this can be done by both end User or the Sales executive.  

Are connected devices, Bigdata, IoT part of your IT strategy?   

Yes, these are interesting technologies and we definitely want to provide more relevant information to User based on these technologies. 

How do you manage data currently (analytics, reporting etc.)?  

We have ETL jobs that run at specified frequency, they create a backup for  

Do you have applications that follow Microservices Architecture pattern ?  

Not yet but this surely is in the roadmap for a few critical apps that has gone too big to handle in one go. 

Does your Organization plan to govern and monetize APIs?   

Nothing for now, but we have a few that can be the candidates for it.

Prashant 

Is the Organization’s IT landscape predominantly on-prem or Cloud?  

We have our entire app base on-prem, we could use the benefits of the cloud, we have a hard time setting up new hardware for our growing needs. 

Does you near future roadmap include multiple Cloud applications?  

Yes we have heard the benefits but there is no definitive way for judging the RoI. 

What are the integrations outside your Organization ?  

Yes, we have some integrations with outside world like Bank, ServiceNow, Ticketing agency etc. 

How much Data heavy are you as an Organization?  

Not huge but we have important transactional data as well as some additional information for basic analytics. 

How many end Users directly connect to you on a daily basis ?  

We have around 100 unique users using our system every minute during peak business hours, while this number drops to 1~2 in off business hours. 

What are the critical services provided by your Organization?  

Our services provide the inventory status (of machine parts) to Sales executives, this could range from the tinniest nut to the more complex electronic system in the machine.   

Are connected devices, Bigdata, IoT part of your IT strategy?    

Yes, we look at IoT to expand the range of our business, we think a proactive approach in identifying a problem with a machine part can save much User hassle and in fact increase overall customer satisfaction, imagine if we are able to tell you beforehand that the carburetor needs a change and cannot undertake a 1000 mile journey, wouldn’t that be a blessing to avoid breakdown on a lonely highway. 

Do you have applications that follow Microservices Architecture pattern ?  

Yes we started our microservices journey and are quite happy with the results, we are infact planning for containerization of our apps now. 

Are connected devices, Bigdata, IoT part of your IT strategy?    

Yes, we look at IoT to expand the range of our business, we think a proactive approach in identifying a problem with a machine part can save much User hassle and in fact increase overall customer satisfaction, imagine if we are able to tell you beforehand that the carburetor needs a change and cannot undertake a 1000 mile journey, wouldn’t that be a blessing to avoid breakdown on a lonely highway. 

Does your Organization plan to govern and monetize APIs?  

Yes, we have some very useful information on the overall functioning of a machine that can be useful for addon service providers, this could help us in monetizing our data and information that could open a new business line. 

Vinayak

Is the Organization’s IT landscape predominantly on-prem or Cloud?  

We have on-prem systems 

Does you near future roadmap include multiple Cloud applications?  

Most of our applications are internal intranet based support apps and doesn’t have a lot of compute requirements. 

What are the integrations outside your Organization ?  

None, our is used by internally by employees within the organization 

How much Data heavy are you as an Organization?

We have a lot of static content that hardly changes but are fetched often, for e.g., the list of holidays in 2023, internal blogs and information portal etc. 

How many end Users directly connect to you on a daily basis ?

Around 10~20 users pull information every minute 

What are the critical services provided by your Organization?  

These are not critical services or data but important info within organization, we hope to maintain a 92% uptime for our apps. 

Are connected devices, Bigdata, IoT part of your IT strategy?  

Not yet, we don’t see a major usecase of the technology in our case. 

How do you manage data currently (analytics, reporting etc.)?  

We have very simple analytics like which is the peak vacation time or how many employees were on vacation in a particular month etc. 

Do you have applications that follow Microservices Architecture pattern ?

No, our application are single code base monolithic applications. 

Does your Organization plan to govern and monetize APIs?  

No we have employee data which is internal to organization, this can be provided to outside world.

Analysis

With the data in hand Nishay got down to work and wanted to device a strategy for the Organization,  

As the answers from different TeamLeads came in, it was obvious that they had varying workloads, while those of Aparna and Prashant looked like pressure cooker situation things were calm at Vinayak’s (wondering about Mohit, we’ll we went on long leave and should be able to answer once his out of office goes off). 

There were some interesting insights from the answers of Aparna and Prashant that resulted in the following table 

Attributes Aparna Prashant Vinayak 
Compute Utilization  Very High High Low 
Memory Utilization Very High High Medium 
Latency Requirements  Very Low Medium Medium 
IOPS  Very High High Medium 
Working Datasets  Sensitive and Important Financial data Sensitive and Important Financial data Personally Identifiable information 
Proprietary Clustering  Clustered Clustered No Clustering 
    
Software Architecture  Performance optimized Open systems Performance optimized Open systems Good performance Open systems 
Hardware Architecture  Standard H/W Standard H/W Standard H/W 
Site Dependency  VPN connectivity 3rd Party API based integrations No external dependency 
Upgrade Plans  Re-platforming or redesigning Re-platforming or redesigning N/A 
Non-Functional Requirements (DNS, Load-balancing, Firewall)  Very high security requirements Very high security requirements Standard Security  
    
Security/Sovereignty  Very high Very high High 
Application Licensing  Cloud friendly Cloud friendly renegotiations 

This summary of the applications excited Prashant, Vinayak and Nischay but Aparna had her reservations,

  1. There is a huge workload on apps being handled by Aparna so how latency issues will be managed
  2. Can the apps be ported as-is to Cloud or are some modifications required?  
  3. Who will handle security on the Cloud? 
  4. How to ensure customer data and information is protected. 

These are very valid and interesting questions, Nischay reassured Aparna that gradually all her fears will be addressed as Cloud services has answers to all her questions (but they are separate topics, another series maybe? Uncle Scrooge’s adventure to continue) 

Again, it needs careful planning and execution before taking on the migration, with consultations among TL’s some simple apps were chosen from each of their portfolio that should instill confidence in the cloud. 

Technical Approach

Broadly there are two potential service models for the migration of an existing application

– Infrastructure as a Service (IaaS) and 

– Platform as a Service (PaaS). 

PaaS Migration 

For PaaS cloud service, the application itself must be designed for one or more runtime environments available in the target PaaS service; for e.g. an application where the business logic is implemented as a set of components which run on an application server in combination with a database and some middleware components like queues and cache. 

In general, a PaaS solution must provide the elements of the software stack required by applications such as the operating system, an application server and a database, so that the developers are only concerned with the specific application components and data. PaaS environment should also offer the configuration(s) required by the application. This may include software versions, execution of scripts, and certain tools for setup, reporting, monitoring, etc. 

IaaS Migration

For IaaS service, the requirements on the cloud service are lower as it will offer bare metal hardware; The entire software stack will be migrated, the application code plus any supporting code it requires – including the underlying operating system, SDK or runtimes. It also advised to pack the complete software stack as one or more virtual machine (VM) images, which can then be copied into the cloud service and executed. 

Any use of specialized device drivers or hardware devices which are not common or provided by the developers themselves for multiple environments may not be supported by Cloud provider hence an application depending on these capabilities is not a good candidate for migration. 

As the information become clearer TL’s are excited to start the new adventure but wait there is an important step before starting the Journey i.e., ROI analysis; Nischay promised to cover it in the next section where it will be clear if it still makes sense to move to cloud. 

Until next time, That’s all folks!! 

Abizer Saify

Author

Abizer Saify

Abizer is a catalyst of digital and tech transformation and a leader who is passionate about people, processes and technology. He comes with a global outlook after having worked in US, Europe and ASPAC regions in BFSI, Media and manufacturing industries. Abizer is constantly learning, adapting and evolving himself with the latest in technology and business world. He is adept at digital, design thinking, UX, core applications and ERP. He can be reached at [email protected]