You only have limited resources (time, money, etc...), so you must have a clear objective before starting to learn about SRE stuff.
Considering current job market for SRE position, it's pretty obvious that most of the companies out there are using these 2 things to build their infrastructure: AWS and Kubernetes (K8s). So in short, our objectives should stick to these things, meaning getting skills to be able to compete with other engineers in terms of AWS and K8s.
With that assumption, there are 2 major objectives we need to achieve: Get some AWS Certificates and K8s Certificates. Here are reasons:
- Without prior experiences, certificate(s) is the most solid evidence about your knowledge on specific domain
- If you decide to invest your time and money to something that gonna help you find a good job, you better have some results from that investment. I know AWS simply not enough to convince anyonem, but a certificate does.
Considering you're aiming to become a SRE, the following path will suit you:
AWS Certified Cloud Practitioner --> AWS Certified SysOps Administrator - Associate --> AWS Certified DevOps Engineer - Professional
AWS Certified Cloud Practitioner: This is a must-have certificate, because without it you cannot proceed to another level o other kind of certificates. You can attend to the training here https://aws.amazon.com/training/path-cloudpractitioner/?nc2=sb_lp_cp and take an exam after that. You also needs to go through fundamental training by go throuhg these Digital Training https://www.aws.training/LearningLibrary?filters=language%3A1&filters=classification%3A103&search=&tab=view_all
AWS Certified SysOps Administrator - Associate: This learning path is not free, because it requires attending to training classroom and you have to pay for it. So you have to make sure that you have time and money to spend. The learning steps could be found here https://aws.amazon.com/training/path-operations/?nc2=sb_lp_ops . You also MUST checkout this ramp-up guide before preparing to learn this path https://d1.awsstatic.com/training-and-certification/ramp-up_guides/Ramp-Up_Guide_Operations.pdf .
AWS Certified DevOps Engineer - Professional: This one is the highest level that you can achieve. Same as above, this certificate will cost money and time to attend classroom, so please consider your availability before joining this course. The information about classroom and exam could be found here https://aws.amazon.com/training/path-devops/?nc2=sb_lp_dop.
Advanced Networking: This certificate is not included in the learning path, but i'm highly recommend you to take this certificate. One of the most reason is understanding cloud networking is very important when running any kind of application on AWS. It will also teach you several network application like IPSEC, VPN, Tunneling, Peeringe etc... The material for learning and getting the certificate could be found here https://aws.amazon.com/training/path-advanced-networking/?nc2=sb_lp_an
To learning K8s, no other better way is having the CKA certificate (Certified Kubernetes Administrator). It will cost you 300$ for taking the exam. Training materials could be found here https://www.cncf.io/certification/training/ . For the courses that are not free, you could find the replacement here https://docs.google.com/spreadsheets/d/10NltoF_6y3mBwUzQ4bcQLQfCE1BWSgUDcJXy-Qp2JEU/htmlview . I would recommend that you read all the free materials first and only attend the paid-course if really needed.
There are many k8s playground that you can use, i'm listing several playgrounds here:
- https://github.com/kubernetes/minikube : Install a single node k8s cluster on your machine and play with it
- https://www.katacoda.com/ : Online playground for practicing with pre-defined scenarios. Highly recommended
- https://training.play-with-kubernetes.com/ : Same as above, not really recommended but you can try
I recommending several books that you can read to have fundamental knowledge about Linux and its ecosystem:
- Understanding the Linux Kernel, Third Edition: I have this book, you can borrowed it
- Site Reliability Engineering: How Google Runs Production Systems: I have this book, you can borrowed it
- UNIX and Linux System Administration Handbook (5th Edition)
Below are some useful resource for sre learning & working:
- https://github.com/dastergon/awesome-sre
- https://sre.xyz/
- https://github.com/andrealmar/sre-university
For learning programming language, you can use https://www.hackerrank.com/dashboard for practicing your coding skill.