Introduction:
Information technology is based mainly on hardware, software and how they interface. Traditionally we used to have hardware that was bought to the site, home or data centers as per the requirements. For-e.g.: For a web server a company would invest on a Server machine with the requirements of the number of users and expected coverage of the website. The components would include the Motherboard, CPU, Memory, Storage, GPU (according to requirement).
The next step was to purchase the required softwares. This starts from the OS – Windows/Linux/Unix/any other. Then comes the working softwares like MsSQL, MySQL, Postgres SQL, Maria DB etc. for databases; Apache, IIS, etc. for web servers; Java or .Net runtime environments for testing and development; or the basic softwares such as photoshop, office suites, premier pro, etc. for photo, document and video editing.
How the software usually works is that it requires the hardware to be compatible to the Operating Systems and the Operating system to be compatible to the applications installed on them.
The above way of dealing with things was not only tedious, but also expensive as it usually had to be done as per estimates for upscaling.
Private Cloud
This issue was resolved with the introduction of Virtual machines. This was the start of cloud computing as we know it today. Here too, the companies invest in hardware and software, but one server/machine could host more than a single interface for the users. For-E.g.: A company purchases a Server and installs Hyper-V or VMware on them which can then use the server components to create multiple Virtual machines with the flavor of OS that is required. This type of cloud is called Private cloud, where the server host is on site and is managed by the company that owns it.
The Private cloud is secure as it is controlled by the organization that owns it. But it also means an increase in the costs of purchasing the Hardware and software, trained professionals to manage them, etc. It has flexibility restricted to the purchased hardware limits and anything above that means a purchase must be made to upgrade the setup, which involves extra effort, money and time.
Public Cloud
Unlike Private Clouds the Public clouds are owned and operated by a third-party cloud service provider such as Amazon, Microsoft, Google, etc. and are delivered over the Internet. With a public cloud, all hardware, software and other supporting infrastructure is owned and managed by the cloud provider. It is highly scalable, has lower costs due to the pay-as-you-use structure and is also highly reliable as the vast network of servers are used for failsafe. The issue here though is that the servers use shared infrastructure – that means that like in the case of private cloud where multiple virtual machines for the same organization shared the same base hardware, here multiple organizations could share the same base resources. This could lead to security issues and that is a concern that most organizations have with the public cloud, despite the advantages.
Hybrid Cloud
This can be called the best of both worlds. It is a combination of public and private clouds. This solves the issues of both. The public cloud can be used for scalability and cost effectiveness for high volume and lower security needs, while the private cloud can be used for low latency, sensitive, business critical needs.
Types of Cloud Services offered:
They fall into four broad categories: infrastructure as a service (IaaS), platform as a service (PaaS), serverless and software as a service (SaaS). They are built one on top of one another and are sometimes called the cloud computing stack.
Infrastructure as a service (IaaS)
The lowest or basic category of cloud computing services. It is basically renting of servers or virtual machines, storage, networks, operating systems—from a cloud provider on a pay-as-you-go basis. E.g.- Virtual Machines on VMware, eC2 instances on AWS.
Platform as a service (PaaS)
Next level is Platform as a service that supply an on-demand environment for developing, testing, delivering and managing software applications. PaaS is designed to make it easier for developers to quickly create web or mobile apps, without worrying about setting up or managing the underlying infrastructure. E.g.- AWS Elastic Beanstalk, Google App Engine, Apache Stratos.
Serverless computing
It overlaps its functionality with PaaS. Serverless computing focuses on building app functionality without spending time continually managing the servers and infrastructure required to do so. are highly scalable and event-driven, only using resources when a specific function or trigger occurs. E.g.- AWS Lambda, Fauna DB Cloud.
Software as a service (SaaS)
The final level of the stack is a method for delivering software applications over the Internet, on demand and typically on a subscription basis. Cloud providers host and manage the software application and underlying infrastructure. They also handle any maintenance, like software upgrades and security patching that is required to keep the software stable. E.g.- Google Apps, Microsoft Office 365.
Comentarios