I had heard of the term Cloud-Computing before, and some years ago even worked myself in the migration of our own CPDs located at different countries into a unique one, but it's now, when once again the term comes to me strongly and seems to be here to stay, since I'm currently working in the decentralisation of my company's CPD with the aim of make it available on the Cloud (Net). To do so, we have currently a unique CPD, and our architecture and infrastructure teams are working on a step-by-step approach to take parts of the hardware and software "up in the Cloud".
In order to introduce you and to freshen up these new concepts to myself, I will write down a brief definition of them:
IaaS - Infrastructure as a Service. With this approach, you rent infrastructure to a provider of the service (in our case, we are considering signing up with Amazon). You only pay for the use of the service, and you, as a company, get support to the infrastructure rented, according to any SLA (Service Level Agreement), capacity, availability and any other parameter that both parties consider relevant.
PaaS - Platform as a Service. This is a step ahead in the approach, since apart from signing up to an infrastructure, your provider will also support your base software (be it database engines, O.S., etc.). Similarly, it may be clinged to a SLA agreed by both parties.
SaaS - Software as a Service. And a step even further, meaning that you sign up for a support to the software installed in the platform, regarding any software and application user-oriented. No need to say that it may be also working under a SLA.
What do we expect?
- Budget: well, so far, it seems clear that CAPEX will reduce drastically, since investment in capital assets will go down significantly. All OPEX seem to keep their current level of spending.
- Access: since applications and servers are located on the Cloud, it is completely indifferent for users and technicians to know the physical location of infrastructure. Access may be considered ubiquituous and connection among different platforms is easy to achieve
How do I get to it?
- First of all, you need to define your needs (a well-defined capacity plan is important, quality of service, availability, end-user support, as well as platforms and technologies you want to work with, etc.)
- Analyse current costs against the costs you will be incurring in the future if the Cloud option is to be adopted
- Define a SLA sufficient as to keep all users satisfied and avoid skyrocketing OPEX costs
Ok, I want to go for it, what's the physical appearance of it all?
- Infrastructure can be virtually located anywhere, since no matter where it is installed, your teams will always be able to access their applications. You just need to create virtual machines (think of it as of a physical server you may have now in your CPD). The virtual machine may consists of databases, clusters, disks, CPUs, applications, message queues and so on; creating HA (High Availability) servers is as easy as genearting two virtual machines, one of them active and other passive, taking over the service as soon as something goes wrong in the active node
- Virtuality means that storage can also be spread throughout different locations, and thus being safer
- HPC. And if your company needs a High Performance Computing solution, going to the Cloud will mean just the right option to consider
You can learn more at http://en.wikipedia.org/wiki/Cloud_computing and read about IaaS, PaaS and SaaS at http://en.wikipedia.org/wiki/Cloud_computing#Service_Models and to read about Amazon Cloud Computing services, please go to http://aws.amazon.com/es/ec2/