Today’s guest post is delivered by Gilad David Maayan, a technology writer who has worked with over 150 technology companies including SAP, Samsung NEXT, NetApp and Imperva, producing technical and thought leadership content that elucidates technical solutions for developers and IT leadership.


Salesforce is a Platform as a Service (PaaS) that provides developers with cloud-based environments and resources for building and deploying cloud-based applications. The platform offers a number of modules, each provides different resources. 
AWS is a cloud computing vendor that offers a variety of cloud-based compute resources, such as object storage, data lakes, Artificial Intelligence (AI), and development resources. Salesforce and AWS are partners, and offer a number of connectivity options. 
This article provides an overview of Salesforce services and technology, and key integrations you can create to establish a connection between Salesforce and AWS.

Salesforce for Developers: Main Services

Below, you’ll find a brief overview of the main Salesforce offerings for developers.

Lightning Platform

A PaaS module geared for fast apps delivery. Lightning’s cloud architecture is based on multitenancy, which means you share cloud resources with other users. Lightning comes with ready-made solutions, automation processes, and API integrations. You can create your own customizations metadata fields and with Apex code.

Heroku 

A container-based cloud PaaS. It supports languages and frameworks such as Python, Clojure, Node.js, PHP, Java, Ruby, Scala, and Go. The main advantage of Heroku DX Developer Experience is the user-friendly dashboard, which provides easy-to-use metrics, and API and automation controls. 

You can extend the capabilities of Heroku with services such as Enterprise (with 24x7x365 support with a 30 minute SLA), and Elements (additional languages and services, fully managed services). You can also host your Heroku operations in a private cloud, while maintaining smooth integration with Salesforce.

Einstien

Einstein Platform Services provide Artificial Intelligence (AI) resources for Salesforce developers. The purpose of the platform is to make your applications smarter, as the name implies. To that end, Einstein provides the following services:

  • Einstein Vision—a computer vision module that enables image recognition
  • Einstein Language—a natural language processing module 

You can use Einstein Platform Services to train deep learning models in the cloud. As in any Salesforce service, it comes with APIs and Apex for integration and customization. Einstein Analytics enables AI-based data analyses.

Trailhead

A learning center for Salesforce skills, which offers a variety of educational modules. You can read guides, sign up for classes, and earn certifications. There are modules for companies, as well as a huge community-based hub. Everything is available online through the Trailhead website. 

Salesforce Technology

Salesforce uses metadata, APIs, and containers to enable its technology. To enable quick deployment and scaling, Salesforce runs Kubernetes in production on bare-metal throughout their cloud infrastructure. This kind of architecture enables Salesforce to provide fine-grained microservices for Salesforce end-users and developers alike.

You use containers to pack your apps, metadata to describe the structure of your development artifacts, and APIs to enable connectivity between Salesforce services, third-party vendors, and connected devices and technology. These three main technologies make the Salesforce app development process fast and simple. 

Salesforce and AWS Integrations

There are many use cases and integration methods. This section focuses on AWS, but you can find more information about Salesforce integration here.

1. Integrating Salesforce with Amazon S3

Amazon Simple Storage Service (Amazon S3) is an affordable object storage and archive offered by AWS. Typically, you would do this integration in order to build a data lake on S3. To move data from Salesforce to S3, you need to use the Amazon S3 connector. You’ll find more information here

2. Integrating Salesforce with Amazon Lambda

AWS Lambda is a serverless compute service for processing events. To do this integration, you need a Salesforce account and an AWS account. Once you set up your account, you need to create a connection between Salesforce and AWS API gateway. You do this by creating open authentication. Then, you need to configure the data flow, and “tell” Salesforce to subscribe to AWS Lambda events. Here’s a step-by-step guide that shows you how to do this integration.

3. Integrating Salesforce with Amazon Athena

Amazon Athena is a serverless interactive query service for performing S3 data analysis with standard SQL. This type of integration is more complex, because you would need to create more than one integration. First, you need to connect Salesforce with S3, then connect Salesforce with Lambda. Once you transfer data from Salesforce to S3, you’ll be able to query it using Athena. Here’s a guide that shows you how to do this.

4. Integrating Salesforce with AWS PrivateLink

AWS PrivateLink creates secure and private connectivity between AWS services, AWS-hosted on-prem apps, and Virtual Private Clouds (VPCs). This is a built-in AWS feature that enables integration between AWS and SaaS offerings from AWS Partner Network (APN) Partners, such as Salesforce. In May, Heroku Postgres via PrivateLink, which enables connectivity between private Heroku Postgres databases and AWS VPCs, was made generally available. This connection is easy and fast. You can learn how to create it here.

Conclusion

Secure and simple integration between your development PaaS and your cloud resources is vital for business continuity. You’re using these APIs to transfer data, listen to data, and establish connectivity between systems, devices, and networks.

Native integration is a major advantage, because it was created especially for the two connected points. Security is typically covered well in these scenarios, and the connection fits the two vendors (or in house services) in a way that necessitates little to no configuration. In other cases, like integration #3 in this article, you would need to set up the connection. 

Take the time to assess your situation, and find out what kind of integration you need. Experiment with free tiers, make use of community knowledge base, and keep security concerns in mind as you create your integrations. Data is valuable, and you don’t want just anyone listening on your connections.