A Guide to Studying for the Heroku Certified Architecture Designer Exam
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:
Heroku Platform: 10%
Heroku Enterprise: 28%
Architect Applications: 15%
Heroku Platform and Security
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:
They are best used when data needs to be secure.
They form a private network.
All applications within a Private Space run in the same region as one another.
There are Private Spaces and Shield Private Spaces. Know the differences between them, the main one being that Shield Private Spaces are used for HIPAA and PCI compliance.
Logging within Private Spaces and Shield Private Spaces differs from the Common Runtime, which uses Logplex to manage logging. You can read more about those differences here.
Private Spaces feature Internal Routing, Private Space Peering, and Private Space DNS Service Discovery as ways to share data. Know what each feature offers and when to use one versus the others.
Data and Integration
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.
Architect Applications and SSL
There are four major dyno types:
Standard with 1x and 2x.
Performance with performance-m and performance-l.
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.
Conclusion & Final Tips
Here are some final tips or things I may have missed earlier:
Find practice questions. They are out there, and they definitely provide more direction than blindly reading the Heroku documentation. Here are some that I used, but a quick Google search will yield tons more. Just be careful not to rely solely on the answers provided by third party sources.
Learn about follower databases and PGBackups in regard to Heroku Postgres.
Know about “available” and “installable” add-ons for Private Spaces.
Study locking apps and the permissions required to do so.
Look into Enterprise Teams and related material.
If you can, get some hands-on experience with Heroku Enterprise and some of its big features. You must have access to an Enterprise account to do this though.
While taking the test, eliminate wrong answers.
Memorize questions in case you fail, and write them down immediately after the test.
Review all your questions again before submitting your exam.
Subscribe to our monthly newsletter to get notified about future articles.