On the 21st May Salesforce released a brand new certification, the “Heroku Architecture Designer” which is focussed on validating that those who are using Heroku, particulary with integrations to Salesforce, have the knowledge and understanding of the different architectural needs for a Heroku app vs a Salesforce app, or an app deployed on another platform.
I have worked with Heroku fairly extensively in the past and decided I would have a read through some of the Heroku documentation and give it a go. I am going to hold my hands up and be completely honest in saying I did not prepare for this as thoroughly as I have for other exams I have taken recently (see here for more on my learning process), however I felt given that I had sufficient experience with the platform in some of its major projects I should be okay.
The Contents of the Exam
The full exam guide is available here but the key focus areas for the exam are:
- The Heroku Platform - deploying apps on it and how it works (10%)
- Data - Postgres, Redis, Kafka - database setup and how/when to use each of these (17%)
- Security - understanding security architectures, VPN Connections, Private Spaces etc. (15%)
- Heroku Enterprise - what it is and how to use it’s different options effectively (28%)
- Architect Applications - architecting an application correctly including the 12 factor model (15%)
- Integrations - Heroku Connect, how to connect to Salesforce appropriately (15%)
Below I will give a high-level review of items I think you should study for the different areas based upon my memory which all of us who have sat one of these knows will not be 100%.
Make sure you understand what a slug is, how you should use buildpacks, post deploy scripts, the difference between the commone runtime and runtime in private spaces. How autoscaling and load balancing works, how to load test.
Have a good understanding of what all three of those standard Heroku data stores are, how they work and some of the nuances of them. I had questions on:
- Redis Key Management
- Storing Binary data in Postgres
- Redis vs Postgres vs Kafka for event management
- Lots of other Kafka questions I have used both Redis and Postgres extensively in previous work and also a lot of message queues (though not Kafka). If you haven’t you should really work with these.
This section dives deep into the VPN, peering and spaces options Heroku provides and when to use each one. Definitely swot up on internal routing, dns discovery and the out of the box peering options with other platforms like AWS, Azure and Google Cloud Platform.
This section I found hardest because I haven’t used this in anger since it came out. There is a lot on this so make sure you thoroughly review the documentation and understand all the options it gives you and when to use them.
Make sure you review the 12 Factor App in great detail if you don’t know it already. Spend time understanding microservices, event buses, application structure and how to fit this all together. This is the area I think is most experience based so if you haven’t built a lot of non-Salesforce apps before then definitely spend time here.
Understand what Heroku Connect offers inbound, outbound, what it connects to, how it can expose data and some common integration patterns. Know when to use Platform Events, APIs, Heroku Connect and the pros/cons of each. Also understand the limitations around Heroku Connect.
For those who haven’t guessed from the title, I passed the exam and can now add this to my list of 5 Salesforce certifications I have obtained in 2019. I did enjoy the exam and definitely recommend those who have experience in Heroku having a look through some of the material and taking it. For those who are just starting out to look into Heroku, my biggest piece of advice is to spend time playing with the platform and architecting some applications to understand how everything fits together. I hope you found this helpful and good luck to all those who give it a go!