Ø Elasticity is one of the major benefits of moving to the cloud. What
it essentially means is that the servers can be scaled in or out as needed.
While the cloud offers both horizontal and vertical scaling of applications, it’s
the horizontal scaling feature that reaps major benefits. If elasticity is the
not a key concern, then the application readiness for cloud needs to be
evaluated as it could be a better fit to be managed on premise or on a hosted
solution.
Ø Most of the legacy application mainly scales vertically where the application
is dependent on core infrastructure and are tightly coupled with inhouse
hardware (low latency + high intensity, or high bandwidth) and specific software and technology stack. Moving such
applications to the cloud can create lot of complexities and can require lot of
rearchitecting. Also, moving such applications makes them look like a hosting
solution instead of a loosely coupled cloud solution.
Ø Modern cloud services rely mainly on databases which follow BASE properties,
(Basically available, soft state, eventual consistent transactions), and CAP theorem
(Consistency, Availability and Partition Tolerant) i.e. if the transactions
fail the data will become eventual consistent. Legacy applications are
typically monolithic, and the underlying data is mainly designed for ACID
transactions, (Atomicity, consistency, isolation, and durability), i.e.
transactions are not complete until the data is committed. Applications can get
complex to function in the cloud and make use of core cloud features if they
are not capable of meeting the goal of eventual consistency and Partition
tolerant.
Ø When moving application to the cloud another property that needs to
be evaluated is the aspect of application state. Cloud is suited well for an
application that is stateless, i.e. when the client is unaware of the state of
the server. Stateless applications are also easier to size and cache on the
cloud. If the legacy application is stateful, i.e. the application has lot of dependency
on infrastructure. It will get complex moving them to cloud considering the
different requirements around sizing, capacity planning, caching etc.
Ø If applications require lot of security and compliance, the
organizations also share responsibility with the cloud vendor for lot of IT management
if they are moved to the cloud. Organization not only need to maintain adequate
governance but also are responsible for meeting the required compliance and
audit standards. While most of the major cloud vendors do provide increase IT security including
Intrusion Prevention Systems, Web application firewalls, Runtime application self-protection,
converged application performance and security monitoring, botnet and DDoS mitigation
mechanisms to meet the regulatory standards. Moving
such applications to cloud can be more of a hassle in terms of management,
quality adherence, maintenance etc than keeping them inhouse.
Ø Connectivity and Interoperability
is another key consideration when deciding to move applications
to the cloud. Every major cloud provider does have the ability to either
connect directly or via a virtual private network. But this requires organization
to cover up all the critical loopholes for such connections in the targeted and
dependent applications. This can be a very tedious task and can lead to several
challenges if the organization is not ready.
No comments:
Post a Comment