Is an AWS cert a reasonable and effective way to do that? How did y'all learn more about dev ops?
I don't want to be an SRE, but I want to be able to build our applications without being locked into very limited and opinionated services.
The cert might be a good thing to aim for, but if you could specify what exactly you want/need to learn how to do. we could probably give more detailed information
[0] learn.cantrill.io
It also provides practical, real-world experience that none of AWS' certs offer.
An AWS cert will teach you how to do DevOps using AWS tools. It'll teach you how to build a CI/CD pipeline, deploy containers, manage Kubernetes, etc. all in AWS. But to really understand it all, you need to know the underlying tech.
I would suggest learning the underlying tech first. And then if you decide you want to deploy on AWS, get the AWS cert. But if you don't know the difference between a Packer file and a Dockerfile; or if you don't understand IaaC, the AWS cert (assuming you pass the exam) will be of little use.
If you want to do AWS, I may suggest getting a Developer Associate/DevOps Pro training course and going through it. But any time you run into a concept you don't know, stop the course and go backfill your general DevOps knowledge. It'll help you retain the AWS knowledge, and you'll also be in a better position to actually put that cert to use.
To answer your question: I don't think you're going to gain a whole lot out of the certification, but if it leads you to better understand how to build distributed systems, it couldn't hurt. Try to focus more on understanding the underlying concepts than the way AWS implements something. (Learning "the way AWS does it" is often a shitload of extra work which doesn't contribute to helping you understand how to design and operate systems)
Also fwiw, think of the word "DevOps" is a word that means 'the practice of technocultural collaboration'. There is no 'dev ops', but there is systems operations, systems engineering, systems architecture, systems administration. It doesn't really have to do with development, even if there is sometimes quasi-programming or developer-like concepts involved.
Sometimes I think I should start a computer systems engineering & operations school... It's a really deep set of topics that there aren't good books about.
It can be with EC2 or on your own physical/virtual Linux machine, but it should involve the required databases, the various components (e.g. your front & backends,) and some way of providing access (it could just be the option address and a port at the start.)
Lastly, figure out what it looks like to update code safely.
Afterwards, you should have a pretty good idea of how you can leverage cloud services to enhance or replace aspects of this, but will be dependent on none of them.
I can’t imagine that you’ll get this valuable perspective from any available course.