Unlocking the Cloud: Avoiding Anti-Patterns in Cloud Adoption
Samuel Gerges
Key Considerations for Organisations Transitioning from On-Premises
As organisations increasingly embrace the cloud for its scalability, flexibility, and cost-efficiency, it is crucial to understand and address the potential anti-patterns that can hinder a successful transition. Moving from traditional on-premise infrastructure to the cloud involves more than just shifting data centres. It requires a shift in mindset, processes, and collaboration between technical teams and business units.
Misaligned Operating Models
One common anti-pattern is a misalignment of operating models, which can lead to increased time to market, misunderstandings, and increased pressure on IT departments.
If we assume you have been driving a petrol-powered car for the last 20 years and suddenly switch to an electric vehicle – you need to consider the difference in operating models to get the maximum benefits out of an EV, like installing solar in your house, changing driving habits, and optimal charging times.
Let’s check what happens with GlitchTech Enterprise (as I’ll call it) and how their operation models impacted their cloud adoption.
GlitchTech Enterprise, a company with seven different business units, faced challenges with their traditional waterfall model for managing on-premises infrastructure. This approach caused lengthy time-to-market for their digital applications, putting them at a disadvantage in the dynamic market. To address these challenges, one of the business units decided to adopt an Agile approach and leverage cloud technology. They believed that building cloud-based applications using Agile methodologies would help reduce time-to-market and increase agility.
However, the transition to Agile and the cloud posed new challenges for GlitchTech Enterprise. The business unit development team faced friction and delays due to clashes with the company’s governance process, which still followed the traditional waterfall and on-premises operating models. The development team felt constrained and unable to fully leverage the benefits of the cloud due to lengthy approval processes and reliance on the infrastructure team. This resulted in delays in delivering cloud-native applications and a disconnect between the intended design and the final implementation, impacting the quality of the delivered applications.
Here are some tips that can help you avoid the challenges experienced by GlitchTech Enterprise:
Establish cloud operations capabilities: Organisations should ensure that the necessary cloud operations practices, tools, and processes are in place. This includes defining roles and responsibilities and establishing monitoring and change management processes suitable to the cloud dynamics.
Adopt an iterative and incremental approach: Embrace an Agile mindset and adopt an iterative and incremental approach to cloud adoption process. This allows for continuous improvement and adjustment based on feedback and lessons learned during the adoption and migration process
Build a readiness plan: Adapt roles, skills, and processes to align with the chosen cloud operating model. Identify any gaps in skills and develop a plan to upskill or reskill your IT teams. This will ensure that they are equipped to handle the new responsibilities and challenges that come with cloud adoption.
Shift towards automation and self-service: Encourage infrastructure teams to shift their mindset towards implementing automation tools, templates, and regulations that enable digital teams to create their own infrastructure resources in a secure and best practices manner. This shift aligns with the cloud-native approach and promoting a DevOps culture, where infrastructure is provisioned on-demand and automated through scripts and CI/CD pipeline templates.
By embracing cloud-native architecture concepts and agile system management processes, organisations can create business value at high speed and fully realise the benefits of the cloud.
Choosing the Wrong Service Model
Another anti-pattern occurs when organisations assume that Platform as a Service (PaaS) will automatically decrease costs. This misconception can result in major replacement projects and complex management processes. To mitigate this, organisations should thoroughly assess their architecture needs and consider gradually adopting PaaS after gaining experience and familiarity with the cloud. This approach minimises disruption to business processes and reduces the learning curve for adopting new skills and processes.
Here are some additional examples and tips to illustrate the point
Thoroughly assess architecture needs: Before adopting PaaS, organisations should comprehensively assess their architecture needs. This evaluation should consider factors such as application requirements, scalability, security, and integration capabilities. By understanding their specific needs, organisations can make informed decisions about adopting PaaS.
Minimise disruption and adopt incrementally: An organisation decides to migrate their web application to the cloud. Instead of immediately moving to a PaaS solution, they start by migrating their infrastructure to Infrastructure as a Service (IaaS) and gradually refactoring their application to take advantage of PaaS services. This allows them to gain experience with the cloud and assess the impact on their architecture before fully embracing PaaS.
Continuously monitor and optimise costs: Organisations should establish processes to continuously monitor and optimise costs in the Cloud environment. This includes regularly reviewing resource utilisation, identifying cost-saving opportunities, and implementing cost-management strategies. By actively managing costs, organisations can ensure that the expected cost benefits of cloud adoption are realised.
Define a cloud landing zone architecture: Design a well-thought-out cloud landing zone architecture that provides a foundation for successful and well-governed cloud deployments at scale. This includes automated and standardised creation of infrastructure using infrastructure as code (IaC) templates.
Addressing Governance and Security Considerations: Organisations may assume that out-of-the-box solutions provide sufficient security or misunderstand shared responsibilities. Organisations should invest time in understanding shared responsibilities, leveraging existing security frameworks, and avoiding creating custom compliance or governance frameworks to mitigate this. Especially auditors and GRC (Governance, Risk, and Compliance) teams must grasp the cloud’s shared responsibility. These teams may have established processes and controls for physically auditing datacenter, but they need to adapt their processes and controls for the cloud.
The key here is to assess your organisations specific needs and gradually adopt cloud services based on your experience and familiarity with the cloud. This approach minimises disruption and allows for a smoother transition.
Lack of Cloud Operations Focus
Some organisations fall into the trap of focusing too much on tooling and features rather than business outcomes. This anti-pattern can lead to a lack of alignment between technology investments and business goals. To avoid this, organisations should prioritise understanding their business requirements and goals, and then select the appropriate tools that align with those objectives. It is essential to remember that tools and different cloud services are enablers, and the focus should always be on achieving desired business outcomes.
The importance of evidence and justifications when making decisions, especially in the context of cloud providers and tooling, cannot be overstated. Technical leaders sometimes have biases based on their past experiences, which can influence their preferences for specific tools or cloud providers. For example, someone with previous Java development experience might be biased against Azure and Microsoft in general and lean towards AWS or Google Cloud. Conversely, someone with more .NET and Microsoft development experience might be biased towards Azure and Microsoft.
However, it is crucial to base decisions on clear business value outcomes and solid justifications rather than personal biases. Here are a few examples to illustrate this:
Embracing Cloud-Native Solutions: When transitioning to the cloud, organisations may be biased towards using familiar tools they have been using for on-premises infrastructure management. However, this may not fully utilise the advantages of cloud-native tools and services. It is important to assess the compatibility of the selected tool for the cloud environment and explore other optimised options that are suitable for cloud operations.
Making Informed Decisions: When selecting a cloud provider, factors such as pricing, performance, features, support, and enterprise power should be evaluated. The decision should be supported by evidence and justifications demonstrating how the chosen provider aligns with the organisation’s goals. For example, Azure may be a suitable option if an organisation heavily relies on Microsoft technologies and requires seamless integration with existing Microsoft products. On the other hand, if the organisation values a seamless and intuitive interface and services that align with AWS’s offerings, then AWS may be a more suitable choice. However, it is important to make decisions based on solid evidence and clear justifications that align with the organisation’s overall objectives. Similarly, the decision should be driven by clear business outcomes when determining the cloud strategy, whether it is a multi-cloud or single-cloud approach. Each approach should be evaluated for its benefits and drawbacks, and the chosen strategy should be justified based on evidence and its potential impact on achieving desired business outcomes.
By prioritising the operating model changes before actual see vices transitions , organisations can set a strong foundation for successful cloud adoption and maximise the benefits of the cloud.
In Conclusion
When transitioning to the cloud, organisations should consider key factors such as misaligned operating models and choosing the right service model. It is important to foster collaboration between all different business units, implement agile methodologies, and promote a DevOps culture.
Additionally, organisations should assess their architecture needs and gradually transition on-premises services into the cloud after gaining experience with the cloud. By making informed decisions and embracing cloud-native architecture, organisations can successfully navigate the transition and unlock the benefits of the cloud.
Leave a Reply