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 various regulations.
- 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 Azure.
- 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 private cloud.
- 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 ( Popular example is the great 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.