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.
With both the need for a more supportive team setting and shorter feedback cycles, Marc LeBrun, VP Engineering at Flow Kana, addresses two problems with a single solution.
VP Engineering at Flow Kana
Alessandro Pintaudi, Product Management Director at Payfit, talks about how teams need to focus more time on building the right things and how to keep doing it with scale.
Product Management Director at PayFit
Maria Petrova, Principal Product Manager at Zalando details how she strategically mapped out features using a KPI tree to drive measurement, ultimately helping the development team understand their role.
Principal Product Manager at Zalando
Paulo André, VP of Engineering at TourRadar, emphasizes all the benefits of enhancing partnership between Product and Engineering and explains how to achieve it.
VP Engineering at TourRadar
Peter Maddison, Founder at Xodiac, discusses how adopting DevOps accelerates the delivery of business value and lays down some concrete measures on how to achieve the improvements.
Founder at Xodiac
You're a great engineer.
Become a great engineering leader.
Plato (platohq.com) is the world's biggest mentorship platform for engineering managers & product managers. We've curated a community of mentors who are the tech industry's best engineering & product leaders from companies like Facebook, Lyft, Slack, Airbnb, Gusto, and more.