Looking for Feedback on My AWS Infrastructure Automation Project

0
4
Asked By TechWhiz88 On

Hey everyone! I just finished a personal project that automates AWS infrastructure using Jenkins, Terraform, and Ansible, and I'd love to hear your thoughts on it. Here's a breakdown of what I did:

- **Terraform**: Sets up an EC2 instance utilizing a launch template and an auto-scaling group, including all necessary configurations like security groups and key-value pairs.
- **Ansible**: Once the EC2 instance is up, it logs in to download services and transfers my portfolio's HTML and CSS files to /var/www/html, making the site live.
- **Jenkins**: I created two pipelines:
- **Create Pipeline**: This pipeline runs Terraform to launch the EC2 instance, retrieves its IP using the aws-describe command, updates the hosts file for Ansible, and finally triggers Ansible to get the website up and running. It's activated by a git push.
- **Destroy Pipeline**: Safely tears down the infrastructure using Terraform destroy, initiated 15 minutes after the creation process.

I've learned a lot about these tools, security management, and automation. I know some of my choices might raise eyebrows, like opting for Jenkins over GitHub Actions or using Ansible when a user_data script could suffice, or even hosting on AWS instead of my .github.io page. I chose these tools because I'm eager to understand them, as they're common in job listings. Do you think this project would look good on my resume? Could it impress potential employers? Would you recommend any changes, different tools, or anything else? I'm keen to get better and open to all kinds of feedback. Just for context, I'm a grad student with two years of experience as a System Engineer.

2 Answers

Answered By CloudDevGuy42 On

This looks impressive! I’m a fan of Jenkins too; it's great for CI/CD. That said, since this is a smaller project, maybe check out GitHub Actions as well. It could streamline things and might save you the trouble of managing a separate server for your CI/CD pipelines.

TechWhiz88 -

I appreciate the feedback! I’m definitely considering GitHub Actions; it seems like it could simplify a lot of what I’m doing with Jenkins.

Answered By AnsibleNinja99 On

You've got a solid foundation here! However, using an auto-scaling group and then needing to configure the EC2 instance post-launch kind of defeats the purpose of automating the scaling. Consider creating a 'golden image' (AMI) through a pipeline that auto-generates whenever you update your portfolio. This way, your instances are ready to go live without delays. And hey, is Jenkins really the best tool for this anymore? Just a thought!

TechWhiz88 -

Thanks for that insight! The golden image idea sounds useful. I went with Jenkins because it was what I used previously, and I wanted to get a grasp on it again.

Related Questions

LEAVE A REPLY

Please enter your comment!
Please enter your name here

This site uses Akismet to reduce spam. Learn how your comment data is processed.