Macro and Micro factors are forcing businesses to be extremely nimble – not just to stay ahead of competition, but agility has become table stakes now. Agility is driven by strategy, people, process, technology, and culture. Under each of these there are multiple enablers than can prove be accelerators or deterrents to an organization’s progress. In turn affecting time to market, competitive differentiation, cost, and revenue.
We will touch on each driver of agility in our insights. This article discusses technology as an enabler to agility and underneath technology specifically talks about cloud strategy and decisions related to cloud architecture that need to be considered.
We will not discuss the merits of cloud or different architectures of cloud as those are already heavily documented. Most companies and technology are going with the mindset of “cloud first.” It is a good guiding principle to have if the company is also equally clear about “when is cloud not the first?” In addition, it is also important to define cloud strategy and make decisions around whether it needs to a single-cloud architecture or hybrid or a multi-cloud architecture.
Cloud strategy inevitably needs to be influenced by taking a baseline of current technology stack – do you have a monolith application and/or database, are you on microservices architecture, what sort of middleware and integration needs does your application have, what data and compute requirements do you have currently and for the future, how critical is availability, scale, data ownership and privacy, security, etc. to your company, is there enough decoupling between your front end and back end to handle different operating models and development methodologies, etc.
Your current software architecture can drive short term and long-term priorities around can you do a lift and shift or do you need to refactor/rearchitect to be cloud native? How do you minimize risks of cloud migration for your customers and your business? How do you manage change? Are you in a position to derive further benefits from CI/CD, DevOps, etc.?
Most companies opt for lift and shift as the preferred approach to first move to cloud. It allows them to gain immediate scale, however, they have to be careful that it is not coming at an inordinate cost especially if their applications are not optimized and/or cloud native. For those who are caught unaware, the analogy is no different than the high electricity or water bill that one receives for their home when those utilities are excessively consumed.
It is also important to give thought to assess the cloud vendors. Although at a high level the services and capabilities across tools seem to be similar, the proof lies in the pudding. Avoid implementation and support surprises by making sure you are understanding your current and future needs and use them to identify the right single cloud or hybrid or multi-cloud architecture or a combination of all of them. However, note that technology can get complicated very quickly even with one vendor and mixing and matching cloud vendors will compound this many times over. It is also important to make sure you do not get locked into certain vendors by not doing enough due diligence at the front end.
Cloud by its very nature demands different roles such as cloud architects and engineers, cloud database architects and engineers, DevOps architects and engineers, security engineers, etc. just within technology area. On the business side of the house, new roles like Product Owners, Product Managers, etc. will be needed depending on the company. Changing to product teams, adopting product development vs. software development mindset, applying the rigors of agile development, prioritizing backlogs, changes to portfolio management functions, different engagement and involvement from functions like FP&A, Accounting, Legal, HR, Portfolio and Program/Project Management, and Procurement are all needed as you mature. It will also bring to the table many 3rd party providers that a company may be ill-prepared to coordinate and collaborate with.
E2E governance and accountability of the cloud environment is not easy and gets further complicated in hybrid and multi-cloud environments, so as you make decisions ensure that you can track, measure, and improve.
In short, cloud can provide much needed scale and flexibility, but unless you respect, understand, and solve for the complexity and changes it will introduce in your world, it will turn out to be a challenge in more than one way. Always keep your objectives and key results of why you went with cloud at the back of your mind and periodically assess your progress against those to keep yourself aligned to the true north.