Review trải nghiệm học và thi chứng chỉ HashiCorp Certified: Terraform Associate

Sáng nay mình mới làm bài test chứng chỉ HashiCorp Certified: Terraform Associate và cũng đã được anh Hashicorp tặng phiếu bé ngoan.

Link badge: https://www.credly.com/earner/earned/badge/715d0c7a-c615-446f-8aab-9283e7a13d90

Đây là bài thi mình tự tin tới 90% là sẽ có badge, nhưng cũng là bài thi lận đận nhất của mình =)))))

Để thi chứng chỉ này, bạn sẽ cần đăng ký thông qua vendor PSI (chú ý: cũng giống như thi cert k8s, PSI là vendor duy nhất host chứng chỉ này, và bạn sẽ phải thi online ở nhà chứ không có ra trung tâm thi được).

Lần đầu tiên, mình đã chuẩn bị đầy đủ webcam, căn cước công dân, dọn nhà sạch sẽ rồi, nhưng vẫn không được thi vì mất tới 20 phút giám thị vẫn bảo không nhìn rõ ngày expire trên căn cước công dân (chỗ này mình chê cực thiết kế của CCCD, đã màu mè rồi lại còn viết bé xíu nữa). Lúc đó mình dùng con Logitech C720, và đau lòng là con này họp hành thì vẫn ổn, nhưng lại không rõ các chi tiết trên CCCD. Sau đó thì bị end bài vì lý do không verify identity được. Do đó, nếu bạn nào có ý định thi các chứng chỉ online ở nhà thì chú ý webcam, mình recommend Logitech C920 Pro HD, soi rõ từng nét luôn!

Sau đó, mình viết mail gửi tới bộ phận support chứng chỉ của Hashicorp, họ mail lại kêu: “Lần đầu tiên chúng tôi gặp case này”, kêu luôn 1 ông bên PSI remote vào máy và check thử camera của máy bị sao không, và cho mình schedule lại miễn phí vào một ngày khác.

Schedule lại, đến ngày thi mình ngồi làm đủ kiểu không run nổi cái secure browser lên được, hỏi support PSI họ kêu: AppImage lỗi trên Ubuntu 22.04. Mình gửi mail cho support tiếp, lần này thì Hashicorp bảo tại bạn không check kỹ tương thích máy, nên chúng tôi không thể sắp xếp cho bạn thi lại được, nhưng support của PSI lại cho mình schedule lại. Kinh nghiệm vẫn là cố gắng bám lấy support khi còn có thể, và nhớ check kỹ requirement, chỉ tại cái tội ẩu, đọc đến “support các phiên bản Ubuntu LTS”, nghĩ 22.04 LTS lâu rồi mà mình đã không được thi lần 2!

Finally, cuối cùng đến lần thứ 3 cũng đã hoàn thành được bài exam =))) Kinh nghiệm là hãy cố gắng tận dụng sự giúp đỡ của support nhiều nhất có thể, chứ đừng end bài trong cay cú, lại mất luôn cả phí thi.

Tổng quan chung:
– Phí thi: $70.5
– Thời gian: 1 tiếng
– Số lượng câu hỏi: 59
– Tài liệu ôn thi: https://developer.hashicorp.com/terraform/tutorials/certification

– Thi xong là biết luôn pass hay fail, nếu pass sẽ được gửi badge về mail ngay, không cần phải đợi như exam của AWS

– Các vùng kiến thức được hỏi:

Understand infrastructure as code (IaC) concepts

Understand Terraform’s purpose (vs other IaC)

Understand Terraform basics

Use the Terraform CLI (outside of core workflow)

Interact with Terraform modules

Navigate Terraform workflow

Implement and maintain state

Read, generate, and modify configuration

Understand Terraform Cloud and Enterprise capabilities

Trong số các phần trên thì đa số các phần mình đều đạt mức 85% – 100%, riêng phần Terraform Cloud và Enterprise không tìm hiểu nhiều (và không có tiền mua tài khoản để được dùng) thì điểm thấp nhất.

Bài thi câu hỏi khá ngắn gọn, và cảm quan của mình là dễ. Tuy nhiên, bạn sẽ phải đọc kỹ đề vì nếu bỏ sót vài từ khóa thôi, là bạn có thể sẽ làm sai những câu mà mình nghĩ rằng mình đã nằm lòng rồi, rất đáng tiếc.

Bạn hãy chịu khó đọc tài liệu ôn thi của Hashicorp, làm thử câu hỏi mẫu trên trang learning của Hashicorp để hiểu sơ lược cách hỏi. Chú ý rằng bạn càng thực hành nhiều về functions (https://developer.hashicorp.com/terraform/language/functions)modules (https://developer.hashicorp.com/terraform/language/modules) càng tốt bởi đây là 2 thứ làm nên điểm mạnh của Terraform, cũng như ứng dụng nhiều nhất khi bạn làm việc với Terraform trong các dự án.

Ngoài ra, bạn cũng nên nắm rõ các đặc điểm về state của Terraform (https://developer.hashicorp.com/terraform/language/state). Ví dụ như có khá nhiều người nhầm lẫn rằng chỉ cần sử dụng remote state thì state sẽ mặc định được encrypt, nhưng câu trả lời đúng phải là tùy thuộc vào đặc điểm kỹ thuật, AWS S3 hiện tại đã enforce mặc định sẽ encrypt object bằng SSE-S3 key, nhưng trước đây thì không.

Ngoài ra bạn cũng nên đọc + tìm hiểu thêm về cách sử dụng CI/CD pipeline cho Terraform, đây cũng sẽ là nội dung được hỏi trong đề. Trong đề thì thường sẽ hướng bạn sử dụng Terraform Cloud, nhưng nếu không có điều kiện thì bạn có thể thay thế bằng Jenkins, bằng Github Actions, hoặc bằng Atlantis để nắm rõ luồng pipeline như thế nào.

Với các câu hỏi liên quan đến Terraform cloud hay Enterprise, thì tốt nhất là bạn nên thực hành sẽ hiểu, nhưng nếu không thì hãy cố gắng nắm chắc được các đặc điểm nào là phải trả phí mới support, đặc điểm nào mà chỉ khi sử dụng Terraform cloud mới có (VD: hỗ trợ policy as code bằng Sentinel). Với Sentinel thì luôn nhớ rằng sẽ được check sau khi plan được trigger, và trước khi apply được thực hiện.

Về cơ bản thì cert sẽ chỉ cho vui là chính, coi như là có cái để tự hào rằng mình biết chuẩn kiến thức về 1 cái gì đó. Còn giá trị cert tới đâu thì sẽ tùy thuộc vào bạn! Effort học tập, thực hành càng nhiều thì giá trị càng lớn, còn nếu ôm dump để thi thì nó chỉ là tờ giấy bỏ đi trị giá $70.5 mà thôi.

Trên trang của Terraform có rất nhiều lab, nhiều tutorial để bạn làm, và sáng tạo theo cách riêng của bạn:
https://developer.hashicorp.com/tutorials/library?product=terraform

Hãy sử dụng trong thực tế thật nhiều, lúc sử dụng thì đừng đặt mindset: làm sao cho tôi nhàn nhất là được, mà hãy nghĩ đến sau này khi mở rộng ra sẽ như thế nào, hãy nghĩ đến ông ngồi maintain code của bạn, nói chung là hãy cố gắng code bằng cái tâm, dù có thể không phải là code đẹp, code tốt với nhiều người, nhưng là phiên bản tốt nhất trong khả năng của bạn.

Khi bạn tự đặt ra những tiêu chuẩn cho mình để từng bước cải thiện phương pháp suy nghĩ, cải thiện các dòng coding, thì mình tin rằng những bài exam như này sẽ không làm khó nổi bạn.

Nếu bạn quan tâm về pipeline cho Terraform, thì mình cũng đã viết một bài về cách sử dụng Atlantis với Terraform, bạn có thể tham khảo thêm tại đây: https://shinchan.asia/2023/02/03/simple-demo-about-how-to-use-atlantis-on-terraform-pull-request-automation/

Happy Terraforming!