Cloud computing is delivering various services over the internet from an external vendor.
In traditional way, if you need to host an application in a server, you have to raise request to your finance team to process billing for the hardware. After the hardware is delivered, it again takes lot of time to mount it and bring the server live. Then you may take time to install the application.
With cloud computing, you can get a server or storage, etc from vendor instantaneously, with the ability to increase and decrease resources based on the needs. You can work on installing the application within a day or less because everything is already available with the vendor. You just have to pay for what you use.
For any one-time requirement, if you need more resources like servers, storage, etc, you can get them for a month or two and release them once your requirement is over. This would be very difficult if you have servers on-premises.
Instead of running your own physical infrastructure, you can pay to cloud vendors and use the required resources right away. This may cost you for using those services but eliminates maintaining the server in your data center. If you look from a bigger perspective, you can move all your servers from your data center to cloud which can reduce power, cooling, and space (for your data center). In addition, you also get support from those vendors 24X7.
Some of the main characteristics of cloud are:
- Highly Available
Capital Expenditure (CapEx): Spending money on physical infrastructure before you start anything Or, amounts spend by companies to purchase physical goods that will be used for a long time (more than a year).
Operational Expenditure (OpEx): You use a service or product and then pay for it according to your usage Or, Amount spent to run day-to-day operations in a company. Ex, using cloud resources and paying them monthly or hiring a team member for day-to-day activities in a team.
Private, Public and Hybrid Clouds:
Private clouds are hosted within your organization. Your organization is responsible for maintaining the whole life cycle of that cloud like, updating the hardware (if any) OS updates, maintenance, high availability, etc. You will have total control and security on the resources but CapEx is necessary as you need to purchase initial hardware. Not as agile as a public cloud and you will be responsible for any maintenance needed. Hardware is not shared with any other organization. Private Cloud is good option if you have compliance issues.
With public cloud, your cloud provider maintains the entire infrastructure/resources. Services in public cloud are accessed over the internet. All the tasks like updating the OS, any maintenance, high availability, etc are maintained by your cloud provider. You do not maintain them. Hardware is shared between different organizations. No upfront costs are needed, no maintenance needed, very agile and it is consumption-based model. You may have to think about security, compliance, and ownership of the resources.
A hybrid cloud is a cloud environment with both private and public clouds. If you have legacy apps or because of any legal restrictions, if you need an application to be on-premises you can use private cloud. If not you can use public cloud. This is the benefit of hybrid cloud, but it may be expensive as you have to purchase both environment resources. You can still maintain control and security over private cloud. You can always look in other cloud services if something fails in the one you are in. For example, if security is a problem in the public cloud for the application you need, you can go with the private cloud as it is hosted on-premises. Hybrid cloud is flexible and agile, can save costs with private cloud, you will have control, security, and compliance.
Azure is one of the public cloud provider.