Cloud computing is renting resources, like storage space or CPU cycles, on another company’s computers. You only pay for what you use. The company providing these services is referred to as a cloud provider. Some example providers are Microsoft, Amazon, and Google.
The cloud provider is responsible for the physical hardware required to execute your work, and for keeping it up-to-date. The computing services offered tend to vary by cloud provider. However, typically they include:
- Compute power – such as Linux servers or web applications
- Storage – such as files and databases
- Networking – such as secure connections between the cloud provider and your company
- Analytics – such as visualizing telemetry and performance data
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:
- Up to date
- Globally Available
Economies of scale is the ability to do things more efficiently or at a lower-cost per unit when operating at a larger scale. This cost advantage is an important benefit in cloud computing.
Capital Expenditure (CapEx): CapEx is the spending of money on physical infrastructure up front, and then deducting that expense from your tax bill over time. CapEx is an upfront cost, which has a value that reduces over time Or, amounts spend by companies to purchase physical goods that will be used for a long time (more than a year).
Operational Expenditure (OpEx): OpEx is spending money on services or products now and being billed for them now. You can deduct this expense from your tax bill in the same year. There’s no upfront cost. You pay for a service or product as you use it 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 Cloud: 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.
This approach has several advantages:
- You can ensure the configuration can support any scenario or legacy application
- You can control (and responsibility) over security
- Private clouds can meet strict security, compliance, or legal requirements
- Economies at scale and integration with Azure Security Center
Some reasons teams move away from the private cloud are:
- You have some initial CapEx costs and must purchase the hardware for startup and maintenance
- Owning the equipment limits the agility – to scale you must buy, install, and setup new hardware
- Private clouds require IT skills and expertise that’s hard to come by
Public Cloud: 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, highly scalable and it is consumption-based model. You may have to think about security, compliance, and ownership of the resources. You have no local hardware to manage or keep up-to-date – everything runs on your cloud provider’s hardware.
- High scalability/agility – you don’t have to buy a new server in order to scale
- Pay-as-you-go pricing – you pay only for what you use, no CapEx costs
- You’re not responsible for maintenance or updates of the hardware
- Minimal technical knowledge to set up and use – you can leverage the skills and expertise of the cloud provider to ensure workloads are secure, safe, and highly available
A common use case scenario is deploying a web application or a blog site on hardware and resources that are owned by a cloud provider. Using a public cloud in this scenario allows cloud users to get their website or blog up quickly, and then focus on maintaining the site without having to worry about purchasing, managing or maintaining the hardware on which it runs.
Not all scenarios fit the public cloud. Here are some disadvantages to think about:
- There may be specific security requirements that cannot be met by using public cloud
- There may be government policies, industry standards, or legal requirements which public clouds cannot meet
- You don’t own the hardware or services and cannot manage them as you may want to
- Unique business requirements, such as having to maintain a legacy application might be hard to meet
Hybrid Cloud: A hybrid cloud combines public and private clouds, allowing you to run your applications in the most appropriate location. For example, you could host a website in the public cloud and link it to a highly secure database hosted in your private cloud (or on-premises datacenter).
This is helpful when you have some things that cannot be put in the cloud, maybe for legal reasons. For example, you may have some specific pieces of data that cannot be exposed publicly (such as medical data) which needs to be held in your private datacenter. Another example is one or more applications that run on old hardware that can’t be updated. In this case, you can keep the old system running locally, and connect it to the public cloud for authorization or storage.
Some advantages of a hybrid cloud are:
- You can keep any systems running and accessible that use out-of-date hardware or an out-of-date operating system
- You have flexibility with what you run locally versus in the cloud
- You can take advantage of economies of scale from public cloud providers for services and resources where it’s cheaper, and then supplement with your own equipment when it’s not
- You can use your own equipment to meet security, compliance, or legacy scenarios where you need to completely control the environment
Some concerns you’ll need to watch out for are:
- It can be more expensive than selecting one deployment model since it involves some CapEx cost up front
- It can be more complicated to set up and manage
Azure is one of the public cloud provider.