Where can I gain DevOps experience?
Ahmed ElFakharany
DevOps Expert | Bestseller Udemy Instructor | Opinions are my own
"I read a lot of books about programming and DevOps, I just need the hands-on experience. Where can I find that?"
"I learned the basics of Docker, Kubernetes, CI/CD (you name it) but I need to get my hands dirty!"
OK, we've all been there. A new technology/tool/product that's quickly turning into a trend and we want to see its potential in a real-world scenario and not just dry examples. The solution is simple, create your own project. I'm not talking about the famous "hello-world" type of stuff because those will get you that far. Start with one of the free APIs available on the internet (you can find a lot here https://rapidapi.com/collection/list-of-free-apis). Then build an app around that API with your favorite programming language.
For example, if I'm building around a weather API, I'd assume the users should be able to:
1. Log in to the app (try bearer token, oAuth, etc. to gain experience)
2. View the weather conditions in their area.
3. Perhaps send an alert when the conditions change (is it raining? snowing?)
4. Is it going to be just an API? how about building a nice GUI for it? ReactJS? VueJS? Maybe a desktop app version using Electron? What about Android and IOS?
5. Are you going to store users data somewhere for better user experience? MySQL or MongoDB? What about PostgreSQL? which one would best fit the application use case?
6. Do you want to cache the results of the API query for even faster responses? Does Redis come to mind?
I think that the above is more than enough for all types of programming experience (frontend, backend, security, design patterns, etc.) it can get as complex as you want it to.
7. Start the DevOps part: break the app into several services (microservices approach), Dockerize each of them, host them on a Kubernetes cluster, try with different CI/CD tools to automate your deployment. Think of different deployment strategies (A/B, Canary, etc.)
At some point, you may want to move the app to the cloud and see how AWS/Azure/GCP can help with their own build tools. What about monitoring? logging? alerting? What about Prometheus, Grafana, and the ELK stack for a start? Sending alerts to Slack? Perhaps through a Lambda function on AWS?
The possibilities are endless and you'll gain loads of experience in the process.
Finally, keep this Git repository as a portfolio describing your areas of expertise for potential employers.
Happy learning
German Kubernetes Solutions
3 年Hrittik Roy
RHC{X,I,E,SA} ?? | Cloud architect {AWS,Oracle} ??
3 年Well done Fakharany
I help by building FinOps practices to save millions of Euros and tons of CO?. #Leader in #FinOps and #GreenOps
3 年Dimitri de Wal Andrew Ng