I work as a "DevOps" engineer for a local consulting shop in the upper Midwest. I've been a level designer, a front-end dev, a "webmaster," a back-end engineer, and an engineering manager before this.
Ask me anything, and I'll try to answer the best I can.
How your typical day looks like?
I know nothing about DevOps, but from my point of view it looks as following:
Configure couple of docker containers for interal projects, tweak kubernetes, spend half a day configuring AWS infrastructure, DNS, domains, production errors notifications, analytics, oh my.
It varies by client.
Right now, my daily schedule is something like this:
Thanks for the detailed reply!
Can you tell us your most interesting POC in Go or Python?
The second most interesting (first, I think, is probably covered by an NDA) POC I've ever done was to build a tool to discover applications with dependencies on misbehaving applications that weren't themselves reporting any problems and cross-reference with changes in various other metrics (e.g., hourly conversion rates).
The reason I put "DevOps" in quotes in the first place was because DevOps is a philosophy, not a job description, but most people that aren't in it view it as the latter.
What you're describing sounds like it's still in the same realm. DevOps is divided into many sub-fields; among them, automation engineering, site reliability engineering, performance engineering, and so on.
The trick is not to find the title that fits, but rather the job that fits. And that requires networking. Lots of it.
what do we need to orchestrate the docker containers when we can simply have instance running in auto-scaling group.
What are the advantages of having it.?
Can you give me one real time example of why and when to use AWS ECS?
Is it a good idea to run stateful application in AWS ECS? How can we achieve if yes?
The answer to most of that is "it depends."
Docker containers cycle much faster than virtual machines, so it's easier to scale up and down to meet demand. They are, however, more complex to deal with in an orchestrated fashion.
AWS ECS is... not ready yet. Don't use it. Instead, build a Docker Swarm cluster on EC2 and use it alongside your VMs until you're ready to cut over to pure Docker.
To get back to my original answer, whether you move to Docker or not is going to depend on a number of factors. "What is best for the business?" should be your guiding question.
Hi! Great to meet you!
Have you had any experience with migrating from on premises providers like BitBucket to something like Azure DevOps?
We're in the process of that exact thing right now, actually.
The process thus far is mirroring the BitBucket repositories to Azure DevOps Code, switching teams over to committing only to ADC, and slowly killing off the BitBucket repositories.
Thatโs really cool, glad to hear someone actually doing it. Trying to make the case for Azure DevOps where I work now ;)
Do you get full git history when mirroring the repos?
Good luck!
Yes; both BitBucket and AD Code are just git, after all.
Thanks! Canโt ask too many stupid questions!!
Haha, there are NO stupid questions.
For the DevOps flow, do developers create a new branch from the Master directly ? or there is a dev branch? ( I read that Microsoft create a new branch from Master directly).
Also, we are working with Azure Pipelines for CI CD, do you recommend to switch to Jenkins or Circle CI?
Most clients I work with create branches from master for individual features, and then when those features are ready, they're merged back into master. Pull requests are as atomic as possible.
I personally prefer CircleCI over both Azure Pipelines and Jenkins. However, when choosing a CI/CD tool, you should really consider your own needs. If Azure Pipelines works well enough to get work done and isn't negatively impacting your workflow, then don't switch off of it.
what recommendations would you give to folks who live in the Midwest for quality conferences and meetups to attend to level up their DevOps skills and knowledge?
I don't usually go to conferences to learn things; instead, I go to meet people.
However, the two conferences I've been to that have consistently taught me new things are AWS Re:invent and Open Source North.
Re:invent is pricey (about $1500 for the ticket alone), but it's so big that you're guaranteed to learn something new.
Open Source North is much cheaper (about $150), and it's local - it's just south of Minneapolis, MN.
I was more thinking about meetups or conferences that were local to the Midwest area. Any you'd recommend? DevOpsDays Minneapolis is a fantastic event, just curious if there are others.
If you're specifically in the Twin Cities, then Open Source North and the DevOps Meetup are the two big ones.
The Ansible meetup is fun but small.
How can a college graduate get started with "DevOps"?
Look for back end engineer jobs. When you get one, regularly volunteer to tackle tasks that require digging into multiple applications, networks, and system infrastructure.
Build a reputation for helping sysadmins, developers, and executives understand each other.
I put together a reading list on Amazon that might help. amazon.com/ideas/amzn1.account.AG6...
Thanks for the reading list
What are some of the best open source application software that you configure and use very often ?
That's pretty vague. One of my personal favorites is Traefik, though.
Do you like Thai food?
Yes, love it! My wife and I went to our honeymoon in Thailand. I miss Som Tum.
How did you feel about the concept of devops when it first started becoming a thing?
At first I was confused about what it was supposed to be. I heard multiple things - that it was a philosophy, that it was a variation of system administration, etc. To be honest, I was a little wary of it.
It was after pivoting at a job from generic senior software engineer to an "operations engineer" that I started to really figure it out. Learning how to break down silos and teach infrastructure concerns to devs and app development concerns to sysadmins was a lot of fun.
In your experience, do you feel working as DevOps engineer is closer to working as a dev or sysadmin?
Closer to a sysadmin, though it also includes developer evangelism as a core part of the job. Traditional system administration roles don't usually have to worry about developer needs or processes.