Professional Documents
Culture Documents
Iaas:
A vendor provides clients pay-as-you-go access to storage, networking, servers and other computing
resources in the cloud.
Paas:
A service provider offers access to a cloud-based environment in which users can build and deliver
applications. The provider supplies underlying infrastructure.
Saas:
A service provider delivers software and applications through the internet. Users subscribe to the
software and access it via the web or vendor APIs.
Public Cloud
Public clouds are the most common way of deploying cloud computing. The cloud resources (like
servers and storage) are owned and operated by a third-party cloud service provider and delivered
over the Internet. With a public cloud, all hardware, software, and other supporting infrastructure is
owned and managed by the cloud provider. In a public cloud, you share the same hardware, storage,
and network devices with other organizations or cloud “tenants.” You access services and manage your
account using a web browser. Public cloud deployments are frequently used to provide web-based
email, online office applications, storage, and testing and development environments.
Lower costs—no need to purchase hardware or software, and you pay only for the service you
use.
Private Cloud
A private cloud consists of computing resources used exclusively by one business or organization. The
private cloud can be physically located at your organization’s on-site datacenter, or it can be hosted by
a third-party service provider. But in a private cloud, the services and infrastructure are always
maintained on a private network and the hardware and software are dedicated solely to your
organization. In this way, a private cloud can make it easier for an organization to customize its
resources to meet specific IT requirements. Private clouds are often used by government agencies,
financial institutions, any other mid- to large-size organizations with business-critical operations
seeking enhanced control over their environment.
More flexibility—your organization can customize its cloud environment to meet specific
business needs.
Improved security—resources are not shared with others, so higher levels of control and
security are possible.
High scalability—private clouds still afford the scalability and efficiency of a public cloud.
Hybrid cloud
Often called “the best of both worlds,” hybrid clouds combine on-premises infrastructure, or private
clouds, with public clouds so organizations can reap the advantages of both. In a hybrid cloud, data and
applications can move between private and public clouds for greater flexibility and more deployment
options. For instance, you can use the public cloud for high-volume, lower-security needs such as web-
based email, and the private cloud (or other on-premises infrastructure) for sensitive, business-critical
operations like financial reporting. In a hybrid cloud, “cloud bursting” is also an option. This is when an
application or resource runs in the private cloud until there is a spike in demand (such as seasonal event
like online shopping or tax filing), at which point the organization can “burst through” to the public cloud
to tap into additional computing resources.
Flexibility—you can take advantage of additional resources in the public cloud when you need
them.
Cost-effectiveness—with the ability to scale to the public cloud, you pay for extra computing
power only when needed.
Ease—transitioning to the cloud doesn’t have to be overwhelming because you can migrate
gradually—phasing in workloads over time.
Cloud Migration:
Advantages:
Risks:
1. If your application stores and retrieves very sensitive data, you might not be able to maintain it
in the cloud. Similarly, compliance requirements could also limit your choices
2. If your existing setup is meeting your needs, doesn’t demand much maintenance, scaling, and
availability, and your customers are all happy, why mess with it?
3. If some of the technology you currently rely on is proprietary, you may not be legally able to
deploy it to the cloud
4. Some operations might suffer from added latency when using cloud applications over the
internet.
5. If your hardware is controlled by someone else, you might lose some transparency and
control when debugging performance issues.
6. Cloud platform or vendor lock-in: Once in, it might be difficult to leave or move between
platforms.
7. Downtime. It happens to everyone, but you might not want to feel like your availability is
controlled by someone else
1. Analyze application for improvements before migration. If not done, then it is like just
transferring the application issues to the cloud
2. Forgetting business analysis on what benefits it will bring
3. Underestimated costs and times (for migration projects)
4. Provide required trainings on the cloud services
5. Use cloud services for improved application availability and scalability, can move beyond the lift
and shift stage
AWS CAF – Cloud Adoption Framework provide guide to the organizations to design for a successful
cloud adoption. They are the proven business tools and remove the heavy lifting with migration
planning
Assessing applications for a cloud migration
Some traditional applications are so complicated and tightly coupled that customers might not be willing
to rework it. However, the foremost requirement for any successful migration is that the app should
follow a distributed architecture and should be scalable by design. Tools like PaaSLane and Cloudamize
can help you assess your applications’ cloud-readiness. AWS’s Migration Hub service is a one-stop-shop
for everything you might need tool-wise to discover and assess your application’s readiness for cloud
migration.
Integration complexity
Every application has its integration points, such as payment gateways, SMTP servers, web services,
external storage, and third-party vendors. It’s very important to analyze the impact your cloud
migration will have on those dependencies. Sometimes you will experience unexpected connectivity or
authentication challenges that you should identify and solve upfront. The most critical (and tedious) task
is to identify all of those integration points. Since older applications might be poorly documented and
the developers familiar with the end-to-end functional and non-functional details may no longer be
available, you might have to go through each module manually. The task gets complicated if you’re
considering migrating hundreds of applications currently running in your data center.
Many of these issues can be addressed through a combination of the familiarity your team has with the
apps and an asset discovery tool (either open source or commercial). An asset discovery tool can help
you identify entire server configurations within a network, along with connectivity details. For example,
say that you have a data center within a network that is hosting around 100 applications. A discovery
tool can give you the bird’s eye view of the entire system. It can also provide granular details that can be
helpful for a general capacity management assessment.
Some of the better-known asset discovery tools include BMC Atrium and HP
DDMA. Cloudamize provides a tool that can perform automated discovery of applications and machines,
and additionally perform automated application dependency mapping to discover dependencies
between applications.
Once you have decided on cloud migration, it’s important to know whether you will be able to deploy
your applications on the same OS. Your applications may only run on a specific OS (or OS release). If it’s
not compatible with your cloud provider, then you need to find a workable substitute OS, a different
cloud provider, or simply give up the whole project. For instance, most cloud providers don’t provide
32-bit OS options and others might have unexpected subscription requirements. It’s best to do your
research in advance.
A database is obviously a critical part of any application. Customers invest a great deal on database
servers and often, licenses. Moreover, given the complexity and sensitivity of your data, you just might
not want to move it right now: migrating petabytes of data is no trivial undertaking. In either case, you
should make sure that the migration methods you use are highly reliable and come with the possibility
of rollbacks to deal with any unexpected chaos.
Network
Most cloud environments don’t support multicasting, so if your application relies on multicast, then I
would say, “think twice.”
Cost comparison
Many cloud providers have pricing calculators that can help you to estimate the real costs you’ll face
after a cloud migration vs. your current costs. AWS TCO (Total Cost of Ownership) calculator and Azure
Pricing Calculator are two options. Cloudamize allows you to compare TCO across AWS, Azure, and
Google Cloud Platform (GCP), so you can decide which option is the best fit based on your current
application workload profiles.
Proof of concept
It’s always a great idea to build a small proof of concept (POC) before you actually migrate your
workload to the cloud. I know such models won’t anticipate all possible issues, but it will give you
greater clarity and understanding about the challenges you may face. Some of the things you should
look for during your POC include: