Real Clients, Real Users Phase at Encora Apprenticeship — Week 2
This post is part of a weekly assignment at Encora Apprentice and in this series, I’ll share my journey as a Software Engineer Apprentice. I hope these stories help and motivate others on their tech journey.
This week at Encora
Infrastructure as Code using Terraform and learning about Cloud security fundamentals. Also some words about this experience! Come take a look at this week’s post!
Terraform fundamentals
This week I got to learn more in-depth about Terraform, and some of its functionalities. As I’ve mentioned in previous weeks, Terraform is an Infrastructure as Code tool which provides us with a consistent CLI for different cloud providers.
This time I got to work with Terraform modules, which are containers for resources that are used together. We can use these modules to have more cleaner, reusable code. Terraform modules can be downloaded or referenced from:
- Terraform Public Registry
- Private registry
- Your local system
Another important concept I got to explore is the use of workspaces in Terraform. According to Terraform’s official documentation, workspaces are separate instances of state data that can be used from the same working directory. This provides us with a way to separate our infrastructure, and we can also have separate resources for different environments, for example, we can have a state file for a production environment and another for a staging environment.

Cloud security 101
I also got to learn about Cloud security essentials, such as the CIA model:
- Confidentiality: Equivalent to privacy, this allows us to keep our information private but also to share it with allowed third-party users, Uses data encryption, user IDs, passwords, 2FA, biometric verification.
- Integrity: Maintaining consistency, accuracy, and trustworthiness of data during its lifecycle. Uses file permissions, version control, and checksum.
- Availability: Availability, redundancy, high availability clusters in multiple availability zones.
And also the AAA model:
- Authentication: An example of this is IAM checks if the user exists and the password is correct.
- Authorization: How much are you authorized to do in the cloud platform. What you can do when you are authenticated.
- Accounting: The trace of what you are doing in the cloud platform.
Final thoughts
This week was filled with Infrastructure as Code concepts, but I also got to explore more about AWS resources and a little bit more about networking and EC2 instances! I also started exploring the world of Cloud security, and I’m eager to continue learning about it too!
Before I go, I want to give big kudos to my mentors! They supported me and helped me a lot throughout this experience and I cannot thank them enough! I also want to give kudos to the staff for allowing me to grow professionally and helping me push myself to become a better software engineer! And also to my apprenticeship teammates! This experience has been a really interesting and exciting one and I want to keep learning and exploring more in this tech world going forward!