Cloud computing
Cloud computing is the on-demand delivery of IT resources over the internet with pay-as-you-go pricing. Computing services, storage availability, etc. can be requested on-demand, rather than in advance. Additionally, these resources can be removed as needed.
Deployment models for cloud computing
Cloud-based deployment
- Run the entire application in the cloud
- Move existing applications to the cloud
- Create new applications in the cloud
This solution is useful to avoid building low-level hardware and software infrastructure on premises. For example, using AWS EC2.
On-premises deployment
- Deploy resources using virtualisation and resource management tools
- Use application management and virtualisation technology to increase the utilization of those resources
On-prem deployment, also known as private cloud deployment, relies on a model where we run our own data centres.
Hybrid deployment
- Connect cloud-based resources to on-premises infrastructure
- Integrate cloud-based resources with legacy IT applications
In this model we connect cloud resources to on-prem infrastructure. This may be useful when there are legacy applications that are better maintained on premises, or when regulations require data to remain on site.
Cloud compute benefits
By using cloud compute we are trading upfront expenses - such as data centres, physical servers, etc. - for a model of variable expenses that changes as our resource utilization fluctuates.
This allows us to avoid having to guess how much infrastructure capacity we require. Cloud computing allows the application to scale up and down as needed on demand.