this post was submitted on 02 Aug 2024
15 points (100.0% liked)
CSCareerQuestions
987 readers
2 users here now
A community to ask questions about the tech industry!
Rules/Guidelines
- Follow the programming.dev site rules
- Please only post questions here, not articles to avoid the discussion being about the article instead of the question
Related Communities
- [email protected] - a general programming community
- [email protected] - general question community
- [email protected] - for questions targeted towards experienced developers
Credits
Icon base by Skoll under CC BY 3.0 with modifications to add a gradient
founded 2 years ago
MODERATORS
you are viewing a single comment's thread
view the rest of the comments
view the rest of the comments
Start with learning about containers. Docker will be good to start with. Learn how to build images, how to run containers, how to connect multiple containers, etc. Next jump to Podman and learn how to run containers as systemd services. It will give you the idea how stuff works behind the scenes.
Next step would be learning about AWS. Since you prefer the hands on way of learning, create a simple project, e.g. a blog, put it in a container and move it to the cloud. ECS would be a good place for that. Once you have it up and running, add more things to the project - Cloudwatch logs, metrics and alerts, Cloudfront to serve static assets from S3 bucket and dynamic content from the ECS container. Next add more stuff like "background" container to handle asynchronous tasks like sending emails, processing image uploads, etc. You could also use Lambda for that. From there you might want to jump to VPC and learn how to hide your containers/Lambdas from public access.
Now, knowing how the basic things work in the cloud, it's time for some devops learning. Learn how to deploy infrastructure using Terraform of Cloud Formation. You could also look at Ansible for configuring your servers. Good thing would be to learn about different tools for logging and monitoring like Prometheus, Loki, Grafana, etc.
Last but not least - CI/CD. Learn about different tools, learn how to automate various processes like deployments, tests, etc.
All those things are just a top level view on cloud. You will also need to learn about Route53, IAM, databases (RDS, DynamoDB, Elasticache, etc.) and whatever you find useful in your project.
Keep in mind that using AWS is not free so always check the price and free tiers.
I know it sounds like a lot but you won't have to learn all of it at once.
As for the certificates, I never was fan of those. I never took any exam as none of my employers required one. More important was hands on experience and projects I could show as a proof of knowledge.
I was lucky enough to start my career before cloud was a thing so I have experience with bare metal and virtual machines. Nowadays it's little harder to learn this stuff but nothing stops you from setting up a virtual machine and learn how to configure various system services and 3rd party products like http servers, proxies, databases, etc.
For that I like to tinker with various Raspberry Pi based projects. It allows me to play with electronic circuits, Python, low level system setup and various hardware. I know it's not directly related to managing servers but teaches me to look at a problem from a different perspective.