Mentor's Guide
- What we sell and who our clients are
- How to fill in your profile
- Key mentorship principles
- How you teach students and communicate with them
- Managing the student's subscription
- Study programs
- Quests
- Voice Consultations
- About money
- Rules of communication between mkdev and mentors
- Teaching somewhere else
- Meditations on Programming
- Study Plan Example
Study Plan Example
Programming
I think of it as being the most important, because you can't have DevOps without programming skills. For example, you can't use Puppet of Chef if you don't know programming. I've seen the work of network engineers with these tools and it's always horrendous and look as a giant hairy shell script. Another part of DevOps is communication and you need to be able to understand the developers.
I don't like imagenery code examples, so I recommend studying some real projects.
Your first task you know already - it's to make this https://github.com/test-kitchen/kitchen-ec2/issues/286.
After that you have a million options. For example, you can support foreman monitoring with CloudWatch - https://github.com/theforeman/foreman_monitoring.
But I recommend you writing a small web-application. Something for yourself, that you yourself can use. Mine was a money manager.
Of course I recommend Ruby/Rails - it' easy and it's popular in web development and DevOps alike. You can also have Python for the same reasons. Another option is Go, I mean, Docker itself is written on Go. A good DevOps engenier must be able to upgrade any tool, add a new feature and fix any bug. And for that you need programming skills.
It makes sense for you to hire, for example, Victor Shepelev on mkdev, to work on your programming. His focus is programming novices and his study plan is great and will be adapted for you. In any case, you should finish with test kitchen ec2 ephemeral key pair first. Be done by the end of summer.
System administration
I feel there's work to be done here - for example, you need to know cgroups https://access.redhat.com/documentation/en-US/Red_Hat_Enterprise_Linux/7/html/Resource_Management_Guide/index.html. RedHat Docs - are an endless well of knowldge, you should study them: https://access.redhat.com/documentation/en/red-hat-enterprise-linux/?version=7/.
AWS
Since you're using AWS every day and since AWS is in a high demand, you should learn it better. Ideally you need some certification, for example https://aws.amazon.com/certification/certified-solutions-architect-associate/. They are not hands on, but while you are preparing (through Linux Academy) you will learn what AWS has and how to use it (things like CloudTrail, IAM, AWS Config and other services - it is important just to know what is out there and be prepared to se it, otherwise you can fall into re-inventing existing services as you did with aws cli + cron). You should sign up for a certification tomorrow and pass it till the end of the year.
Tools
There are 2 tools that will bring you closer to infrastrucutre as code: Terraform and Packer. Both of them are important for AWS.
Puppet
You have a task for it already. You should also pass Puppet Certified Professional, it's easy, you can add it to your CV and train your theoretical knowledge.
Docker, Openshift
Docker - don't loose your head in the company, think about what can it fix and all the main components you need. Configure private registry, CI, container scans, base images. Containers and Docker go first (and before Docker you need to understand cgroups, linux capabilities, selinux), and Openshift after that.
k8s and openshift are PaaS. You can't just install and use them - it requires changing all developing and deploying processes. I think a nice way to try it out will be to use openshift and for every pull request create review apps (https://about.gitlab.com/2016/11/22/introducing-review-apps/). Test in k8s through jenkins and so on. Oh, and ideally it should be openshift origin.
Grand Total
This should do wof a couple of months. Tell me what you think and report back in 4 weeks. If you don't report back, I will find and get you myself :-)