In some of my previous posts, I focused on the opportunities for Salesforce Business App Developers and Salesforce Integration Developers. In this post, we’ll explore the key applications that extend the Salesforce cloud platform. We will also explore some opportunities for developers with an interest in application development and maintenance within business and technical domains.
Many developers new to Salesforce have difficulty understanding the relationship between the various Salesforce Clouds and Salesforce Apps. As a result, they are often confused about how they associate across the platform landscape. So, let’s clarify.
The Salesforce platform is more complex than a single multi-tenant cloud architecture hosting multiple applications. It has grown over 20 years with more than 60 acquisitions to incorporate multiple technology stacks and extension applications. Although marketed as a collection of ‘clouds’ segmented as business application domains, developers can view Salesforce as a multi-dimensional system landscape, where a variety of applications are deployed on a collection of cloud-based tech stacks.
In general, the platform contains the core CRM and supporting extension apps, separate but complementary products owned by Salesforce, and ISV apps. Let’s look at each one.
It begins with the original core Salesforce multi-tenant, metadata-driven cloud architecture supporting the core applications focused on Sales, Service, and Customer Relationship Management.
Additionally, there is an ever-expanding collection of extension apps and industry-specific verticals to install as packages of metadata and resources. These are easily deployed to any Salesforce org, downloaded from the AppExchange, installed by Salesforce when licensed, or simply built and distributed informally by developers. These core apps and the addition of the extension apps make up the core of Salesforce.
Over time, Salesforce has acquired separate, but complementary products that add features and capabilities for its growing customer base. While some of these products augment or replace existing functionality, others add new functionality.
Some of these acquisitions were built on the core platform and can be purchased from and installed by Salesforce. Other products remain on independent non-core technology stacks. Although products on the core cloud stacks have direct access to a customer’s Salesforce data and logic, products on non-core stacks must use APIs and connectors to integrate with the core stack (unless they are integrated with and directly available in a Salesforce org when licensed, such as with some Einstein AI and Analytics capabilities).
Finally, the overall platform is supported by a large ecosystem of partner Independent Software Vendors (ISVs). These can be one-person shops or large technology companies, and many products begin as an innovative extension app to support Salesforce customers. They can grow over time into a full-blown product that can be purchased independently by the customer directly or from the AppExchange. The core platform’s metadata architecture provides growing opportunities for developers.
In this section, I will catalog and summarize key aspects of each product domain. I will also note when the product is core to the original multi-tenant architecture or if it is a separate technology stack. This can be an important distinction as the applications that reside on the core cloud architecture can leverage a similar set of acquired developer skills. Other cloud products on non-core stacks typically require additional skills and product- or platform-specific knowledge.
So let’s look at several domains to see which ones best fit your skills:
- Core sales, service, and app clouds
- Industry-specific verticals
- Salesforce CRM extensions
- Analytics and data science
- Web and mobile apps
- Collaboration tools
First, let’s discuss the original stack. These cloud applications are core to the original multi-tenant stack mentioned above. They incorporate the Sales Cloud and Service Cloud CRM applications, plus custom business applications built on the App Cloud as discussed in my previous post. This is also where we can add extension applications to enhance the out-of-the-box functionality.
Next, we can license a series of industry-specific vertical applications that shape a Salesforce org to support various business domains. If you are interested in one of these domains, this would be a great entry point into Salesforce.
For example, the Financial Cloud supports financial services to manage client wealth.
The Health Cloud supports doctor-to-patient relationships, establishes patient profiles integrating information from multiple data sources, and exposes private communities leveraging Community Cloud.
The Education Cloud (part of the Nonprofit Cloud) allows a package installation of a customized architecture called Education Data Architecture (EDA) designed to configure Salesforce out-of-the-box to support Education use cases. An additional Nonprofit Cloud package installation (the Nonprofit Success Pack or NPSP) configures Salesforce out-of-the-box to support nonprofit business models.
While Salesforce markets these and other vertical extension applications as separate ‘clouds’, they are installed into core Salesforce orgs. This means that developers with Salesforce development skills can customize them, and choose to work with whichever domain interests them personally.
These packaged products are examples of how the core platform can be extended. They also reinforce the point that any developer can strike out on their own in the ecosystem as an ISV, and build the next great, innovative vertical application or product extension to market to customers.
Salesforce CPQ (Cost-Price-Quote acquired from SteelBrick) is a great example of an app that extends similar built-in core capability. This product also shows off a sophisticated Lightning Web Component user interface with performant client-side processing, allowing for very complex price quoting creation and management far exceeding core CPQ capability.
Maintaining its customizations requires a substantial amount of configuration as well as complex deployment processes to properly migrate configuration data and metadata from sandbox to production environments. Developers with strong technical DevOps skills will benefit any customer implementing this product. Although there are not many programmatic customization opportunities within the extension package, because it is installed into a core Salesforce org, there are ways to further augment it with Apex and Lightning Web Components.
The Community Cloud (currently being rebranded as Experience Cloud) is used by customers to configure and expose customized and branded portions of the CRM platform (as well as custom apps) to selected partners and customers. While legacy portals were built with Visualforce and Apex, the newer generation is built with the Lightning Framework. Developers have many opportunities to create sophisticated and branded custom Lightning Web Components, and deploy them for non-coders to leverage in their communities.
Commerce Cloud is a hybrid. This means that it exists as two different products across two different technology stacks. Both leverage predictive intelligence and provide scalable online fulfillment, customer service, and a highly-customizable and branded shopping experience.
The B2B Commerce (formerly CloudCaze) application is an extension package installed into a core Salesforce org. B2C Commerce (formerly Demandware) is a separate technology stack that can integrate back to core Salesforce orgs using API connectors. I believe that these products provide some of the greatest opportunities for traditional web developers.
Web developers with experience or interest in marketing apps (email, SMS, web pages) can also find challenging work.
Marketing Cloud applications extend the marketing capabilities of the core Salesforce architecture. These products run on separate technology stacks, but can integrate with Salesforce orgs as well as other third-party systems through APIs and connectors.
AmpScript example courtesy of Agadzhanov Sergey
AMPscript uses basic programming concepts well known to web developers who can design and build functions for Marketing Cloud users to embed in emails, various landing pages, and SMS messages. These functions can be easily incorporated into content, which follows the Salesforce low-code model that allows developers to create tools for non-coders.
Beyond AmpScript development, Marketing Cloud customers’ integration needs are a common source of developer opportunities. Other Marketing Cloud products, such as Pardot and Social Studio do not have any built-in capabilities for programmatic customizations.
While Salesforce provides pre-built connectors, customers often need to build custom integrations to these applications utilizing their REST-based APIs, either from external systems or from core Salesforce using Apex.
For AI developers, Einstein is the Artificial Intelligence engine of the Salesforce platform and includes a large suite of platform cross-cutting tools. While many are integrated directly into the Salesforce CRM applications, multiple REST-based APIs provide programmatic access.
Einstein Vision facilitates image recognition and classification using pre-trained or customizable models. Einstein Language facilitates building applications with natural language processing models to classify the intent of text, or the sentiment of text as positive, negative, and neutral. Einstein Discovery and Prediction Builder are tools for data analysis supporting Supervised Machine Learning.
Calling Einstein API from Apex - courtesy of Daniel Peter MVP
Developers with an interest in data science and analytics can explore the Analytics Cloud. While core Salesforce has always included a reporting and analytics component, Einstein Analytics allows users to connect to and analyze data from Salesforce platform applications as well as external systems. Recently acquired, the Tableau (now named Tableau CRM) suite of business intelligence tools provide developers opportunities that require deep data science and technical coding skills for their related applications and services.
Web, Service API, and Mobile Developers can leverage Heroku, a Salesforce Platform service for hosting web applications. This polyglot container-based Platform as a Service (PaaS) allows developers to deploy and manage web applications and services with elastic scalability. It provides integrated data services and an extensive developer friendly ecosystem, allowing applications to be deployed and built with multiple programming languages:
Salesforce provides extension tools allowing applications, services and data to be tightly integrated with core Salesforce orgs, as well as supporting standard API integrations with full security and compliance.
Mobile developers should note that Heroku is also a perfect platform for deploying apps and services that support native and hybrid mobile applications. Salesforce also provides SDKs for both iOS and Android that jumpstart native mobile app development that can integrate directly with Salesforce REST-based APIs.
More complex integrations across various applications in any system landscape can benefit from the Integration Cloud built on Mulesoft, a lightweight enterprise service bus. It allows for the rapid design, creation, and deployment of custom APIs that can function as a bridge connecting applications, data, and services to on-prem or cloud systems including core Salesforce.
One last opportunity for developers to explore is Quip, a platform productivity suite providing real-time multilingual collaborative documents, spreadsheets, slides, and chat embedded inside Salesforce. It allows groups of users to create and edit these documents via web and mobile apps, and integrate with external systems.
The platform continues to grow with each release cycle, and I have little doubt that I’ve left out other aspects that may provide niche developer opportunities. For example, Salesforce is also a great platform to support IoT (Internet of Things) development, and you can build Bots with Einstein and Apex and even connect them to external services like Facebook Messenger, Amazon Alexa and Slack. That’s the beauty of the platform—it’s seemingly endless—constantly growing and evolving, providing an ever-expanding ecosystem for developers to take advantage of. However, this also presents a significant challenge...
If a platform is constantly growing and evolving, how does a developer step in, skill up, and keep up? How do you know where to begin? How can you know what you don’t know? How can you learn what you need to thrive in the ecosystem? We’ll cover that in the next and last post, and I hope you’ll join me as we wrap up this Salesforce Developer journey.
Thanks to Don Robins for his kind permission to publish this article.