The Cloud Computing is an old idea that can be dated back to the sixties. Early mentions about the cloud are from J.C.R. Licklider who was responsible for enabling the development of Advanced Research Projects Agency Network (ARPANET) in 1969. But I would like to talk only about the current clouds that became popularity with Salesforce and Amazon Web Services (AWS).
In the very old days we had papers and abacus (the schoty / counting frame). Later we had mechanical computers. Later we had our mainframes and in the similar form we are still using them. But I will not talk about these subjects because the Wikipedia is smarter than me so if you are interested please continue to the History of computing hardware on Wikipedia.
In the old days we had our datacenter. When we needed to support more services we added more computers (servers) and other devices (storages, network devices, cables...). The problem was that a large number of our servers were not utilized and some of them were overloaded and it was a big issue to upgrade them during production. The other servers were badly configured because in order to save money we put a lot of roles into one operating system and we violated the basic pattern - one server, one role.
Virtualization gave us a great benefit how to save money. In virtual datacenter we finally started do things properly without worry that our designs would break our budgets.
- We can very quckly implement new VMs or new environments.
- We have separate file servers, databases, web servers...
- We are able to run tests on cloned production machines.
- We are able to move servers or whole environments from one datacenter to another or from one provider to another in a few minutes (hours).
- Our standalone root certification authorities were locked in the safe and I am not talking about the hard drives that we pull out from the physical server but I am talking about the whole virtual servers.
- An I can continue with the benefits in hundreds of the points...
But we also step into the problems.
- Now we have thousands of servers. Who will manage them? Do we have enough people?
- Lifecycle of the physical machine usually end with the old hardware or with the end of the support. But the virtual hardware do not rust.
- Who will upgrade the old OSs? Does the customer needs to do upgrade? Usually not... The customer demands the service and he does not care about the infrastructure. And that is the correct way. The customer should not be bothered with the details, if he is not interested.
What changed for the administrators in the virtual world?
You will be probably surprised but from my point of view nothing changed.
- You can install OS from media (physical disc or ISO) or the network. You can load sysprepped image (Ghost and others) or clone the sysprepped VM but this is still manual approach.
- You have to install a lot of applications or you can have a large collection of the prepared images that have to be created and updated in our repository again and again.
- You have to do the network configuration again and again.
- You have to connect storage again and again.
- It does not matter if you are connecting LUNs for the physical machines or for the virtual. It is similar.
Of course the virtual environment is giving us great flexibility. We can easily debug things (we can do snapshots in a second). We are able to do installations very quickly and usually we do not have to wait for delivery of our new servers or wait our the datacenter onsite guys that needs to do cabling and connect our expensive servers into the network. But from the management perspective it is still the same. It is only easier and faster but the processes did not change.
The cloud is the magic world that everybody wants. But what is the cloud?
- The cloud is a big buzzword. Now everybody is in cloud, everybody have own cloud and all services are provided from the cloud.
- You can buy a small NAS for you smart TV and there is a sign Build your own private cloud on the product package. But of course you will not have a cloud. You will have storage on the network and for example simple streaming server or torrent downloader but nothing more.
- In nineties all PCs were designated as multimedia and all servers had to provide multimedia. Later everything had to be virtual. Now everything have to use the cloud and all companies have to do Big Data Analytics.
- Cloud and Big Data are the current buzzwords. Do not be confused and get used to that. You (architects, admins) have to know the difference between the buzzword and the real stuff.
There are a lot of definitions of the real cloud. During the years I created my own simple definition and I will show you a few points that from my point of view are the most important parameters of the real cloud. But that does not mean that I am right. Trere is no strict definition of the cloud.
- Easy re-provisioning resources
- Easily and automatically upscale or downscale your IT requirements when required
- Peak-load capacity for any environment and any customer
- On-demand provisioning of resources
- Fine-grained environment and real-time provisioning
- Isolated environments that run on the same hardware
- Simplified deployment and the multiple customers (companies, internal divisions)
- Utilization and efficiency
- Power management and possibilitity to do automatic shutdown and startup of our hosts in order to save on electricity.
- On-demand services - customer just needs to push the button...
- Automated deployment, configuration and decommission according defined workflow
- Automated maintenance (patching)