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