List & explain the advantages & limitations of different deployment models in cloud computing.
Private Cloud
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.
Advantages:
- Organization specific
- High degree of security and level of control
- Ability to choose your resources (ie. specialized hardware)
Disadvantages:
- Lack of elasticity and capacity to scale (bursts)
- Higher cost
- Requires a significant amount of engineering effort
Public Cloud
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.
Advantages:
- Scalability/Flexibility/Bursting
- Cost effective
- Ease of use
Disadvantages:
- Shared resources
- Operated by third party
- Unreliability
- Less secure
Hybrid Cloud
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.
Advantages:
- Cost effective
- Scalability/Flexibility
- Balance of convenience and security
Disadvantages:
- Same disadvantages as the public cloud