In this post we show a couple of options when it comes to a cloud
deployment model. Depending on the needs of your organization some
options may suit you better than others.
A private cloud is cloud infrastructure that only members of your organization
can utilize. It is typically owned and managed by the organization itself and
is hosted on premises but it could also be managed by a third party in a secure
datacenter. This deployment model is best suited for organizations that deal
with sensitive data and/or are required to uphold certain security standards by
- Organization specific
- High degree of security and level of control
- Ability to choose your resources (ie. specialized hardware)
- Lack of elasticity and capacity to scale (bursts)
- Higher cost
- Requires a significant amount of engineering effort
Public cloud refers to cloud infrastructure that is located and
accessed over the public network. It provides a convenient way to
burst and scale your project depending on the use and is typically
pay-per-use. Popular examples include Amazon AWS,
Google Cloud Platform and Microsoft
- Cost effective
- Ease of use
- Shared resources
- Operated by third party
- Less secure
This type of cloud infrastructure assumes that you are hosting your system both
on private and public cloud . One use case might be regulation requiring data
to be stored in a locked down private data center but have the application
processing parts available on the public cloud and talking to the private
components over a secure tunnel.
Another example is hosting most of the system inside a private cloud and having
a clone of the system on the public cloud to allow for rapid scaling and
accommodating bursts of new usage that would otherwise not be possible on the
- Cost effective
- Balance of convenience and security
- Same disadvantages as the public cloud
This option is a variant of the hybrid cloud but we refer to it when we mean
"using multiple public cloud providers". It is mostly used for mission critical
systems that want to minimize the amount of down time if a specific service on
a particular cloud goes down (e.g., the S3 outage of 2017 that took down a lot
of web services with it). This option is arguably the most advanced option and
sacrifices convenience for security and reliability. It requires significant
expertise and engineering effort to get right since most platforms vary widely
between the type of resources and services that they provide in subtle ways.
When chosing a cloud deployment model weigh the advantages and disadvantages of
each option as it relates to your business objectives.
If you liked this post you may also like: Introduction to DevOps on AWS Gov Cloud
Subscribe to our blog via email
Email subscriptions come from our Atom feed and are handled by Blogtrottr. You will only receive notifications of blog posts, and can unsubscribe any time.
Do you like this blog post and need help with DevOps, Rust or functional programming? Contact us.