So, are you ready to be a game-changer?
In Part 1 of our cloud transformation series, we discussed the case for you to consider – right now – resolving to begin your migration to the cloud. We KNOW that your competitors who have already made the transformation are shifting the paradigm almost daily. For most enterprises, staying competitive in this kind of hyper-dynamic environment requires an all-hands-on-deck approach.
Yet, we gaze upon the hundreds of unicorn, dedacorn and hectocorn companies in the world — those with a market cap of 1B, 10B, and 100B or more, respectively – and marvel at their ability to not just keep apace, but to create or disrupt their entire market. AWS, Uber, Airbnb, Snapchat, and Spotify are some of the best-known examples of companies that have figured out how to change the game – and to keep changing it.
Personally, what I take issue with are the mythological terms used to characterize the size of these companies. Unicorns, dedacorns and hectocorns sound like the product of luck, imagination, or fairy tale lore – a conceit that couldn’t be further from the truth. This sort of mentality makes it too easy to dismiss the winning formula that successful companies employ in getting to the next level. This formula, when stirred together, forms the perfect “trifecta of transformation.” These are:
- Agile development practices;
- DevOps; and, most importantly;
- Hyper-scale cloud (such as Amazon Web Services, Microsoft Azure, or GCE).
When employed in perfect harmony, this “trifecta of transformation” can elevate your business by giving you a new level of speed and agility to compete in a market that is moving at a breakneck pace. The speed at which your business can release new products, features or service offerings can make or break the success of the launch.
Sounds great, but how do we accomplish this? Below, I’m happy to share my high-level cloud transformation playbook (and by high level, you’ll probably want to forward this blog to your CIO or your engineering and technical team members). These eight steps – when strategized, planned, and implemented with the right cloud transformation partner, can help accelerate your enterprise to a pace that is calibrated appropriately for success. Let’s dive in:
- Be agile. This is the most critical step – implementing a full agile process followed by your complete IT organization. By managing workflow in a series of short sprints, and by using a Kanban approach, you’ll benefit from:
- Improved focus
- A culture of continuous improvement
- The ability to release updates or new products after each sprint
- A continuous delivery approach, if you choose to employ Kanban
- The ability to use customer feedback to help prioritize the work
- Demand DevOps. In a DevOps environment, engineering teams take responsibility for the entire deployment pipeline. This approach can have great benefits, including:
- Making development teams accountable for their own success
- Eliminating separation of duties and handoffs between teams
- Automating everything
In a best-practices approach to DevOps, the default stance is to not allow shell access, to allow off-box logging, and to employ a sophisticated monitoring and anomaly detection tool, like that that is offered by Datadog.
- Make artifact deployment immutable. Your build process should be focused on producing the artifact to be deployed. By doing this, your environmental configuration becomes externalized and discovered when the artifact is deployed/launched. This will both enable and streamline auto-scaling by eliminating the code deployment process; and also will “version” the immutable artifact so it can easily be rolled back.
- Embrace the monolith. Unless you’re a startup or greenfield project, chances are you have a monolithic application. You’ll want to optimize your build/delivery process to produce an immutable artifact (see above) for your monolith. This will serve to remove dead code and features, and will allow you to invest in unit tests and automated integration testing if you are deficient.
- Build new features as microservices around the monolith (if you have one). As you work through the development process, be sure to keep services small, autonomous, highly cohesive, and decoupled; and to update services independently. Also, focus on API contracts, and consider semantic versioning for communicating the contract.
- Refactor the monolith. When working in the monolithic code base, your goal should be to chip away microservices on an incremental basis. This will help you to ensure unit and integration testing is rich and robust – serving as a safety net during the refactoring process.
- Ditch your data center ways. At this stage, it’s time to prepare to become “cloud agnostic.” Embrace the differences between the new cloud environment, and your legacy datacenter or co-location facility. In the cloud, you’ll be able to use native cloud capabilities for firewalls and load balancing. Also, remember to treat the servers as cattle and not pets – don’t become attached to any particular server instance. Here in the cloud, redundancy is your friend, and the cloud is inherently, and infinitely, more secure than the datacenter or co-lo you’re leaving behind. For more on this topic, read this blog.
- Migrate your data. It’s time to send your workload up, up and away. As you migrate your data, bear in mind the following truisms:
- Databases and other fixed license applications have no place in the cloud
- By eliminating per server/node licensing, you jettison a key artificial bottleneck that has been known to stifle efficiency
- Say farewell, for good, to licensing audits
- By making this move to a managed services and pay-as-you-go model, you have now replaced capital expenditures (CapEx) with operating expenditures (OpEx).
When implemented properly, and by the steps outlined above, your cloud transformation will dramatically increase your feature velocity, while lowering the costs associated with building these features. Further, it will allow your business to focus on features that differentiate your enterprise, instead of non-value-added tasks. And most importantly, it will allow your business to be agile, and to respond in near-real-time to market pressures.
This level of agility will allow you to create new features, to observe what is working and what isn’t, and ultimately, to adapt. By moving at this new cloud-transformed pace, you’ll be able to outflank your competition, and to become the unicorn, dedacorn or hectocorn in your market. By tapping into the transformative power of the “trifecta” of agile, DevOps and hyper-scale cloud, you’ll turn fairy-tale wishes into real business growth.
Ready to begin your Cloud Transformation? Contact us now.