Moving Legacy Applications Into the Cloud
13 May, 2020
I was tasked to help with an on-premise application prepared with disaster recovery backup for the regulatory deadline. The organization’s internal systems and data centers didn’t have the capacity for and capability on the network layer to replicate from the development environment into an appropriate environment on the other side. We had to move it to a different environment and we decided to go for Amazon Web Services (AWS), though the company lacked the protocols to do this. Therefore, we had to build out and create alignment across many areas of the organization to be able to pick up the workload, move it into the cloud, set it up as a disaster recovery setup, and ensure continuous replication of data in the management of the two different areas. After that, we had to set up the metrics and other necessary things and hand over the solution by the time of the regulatory deadline.
First off, I identified the major stakeholders and brought them together. Then I continued with building out the plan around what the roadblocks were and identifying and overcoming a number of very large technical hurdles, including developing the right architecture and design and creating alignment across teams that weren't used to working together. For example, a security team and a cloud security team had different sets of standards that contradicted each other, and I had to get them working together.
As an external consultant, I typically work at a senior executive level helping them with organizing and bringing the right teams together. Since I work at a high-level coordination perspective I deal with different aspects across different challenges. This particular task was a three months long engagement that was a continuation of our previous, lengthier collaboration. This more succinct task encompassed communication with all the stakeholders on Business Continuity Planning (BCP), design of the recovery system and its minimum requirements, audit requirements, etc. Also, I had to create the vision and alignment for the program and to push that out into teams ensuring that we are on the same page. Most importantly, we had to hit our timelines and deadlines and deliver on what we committed to do.
Although I usually work with organizations on strategy around DevOps and Agile introduction, which would have involved value stream mapping, identify bottlenecks, and how to overcome them. For this engagement, time was of the essence and we needed to work within the organizational processes. This involved a very bureaucratic waterfall process that would consistently get in the way of doing the actual work. For example, do you have this form filled out, or have you taken it to that committee.
The biggest obstacle that we ran into was the lack of cloud experience and lack of understanding of what was required in order to get this through. I initially built out a design and gave them a straw man of what it could possibly look like and gave it to the teams to fill the gaps.
Another big barrier to success was bringing different security teams together. There was both an internal security team, operating from their traditional checklist, and a cloud team, operating from their new, barely defined, policies. There were places where the two disagreed and I had to create agreement and common direction for us to move forward.
The cloud security team was also new and their idea of cloud security consisted of a spreadsheet with a set of controls. They were stopping us from moving forward because we haven't filled out the spreadsheets. However, we couldn’t know what we needed to put into the cloud because we hadn't built anything yet!
I worked with the team to get them to change the process and the spreadsheet, focusing more on measuring what the state of the deployed environment is.
- Ensure that you have a consistent group of people responsible for the entire project -- all the stakeholders should be at the table along with the core team that is going to deliver the project.
- Identify any missing gaps in the skill sets or any potential major blockers that will require people with the specific skill set to overcome it. Seek for the people with the right skill set across the organization.
- Be flexible in your approach to overcome barriers as they occur so that you got the right pieces into place. Build rapport and respect with the key leaders you need to move things along.
Scale your coaching effort for your engineering and product teams
Develop yourself to become a stronger engineering / product leader
Mrunal Kapade, an Engineering leader, based in Silicon Valley, shares tips that helped reduce attrition in the remote engineering teams while leading multiple teams from startups to Fortune 500 companies.
Director of Engineering at Inspire Energy
Vineet Puranik, Senior Engineering Manager at DocuSign, discusses the impact of roadmaps, organization, and proper management for your teams to procure growth.
Senior Engineering Manager at DocuSign
Saikrishna Desaraju, Engineering Manager at Marks & Spencer, draws from his personal experience to advise new managers on thriving in their roles.
Engineering Manager at Deliveroo
Muhammad Hamada, Engineering Manager at HelloFresh, addresses the uncertainties brought on by the pandemic, how these have affected our work environments, and how we can adapt.
Engineering Manager at HelloFresh
Roland Fiala, Senior Vice President of Engineering at Productsup, raises an interesting issue about autonomy in teams: does it hinder collaboration opportunities that lead to better problem-solving? He shares his system for promoting teamwork in engineering departments.
Senior Vice President of Engineering at Usergems