In a project at work we are migrating a Lotus Notes based system to a cloud computing architechture called , which is a so-called 'Platform as a Service' (PaaS) system. So I am spending quite some time now to both get a grip of the cloud computing architecture in general and on the migration project. I will shortly present the cloud computing architecture and Salesforce from my perspective in this blog post and later on the migration experiences I have gotten so far from the work before the actual migration.
Cloud computing:
If you have not heard about this yet its time to start learning. The concept has been around for a while but is rather new to the big mass I would say.
The short definition from is:
| "Cloud computing is Internet-based ("cloud") development and use of computer technology ("computing"). The cloud is a metaphor for the Internet (based on how it is depicted in computer network diagrams) and is an abstraction for the complex infrastructure it conceals.[1] It is a style of computing in which IT-related capabilities are provided “as a service”,[2] allowing users to access technology-enabled services from the Internet ("in the cloud")[3] without knowledge of, expertise with, or control over the technology infrastructure that supports them." |
According to IEEE Computer Society:
| "It is a paradigm in which information is permanently stored in servers on the Internet and cached temporarily on clients that include desktops, entertainment centers, table computers, notebooks, wall computers, handhelds, etc." |
Several companies have started to build architectures for these types of clouds like SalesForce, IBM, Microsoft, Google, Amazon, Yahoo, Sun, AT&T, Intel, HP etc. and as far as I know more money are invested as this is considered to be a lucrative business and a very interesting option for many companies.
Salesforce:
If we take Salesforce as the example.
It is a platform-as-a-service system which means that the entire platform is hosted as a service on the Internet with all that comes with it like hardware, software, security, communication, backup, you name it. You pay for the user licenses and any additional help. It is scalable which means that you can go from 100 users of the system to 1,000,000 users seamlessly. They can handle pretty much any type of migration of data into Salesforce. The datamodel is built of objects and properties and has a predefined pretty large set of those. For instance there is a complete CRM-model.
You can administer the environment in a rather advanced way using only clicks. Salesforce also have their own language called - an on-demand development language, which is similar to Java or C#. You can install a plug-in to Eclipse to start using the and create applications in this language or queries to the system. The queries are created in a SQL-like way and a part of the web service calls.
Salesforce also have an extensive for integration with external systems. Either you can write the calls to these methods yourself or you can use the application that comes freely from Salesforce to import or export data. The only way to communicate with Salesforce is via web services so the data loader uses these and has its pros and cons. For example error- and session management is handled by default by data loader but has to be implemented in case you decide to create you own web service calls from any other source.
A company having its business critical system on the Internet platform don't have to care about new releases of the system. There are about three releases a year that you will hardly notice.
As you can probably tell by now I am pretty excited about this and at this moment almost only focusing about the good things. The things that I have seen that some people talk about as bad things are the fact that all of the
company's information resides on another Internet-based system and how secure this really is?
Another question is if you really save money by migrating a system here. You will still need administrators and developers and users. However you will as I have already said not need to maintain any hardware or software and you will most definately get a much better structure.
I intend to write more about different parts of this system as time goes by. Next I will cover data loader or at least the most important parts of it.