Cloud computing is used a lot these days. Many times people are referring to totally different concepts. When mentioning it, however, there is definitely a disconnect or a lack of understanding of what this means. I will clear some things up and give a good overview of what we are talking about when we say "cloud computing".
Table of Contents
Cloud computing really boils down to a few different concepts and their variations. These few concepts are usually cloud servers that end up running services for businesses or home users. For example, you can pay a monthly fee for a cloud server and install whatever you want on it. Many people will install an operating system on it and run apps that do whatever you need. The differences in these cloud systems are how much the user has to maintain. Lets get into some specifics.
Software As A Service
A user will consume a service which is often through a web interface. This is a very popular method of delivery because everyone can use a browser. Examples that are often hosted on a cloud server are email, inventory systems, pbx's, and documentation apps. The user of these apps do not control anything and just use the software they need. There is often a subscription in place that customers will have to pay for in order to use some software. Everything is hosted by the people that sell the subscription. This software as a service has been around a long time as it can be traced back to the 60's-70's era. As our technology has advanced and computers have become more ubiquitous, cloud computing has become more popular.
Platform As A Service
This model of cloud consumption allows users to install apps or services onto the hardware and control its network topology to some degree. This could be something that is created by the user, bought through a third party, or something open source and free that was downloaded. Linux is a popular example here as it is usually installed onto cloud hardware. From there you can host a web server or a database. The user will have control over the application or software he installs but none of the hardware. Developers have this space in the cloud to create their applications for business or personal use. It was a huge factor in the increase of developer careers.
Infrastructure As A Service
This cloud computing model is where the user has the most control. They can install software and configure it. Storage and networking components are also configurable by the user. They still do not control any of the physical hardware because that will be in a remote location most likely. One of the great things about this model is that it can scale quickly, up or down. If you write an app that becomes very popular overnight, you can add more resources in just a few minutes in order to maintain functionality for your customers.
The hardware that provides cloud computing to a specific business unit is often considered a Private cloud. This is one or more servers that provide services in one of the categories I talked about above. This Private cloud can provide apps and services. The hardware can be located on site of your organization or at another location. This is a more secure solution than having your data sit on the internet somewhere as more effort is needed to keep it safe. It can be done but if you have the option this is often the best way.
This is another stack of hardware except it is available for public use. There will be systems and processes set up to allow public consumption of certain services. Email falls into this category as anyone can sign up for a cloud or hosted solution. Once you sign up you can start getting email. So, a third party person or business can offer their computing power for a subscription. Their platform is open to all and anyone can sign up to use these resources. A public cloud is a good way for business to save money as they will not have to purchase the hardware.
As you can imagine this is a combination of the previous types of Cloud we have discussed. However, to be a hybrid cloud computing model it must allow app to be portable between the different services. It is most often a mix of private and public models. The applications hosted here are almost always shared. Businesses only pay for the resources they need which is great for both parties.
Ah virtualization, one of my favorite topics. I could write and write about this. It is ever changing and just as important. It is what makes cloud computing possible. When you virtualize, you can do it two different ways. The first way is from within an operating system and this is called a type 2 hypervisor. This type 2 hypervisor is reliant on the operating system. The other way to virtualize is outside of the operating system which is on the host hardware itself. Other named include bare metal and type 1. Type 1 is superior to type 2 because of performance, reliability, and features. The drawback is that it takes more knowledge. The host is where a hypervisor runs and the resultant virtual machines you create are called guests.
Virtualization allows you to use your system's resources very efficiently. You can actually get close to to using it all without performance degradation.
Software Defined Networking
Everything we have talked about is software based. Software defined networking is no exception. This software controls every aspect of your network and to a greater degree than would be possible otherwise. Understand that the whole reason you use software defined networking is to make your network more efficient. This happens by grouping same network functions into some software which makes it easier, quicker, and less error prone to complete.
Storage Area Networks
All computers, services, and clouds need storage. A storage area network is, in simple terms, a network of storage devices. They are considerably expensive and can be hard to maintain. Lets be more precise, however. It is typically high speed storage because you want as little latency as possible. Storage area networks provide block level storage for it to be available to the systems that need it. The end user will see it as locally attached storage. They will increase your storage speed and application performance if they rely on storage. Fibre channel is used because of its speed.
SCSI devices have been around a long time. I built a computer a long time ago with chained SCSI hard drives together. It was a great technology then and it still is now. Since it has just evolved, iSCSI is the language of storage and is how storage technology communicates with other similar devices. ISCSI stands for internet small computer systems interface. It is a storage protocol that works in conjunction with TCP/IP. Administrators use it to connect computing devices to network storage. You can use it with a San, Nas and any type of hard drive.
Network Attached Storage
Cloud computing storage does not get more simple than this. If a storage area network is out of your budget then buy or build network attached storage. This can be a simple unit that is bought or it can be an old computer set up for storage with a relevant operating system. Network attached storage is a file level storage model. Networking it will get the most functionality out of it and will support many devices. You will buy a Nas with a certain amount of storage but increasing storage is as easy as adding a larger drive. A Nas is easy to set up because it will not have a full fledged operating system installed.