Advertisement
Advertisement

More Related Content

More from CzechDreamin(20)

Advertisement

Using Heroku to elevate the potential of Salesforce development, Matteo Iacucci

  1. Using Heroku to elevate the potential of Salesforce development by Matteo Iacucci
  2. #CD22 About me Senior Salesforce Developer/Consultant @Merkle, Prague 8x Salesforce Certified: Heroku Architecture Designer Linkedin: /in/miacucci Matteo ✈️
  3. #CD22 ● Heroku Basics ● Dyno and process types ● Add-ons ● Use Cases ● Demo Agenda
  4. #CD22 “Heroku is a platform as a service based on a managed container system, with integrated data services and a powerful ecosystem, for deploying and running modern apps. The Heroku developer experience is an app-centric approach for software delivery, integrated with today’s most popular developer tools and workflows.” Heroku basics
  5. #CD22 “Heroku is a platform as a service based on a managed container system, with integrated data services and a powerful ecosystem, for deploying and running modern apps. The Heroku developer experience is an app-centric approach for software delivery, integrated with today’s most popular developer tools and workflows.” Heroku basics What is a Container? It is a lightweight software packages that contain all the dependencies required to execute the contained software application A container virtualize software layers above the operating system level. Container App A Libs Container App A Libs Container App A Libs Container Engine Host Operating System Infrastructure
  6. #CD22 Platform as a Service A PaaS is a cloud computing model where a third-party provider delivers the hardware and software tools. The tools usually are used to allow users to develop their application. The result of using a PaaS is that developers have just to think about their own app without worrying about the underlying infrastructure and software Heroku basics PaaS SaaS IaaS
  7. #CD22 Heroku was fonded in 2007 At the beginning was supporting only Ruby language It has been acquired by Salesforce in 2010 for $212 million Then name seems to come from the confination of the words hero and haiku Heroku basics Lames Lindenbaum Adam Wiggins Orion Henry
  8. #CD22 Main Heroku concepts Application Defined by the user, can be implemented in the most common language: Java, Python, NodeJS, Ruby, Go, Scala Git Repo Git is used to push the code to Heroku and the master branch is the one from where is created the slug file Dependencies According to the chosen programming language the dependencies are defined in the configuration file and there is no need to push to the repo Buildpack Buildpacks are composed of a set of scripts, that are responsible to transform the deployed code into a slug. Depending on the language the script retrieve also the dependencies Slug The slug is the result of the execution of the buildpack that create a container with the code, dependencies and the procfile Dyno Dynos are the isolated container where the slug is executed. There are different version and kind of dynos in Heroku environment Procfile Contains the startup execution instruction and on which dyno it has to be execute Add-ons Additional component that can be attached to the Heroku app
  9. #CD22 Dyno types Free Dynos Limited sandbox dyno to start exploring the features of Heroku. After 30 minutes of inactivity the dyno sleep mode Hobby Dynos Perfect for small projects. They provide better performance and they do not sleep Standard Dynos They provide a simple horizontal scalability (not automatic) Performance Dynos They provide high performance and autoscaling mechanism Private and Shield Dynos The apps runing on private dynos have their own private space in a specified geografic region.
  10. #CD22 Defined in the Procfile, each process type rappresnet a command that should be executed by the Dyno Manager when starting a dyno Process types Web It’s able to receive inboud http request from routers and it’s used usualy to host web servers Worker It’s used for background jobs One-off Special kind of process that are used to execute short-lived commands
  11. #CD22 Add-ons are another essential piece of the Heroku platform. These elements give you the ability to add complex functionality to your application without having to manage the underlying software or infrastructure. Add-ons Logs Data Services Notification PostgreSQL database Redis Kafka Heroku connect Papertrail It’s an efficient add-on that provide an easy way to read Heroku logs by a user-friendly interface. SendGrid It allows Heroku to send Email using simple api.
  12. #CD22 Set and forget Once configured, developers or business users have not to worry about it, Heroku connect will run without any other administration Easy configuration The configuration of the add-on is done by point and click. With few steps it is possible to map the sync between Heroku Postgres and Salesforce DB Polling mechanism Heroku connect detect automatically when there is a change in the database. The polling frequency is configurable (min freq. 2 min) Optimize API integration Heroku connect uses all the salesforce best practice to write data in the database. It automatically decide if using SOAP or Bulk API depending on the amount of data to sync Heroku Connect
  13. #CD22 Use cases Data manipulation Through integration with Salesforce, Heroku can be used to manipulate and process data from the CRM. Using the programming language allowed by Heroku you can avoid the limitation of computing data in Salesforce. Middleware The web-based nature of Heroku gives you the ability to create easily Rest interface and callout to external systems. This makes Heroku a good middleware. Customer Website Using different programming language and the possibility to retrieve data from the CRM allow Heroku to be used as a platform where develop a perfect customer website with no limitation.
  14. #CD22 Data manipulation example
  15. #CD22 Middleware example
  16. #CD22 Middleware example
  17. #CD22 Real example
  18. #CD22 Real example
  19. #CD22 Registration website DEMO
  20. #CD22 Registration website DEMO
  21. #CD22 Registration website DEMO
  22. #CD22 Registration website DEMO
  23. Thank you! #CD22
Advertisement