Introduction to Cloud Development

In 1843, Ada Loveloace, Lord Byron’s daughter, used her skills as a mathematician to write the first computer program in the world for the computer invented by Charles Babbage. Those were the days when resetting switches and moving cables on the massive computers required herculean effort.

 cloud-development

Development has moved to the Cloud

Since the days of the early computer – Analytic Engine – we have come a long way. Today not only are servers are hosted in the cloud, but the application development platform too has undergone a radical change. Ten years back when you thought of information technology, you could neatly compartmentalize it into front-end and back-end. Today with next-gen technology platforms like the Salesforce App Cloud, things are so much simplified – and are so much easier – that the traditional paradigms are no longer valid.

Cloud Apps vs. Web Apps

Cloud development, is the next evolution from web applications. While both – web apps & cloud apps – allow users to connect and work online, cloud apps are marked by key capabilities like true multi-tenancy, elasticity, transparent upgrades, next-gen app dev tools, built-in support for integration, high availability, new architecture frameworks like components, micro-services and more.

While browsers are still the key interface for interaction, other interaction interfaces – natural user interfaces, devices and mobile apps – can all be exploited in a cloud app.

Misgivings about App Cloud

With business requirements in hand for my first project in Salesforce App Cloud, I remember wondering how to begin application development on the App Cloud.

From physical servers to abstract web services

Things would have been easier if Salesforce was my first brush with an enterprise application platform. However, having worked extensively in both J2EE as well as .NET environments where the discrete elements like database, programming language and servers are clearly identifiable, Salesforce Platform – which abstracts the concepts of servers & software in a set of services – seemed perplexing to me.

Adding to the confusion was the fact that Salesforce Platform is also referred to as SF1 Platform; SF1 also refers to the Salesforce Mobile app and developers seem to think that SF1 Platform is only for mobile development.

Common misconceptions

Many developers think of Salesforce Platform – App Cloud – as a simply consisting of tools with which they can customize Salesforce CRM, or at best create apps tailored for sales, contact management and such. I wondered if the App Cloud could support really complex business logic, scale to a large number of users and guarantee performance? Would the point & click UI tools limit me to creating a certain kind of apps only?

My “aha” Moment

I had these same misgivings about the capabilities of the Salesforce Platform (App Cloud) and it was certainly a revelation for me to see a legacy application for life sciences, created over a period of 3 years with a 17 member team – being redesigned in the App Cloud and go-live in 4 months with a 5 member team. I also came to see that there is a huge diversity in the kind of applications built on Salesforce Platform – ranging from IOTs, ERP systems, legal, financial, HR, telecom, life sciences and more.

Gartner mentions Force.com as the foremost leader in “Enterprise Platform as a Service” domain – and this is really a recognition of the scale and breadth of the framework.

Here are some examples of apps build on App Cloud (Salesforce Platform, Force.com & Heroku).

Real world examples of Apps built on App Cloud:

Force.com Customer Success Stories:   https://www.salesforce.com/customers/

Heroku Customer Success Stories:   https://www.heroku.com/customers

This blog series is an attempt to make things easy for you if you have such a project. In this blog I have examined App Cloud from a perspective of someone coming from traditional IT – I have noted the differences between the two worlds of .NET and App Cloud, as well as integration points.