This is a continuation of an article that describes operational considerations for hosting solutions on Azure public cloud.
There are several references to best practices throughout
the series of articles posted on the documentation for the Azure Public Cloud.
This article focuses on the antipatterns to avoid, specifically the cloud
readiness antipatterns.
Antipatterns are experienced when planning a cloud
adoption. Misaligned operating models can lead to increased time to market,
misunderstanding and increased workload on IT departments. Companies choose the
wrong operating model when they assume Platform-as-a-service decreases costs
without their involvement. Sometimes change of direction in business can lead
to radical changes in architecture requiring replacement projects which can
become complex and cost intensive.
A model articulates types of accountabilities, landing
zones and focus and the company chooses a model based on strategic priorities
and scope of its portfolio. When we assign too much responsibility to a small
team, it may result in slow adoption journey. Such a team is burdened to
approve measures only after fully understanding the impact on the business,
operations and security and it could be worse if these aren’t the teams’ main
area of expertise.
Cloud readiness antipatterns are those that are
experienced during the readiness phase of cloud adoption.
Assuming released services are ready for production is
the first cloud readiness antipattern we discuss.
Services age over time. Not all services are mature.
Preview services cannot keep up with a Service-Level Agreement (SLA). New
services are unstable. When organizations are satisfied that a new or preview
service fits their use case, they take a huge risk on the guarantees an SLA
provides. This might lead to unexpected downtime, disaster recovery program,
and availability issues. When such things do occur, the perception is that this
is true for cloud services in general which is not the case and is even more
problematic.
Another antipattern is that all cloud services are more resilient
and available than those on-premises. Increased resiliency implies recovery
after failures and availability implies running in healthy state with little or
no downtime. It is true that cloud services offer these advantages but not all
of them follow suit. Even when services offer them, they might be offered at a
premium or an additional feature.
Take availability for instance and it depends on service
models like PaaS and SaaS or on technical architectures like load-balanced
availability sets and availability zones.
A single VM may be highly available, but it can still be a single point
of failure leading to a case when its downtime might cause the services that
are hosted to be in an unrecoverable state.
Another common antipattern is when cloud providers try to
make their internal IT department a cloud provider. It becomes responsible for
reference architectures while it is providing PaaS or SaaS to business units.
This antipatterns severely hampers usability, efficiency, resiliency, and
security. Sometimes IT is even tasked with providing monolithic end-to-end
services which results in an order for a fully managed cloud VM as a service
but IT controls who can access and use the entire platform and business units
don’t get to take full advantage of the cloud portal or get SSH or RDP access.
This kind of wrapper over cloud services which can be several and changing
frequently, does not lower the cost of release that business units want.
Instead, a mature cloud operating model such as centralized operations with
guardrails like governance can empower the business units.
Finally, the choice of the right model improves the cloud
adoption roadmap.
No comments:
Post a Comment