This is a guide for preparing to take the Heroku Certified Architecture Designer exam. Yep, it’s a mouthful! If you’re unfamiliar with this certification, you can learn more about it here. To cover the basics, it’s for individuals who are familiar with Heroku, in particular Heroku Enterprise, and its architectural options. There are 60 multiple-choice questions, and you must get 72% or more of them correct to pass. You have 105 minutes to take the test. The exam cost $400 (USD), and there is a $200 retake fee. The exam is also offered online or in-person. Once a year following a passing result, you must complete some maintenance modules on the Salesforce Trailhead website (Salesforce’s learning platform) to keep the certificate from expiring.
The Heroku Certified Architecture Designer exam can be a tricky exam to prepare for. While Salesforce provides a Trailmix on Trailhead to help study and get acquainted with the material that will show up on the test, it often just points to quite a bit of Heroku developer documentation. This makes it easy to get bogged down in the weeds, and it makes it difficult to get a grasp on the greater application of the concepts. On top of that, the exam is largely focused on Heroku Enterprise, which, if you’re anything like me, you might have a hard time getting some hands-on experience with. Here are some of the things I’ve learned along the way while I’ve been preparing for the test myself.
The exam breaks down as follows:
The key concepts to master with regard to the Heroku Platform are slugs, buildpacks, and dynos, and how they may differ in the Common Runtime versus Private Spaces. A slug is Heroku’s term for your compressed and compiled source code along with any dependencies ready to be executed and used by the dyno manager. A buildpack is responsible for generating a slug, and a dyno is just a container that houses the environment for your application to run. Dynos are isolated and each have their own ephemeral filesystem. Within the Common Runtime, dynos cannot communicate with one another. It is also worth noting that the Common Runtime is multi-tenant as opposed to Private Spaces, which offer a single-tenant architecture. Private Spaces are only available as a part of Heroku Enterprise, though. Important things to know or look further into regarding Private Spaces are:
Heroku provides three major add-ons for working with large amounts of data. They are Apache Kafka, Heroku Redis, and Heroku Postgres. Heroku Postgres is a traditional relational database. There are some key things to note about Heroku Postgres when using Private Spaces or Shield Private Spaces. Private Spaces and Shield Private Spaces have their own Heroku Postgres plans. This means that if a Heroku Postgres database is set up within Private Space A, then any apps in another Private Space, such as Private Space B, or in the Common Runtime cannot access that database. To read more about Heroku Postgres within Private Spaces and Shield Private Spaces, visit these docs. Heroku Dataclips are another tool available in conjunction with Heroku Postgres databases to export data in CSV or JSON formats. Heroku Redis is an in-memory key-value store that is great for caching. Things to learn about Apache Kafka include, messages, topics, and partitions. The Apache Kafka Quick Guide is a great place to get started with that material.
In terms of integration, specifically with Salesforce data, there is a heavy emphasis on Heroku Connect and Shield Connect. Becoming familiar with these two features is paramount. It is also helpful to look into integration offerings for Google Cloud Platform and Amazon Web Services (AWS). Knowing how to use these tools alongside the data tools, such as Heroku Postgres, and within the Common Runtime versus Private Spaces or Shield Private Spaces can make all the difference.
There are four major dyno types:
Vertical scaling of dynos is when you increase the memory (RAM) of the dyno, i.e. switching from a Standard-1x to a Standard-2x dyno. Horizontal scaling is when you add more dynos to spread the workload. You’ll want to know when to do one versus the other.
You’ll also want to study up on Automated Certificate Management (ACM), Heroku SSL, and SSL Endpoint. Give special consideration to how these may be used within the context of Private Spaces.
Here are some final tips or things I may have missed earlier: