What I Learned From The Cloud Resume Challenge
Introduction
- The Cloud Resume Challenge aims to allow individuals the opportunity to showcase their skills in cloud technologies with practical hands-on experience and through building a resume-like website hosted on the cloud. Not only do participants become comfortable with multiple Amazon Web Services, but they will also learn critical fundamental skills for any network or cloud engineer. At the beginning of the semester, when we were first assigned the project, I was terrified by how complicated it looked altogether. However, as the class delved deeper into the inner functioning of networking and we began learning each piece of the puzzle, the opportunity to put my skills to the test became evermore enticing, and what once seemed unreachable began to get closer with each passing class. Below is a compilation of all the tools, skills, and fundamental knowledge I gained throughout my Cloud Resume Challenge experience.
Cybersecurity Best Practices
- Out of all the things I learned throughout the Cloud Resume Challenge, I would say what has resonated with me most is the general approach needed for successful cybersecurity and the best practices that accompany it. The implementation of HTTPS through Amazon Certificate Management highlighted the importance of encryption. The creation of IAM users and permissions assigned to specific roles only reinforced the incredibly vital practice of “least permissions”. Lastly, and probably most important, is the idea of defense in depth. By utilizing CloudFront, I was able to hide all of my other AWS services behind a content delivery network, which makes it much harder for hackers to see the actual infrastructure and gain access.
HTML & CSS
- Before beginning the Cloud Resume Challenge, I had no HTML or CSS experience whatsoever. I had seen HTML before, but building out an entire resume that was actually pleasing to the eye would be quite a tall order for me. Although it started off very slow, by the time I had finished putting the file together, I had more or less a grasp on it. The reason this is one of the most impactful lessons I learned is that I will be putting this knowledge to use in the near future at my job post-graduation. Previously, I had been handicapped in the quality of the data visualizations I produced; however, with this newfound HTML/CSS experience under my belt, that will no longer be the case.
Domain Registration
- Although we had learned in class about domain names and that they serve as human-readable labels used to identify and access resources, such as websites or servers, I had no understanding of the process of actually registering a domain name. This was a much smaller piece of the overall learning, but it was interesting nonetheless.
HTTPS & Certificate Management
- This section goes hand in hand with the previous as the Cloud Resume Challenge required us to secure the connections to our website. This led me to ACM (Amazon Certificate Management), which provided many valuable features. The most exciting and useful part of using ACM was that I learned the steps needed first to validate and prove I am the owner of the domain as well as gain SSL/TLS encryption for my website, which ensures a secure connection between my website in its S3 bucket and any possible end user.
Continuous Integration & Continuous Delivery
- For those who may not know, CI/CD is a set of principles and guidelines developers use to maximize their productivity and speed. Generally, it includes consistent updates to the code to be regularly checked or tested, time versioning to ensure no work can be lost, and automation to streamline the process. Funnily enough, I actually learned the hard way. When I began writing out my HTML & CSS, I did not have a GitHub repository to commit my changes, going directly against the advice of my professor. At some point, I lost my original file, leading to much more work for me and an overall valuable lesson. From now on, I will always remember the fateful day I had to redo hours of work, and I will make sure always to log the code I write.
Conclusion
- Overall, this experience has not only been extraordinarily informative but also extremely helpful in building up my confidence in the areas of networking, cloud infrastructure, and overall information technology administration. It put me out of my comfort zone and allowed me to put my knowledge to the test. I recommend this challenge to anyone who is interested in working with the cloud or a networking-related job, as it will build up the skills needed for a multitude of different roles and fields. Thanks for reading, and good luck :)