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
Angel Jamie, Chief Product Officer at Yayzy, recalls his transition from a well-established tech company to a sustainability startup, and the major differences he experienced.
CPO at yayzy
Joëlle Gernez, Vice President, Engineering at Pinger, shares how she collaborated her engineering team with the designers to bring about a change in the processes.
Vice President, Engineering at Pinger
Joëlle Gernez, Vice President, Engineering at Pinger, shares how diligently she made the existing developers a part of the testing process instead of bringing in new hires.
Vice President, Engineering at Pinger
Markus Aeugle, VP Engineering at Doctolib, shares how he succeeded as an inclusive leader by helping his team navigate through the various cultural differences.
VP Engineering at Doctolib
Harold Affo, Senior Manager of Software Engineering at CapitalOne, shares his background of living in many countries and how that opened his mindset towards other cultures and new mindsets.
Sr Manager, Software Engineer at Capital One
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.