If you are a Cloud Architect today or if you wish to become one, you will have to master one very particular exercice, the cloud architecture whiteboarding.
The content of this blog post works for both interviews and for whiteboarding sessions with your customers.
Tooling
There are two great online tools to train for your next whiteboarding session:
Both tools will allow you to import AWS, GCP or Azure icons. Start by designing a simple cloud environment and by having a look at all the icons and how they are grouped to find them quickly.
Getting the context
Every time you will face this type of exercise you will have to get the answers to the following questions from your interlocutor:
- Accounts structure? Regions to use? Where are the customers?
- Environments? Dev/Staging/Prod? Isolation?
- Security? How do you access the Cloud? And your instances?
- Compliance and regulations? Sensitive data? Encryption?
- DC / Network interconnections? Partners?
- Type of data flowing? Size? Volume?
- CICD for infrastructure? For application?
- Serverless? Microservices?
- Backup? DR strategy?
- Monitoring? Operations?
- Use of managed services? How much control/access do you want to keep/have?
- Business expectations? Budget? Timeline?
- How to optimise and leverage the cloud?
How to prepare and design quickly any situation?
I listed below some great exercises to get better to face common use cases. Try to design them and to explain each part out loud as if you were with the customer.
Challenge 1 – Design a 3-Tier Web application |
– Add caching such as CDN, then database caching – Design for high availability and failover – Add security tooling WAF, IDS, IPS – Interconnect with a simple datacenter – Describe how you would connect to your cloud platform and how you would access your instances – Add an enterprise federation solution – Explain how you would monitor the platform – Explain how you deal with logs and alerts |
Challenge 2 – Design a serverless API and its database |
– Use managed services for authentication – Use serverless functions – Use the database of your choice |
Challenge 3 – Design the website to pre-order FIFA World Cup tickets |
– Use a micro services approach – You can use Kubernetes – Explain how it scales, how you update your applications |
Challenge 4 – CICD Application |
– You just joined a company and they don’t have any CICD – They are using different technologies: API in Python, Front with VueJs, and a MySQL database – They have 3 environments: Dev, Staging and Production – They are using Github – Explain how you design the CICD pipeline for all applications |
Challenge 5 – CICD Infrastructure |
– You are in charge of building a Landing Zone for a customer – The customer decided to use Terraform, Ansible, Vault and Jenkins – Explain how you design the CICD pipeline for their infrastructure |
Don’t forget to review the reference architectures links for each platform: