This post has been adapted from the 2021 DevOps Enterprise Forum guidance paper by Satya Addagarla, Anderson Tran, Mik Kersten, Rob Juncker, Betty Junod, and Sasha Rosenbaum.
Now that you’ve completed your executive pitch for moving to the cloud, it’s time to plan.
Anecdote: Think about a cloud migration project you’ve been involved with—whether it was Code42 or a customer. How can we call out the fact that cloud transformation is a journey? Anything humorous or surprising about having to make a change on the fly?
Nothing is going to go according to plan, and that is expected. Complex domains, such as cloud technology stacks, require frequent inspection and adaptation of your plans. Your undergoing cloud transformation needs to be flexible and agile and needs to enable your users with the tools and information they need to make quick, data-driven decisions at the point of contact. Thus, it makes sense that your cloud transformation journey is going to need to be flexible to adjust for new changes yet on the horizon and ever-changing information.
It may seem strange to make flexibility the main point in a section about planning, but that’s where we are in 2021. No one eighteen months ago could have planned their way through the global pandemic. Companies that got through the massive change that we have seen were not soothsayers or fortune tellers. They didn’t necessarily have an unlimited budget that saw them through lean times.
Organizations that succeeded despite the pandemic used flexible short- and long-term planning to prepare for anything. They may have set long-term goals that they would be working toward, but they recognized that the path getting there was going to be fraught with twists and turns, roadblocks, and critical forks in the road.
And that is a great way to approach cloud transformation today.
What is “Concrete”?
While we all know change is constant…some things simply can’t be. It’s important that you decide up-
front and quickly what changes you just won’t accept along the way.
Depending on your organization, this could be your Omnicloud decision or where you will be hosting your application. Choosing what can’t change is like the foundation of your house—a firm foundation ensures your application is on solid footing.
To do this, adopt a method to classify your decisions. From working with others, we’ve seen success in using a three tiered decision strategy that classifies variables into three buckets:
- Die For: The immutable. The decisions that are bedrock to your future.
- Defend: The variables with some ability to tweak. You’re sure you’re right, but some flexibility is valuable.
- Discuss: The variables that require continued discussion and likely change in your cloud journey.
By classifying the variables in your plan into these buckets early, you can speed meetings/decisions and stability in your cloud journey later as things change.
Timing is Everything—Or Maybe It’s Not
Throw your cloud transformation project timeframes out the window. They aren’t going to be met, or at least not in the way that you envision. Although you may have the best intentions and a world-class team (and budget) backing you up, a large-scale enterprise migration to the cloud will likely take longer than you expect. Things are going to change. New innovations are going to go to market. You’ll lose people; you’ll gain people. Priorities will ebb and flow. It is critical that you evolve your timelines to reflect these expected changes.
This flexibility will allow you to be iterative with your planning and execution. Set iterative weekly deadlines and reviews that contribute to monthly goals, being sure to keep a credible plan with clear progress. Constantly evaluate where you are and how you can get there. Don’t be afraid to throw out previous progress if you pivot in another direction. Set and meet milestones to show progress and continue to get buy-in from stakeholders. Cloud transformation is a massive undertaking, and you are going to be held accountable no matter what challenges and roadblocks get thrown your way. Show continued progress, achieve milestones, and review risks across your organization and at board level.
The Evolving Pace of Technology Is Your Friend
We live in an amazing time. Digital transformation and cheap infrastructure as a service in the cloud means that technology is evolving at a massive pace. Something that wasn’t possible just months ago could now be ubiquitous. It’s important that you plan for innovation even—and especially—if you don’t know what that innovation will be.
Future proofing your cloud migration is one of the most valuable decisions you can make. Imagine planning for 5G while your competitors are still developing for 4G. That’s a huge competitive advantage that you can’t give up.
The best way to future-proof your application in the cloud is to follow the traditional DevSecOps model and strive to be iterative. Pay attention to the evolving nature of modern applications in the multi-cloud world:
- How will the microservices model impact your application?
- How will you deliver the application experience that users expect?
- How will connectivity evolve in five years or ten?
Knowing that you’ll need to make these decisions down the line will help you make architecture decisions today that are flexible, iterative, and future proof.
Keep Evolving Your Priorities
Priorities will change due to shifting business, regulatory, market, and customer conditions. Even geopolitical and cultural events will force you to reprioritize your goals. A new pandemic could shut down the global economy again—but this time for years. Consumer data privacy concerns could lead to shifts in online behavior or even boycotts. Murder hornets may rampage through the countryside. Whatever happens, it’s important that you give yourself the ability to assess and evaluate the potential change so you can make the right decision at the right moment. Miss that chance, and you could be stuck following a cloud migration journey that isn’t right for your business.
One way to plan for change is to create a cloud migration task force, sometimes termed a Cloud Center of Excellence (CCoE), made up of stakeholders from across the organization and sometimes composed of groups such as Cloud Architecture and Operations. Include people from all departments and levels—including internal business partners, external partners, and customers. Anyone impacted by cloud decisions should have a place at the table to bring up their concerns and goals for how the project unfolds.
Take a moment, and brainstorm that list and be exhaustive, but make sure they are impacted enough to be on that team! You’ll need to decide who is on the task force and how they should work together toward a common goal.
It also makes sense to put people on the task force who can make the tough technology and tooling decisions that make the most sense for the organization. Who makes the cloud platform decision? Is it your CIO? CTO? VP of Operations? What tools are you going to use for migration and ongoing management? How about observability?
And again, don’t set anything in stone. A platform that makes sense in 2021 may not make sense in 2024 and beyond. Be prepared to make changes tomorrow by making the right architecture decisions today and leverage your appropriate teams such as PMO, Cloud Architecture, CCoE, or other teams to drive that decision.
Find the Technology Tipping Point
This concept is perfectly articulated by Netflix’s decision to deter new users from utilizing its mail subscription option and focus their customer experience entirely on streaming.
In 2008, it made sense to have both options because of consumer behavior and preferences. But once the technology improved, customers started relying more on streaming. At a certain point, the company had to make the decision to move exclusively to the newer platform and business model. It certainly upset a lot of customers, but in the end, it was a wise decision that was made at just the right time. You may remember that Blockbuster filed for bankruptcy shortly after Netflix made the switch—even though it had its own mail subscription service. Netflix forced its competitor’s hand by changing consumer expectations before Blockbuster could react.
As you continue along your cloud transformation journey, keep in mind that most decisions will not last longer than two years. This means that you eventually will have the opportunity to correct any mistakes you make—as long as your migration planning was flexible and iterative from the beginning.
Securing the Future of Your Application
Without a doubt, security deserves the largest investment during the planning phase. Malicious actors are only growing more sophisticated, more numerous, more…malicious. So, it’s critical that you build a flexible security architecture that can adapt to changing methods and tactics. Building security agility directly into your application ensures that you can meet any security threat that comes your way—as long as you continue to stay on top of the latest threat intelligence and tools.
What is Zero Trust?
Zero Trust turns the traditional cybersecurity model on its head. Instead of trusting everyone and looking for bad actors to block, the Zero Trust approach assumes all web content is bad. Any entity—whether it’s an application, a website, a device, or an SaaS platform—must prove it is what it says it is. Only then, when trust has been established, can the entity execute code in your network.
This Zero Trust approach ensures that any malicious actor will have a hard time infiltrating your application without some highly-sophisticated networking gymnastics—no matter how advanced cyberthreats evolve in the future.
Automation Can Be Your Savior—Up to a Point
Cloud transformation is complex and time consuming—and you can’t simply automate your way through the migration process. Save it for when and where the value is high and enable a tight integration of human and artificial decision-making. Determine how you are going to leverage pipeline-based deployment capabilities as well as infrastructure as code (IaC). Contemplate the use of advanced automation technologies such as artificial intelligence (AI), machine learning (ML), robotic process automation (RPA), and business analytics—but don’t overly rely on flipping a switch and having a fully autonomous application. This means automating the observability of your application across cloud platforms but empowering a human to make experience decisions in real time.
Automation should contribute to application and architecture flexibility. Think about it as driving the “guard rails” of your application. Give the application, users, and other entities freedom where it fits and when it counts. Build a highly flexible rules engine to dictate when a machine makes a decision versus when it is escalated to a human. A structured process ensures you are responsibly using advanced automation technologies in the right way rather than simply for the sake of autonomy.
Okay, now that you have your plan in place, it’s time to organize your team(s) for success.