DevOps: The Journey of Figuring Things Out


Once upon a time in an interview...

I was asked, “What is DevOps?” In my head, I was like: “Pffft, I know what DevOps is. Let’s just move on, bruh.”

But then the interviewer said, "Tell me more." And I froze. Like, I thought I knew. But what was it really? Hmm… communication? Feedback? Automation? Yep, that's it!

So, DevOps is all about:

  • Communication: Teamwork, sharing ideas, staying in sync.
  • Feedback: Catching problems early! Like, super early.
  • Automation: Automate the boring stuff so you can focus on the fun stuff.


Then the next question popped up: "CI/CD. What’s that?"

And suddenly, I felt like a toddler who pretended to know their ABCs but now had to sing the whole alphabet in front of the class.

CI/CD:

  • CI (Continuous Integration): Running tests and packaging stuff all the time. So easy, right?
  • CD (Continuous Deployment): Deploying stuff to test environments and then pushing it to production.

And then, I sat back and thought: “What do I even know about this stuff??”


Let’s break it down (with Stick Figures for ease)!

AWS Tools (the magical DevOps tools)

  1. CodeCommit – Private source control. It's like a private bookshelf where you put your code and make sure nobody steals it. ??
  2. CodePipeline – Orchestrates the CI/CD pipeline. Orchestrating? Oh, you mean managing the entire process! ???? Imagine a conductor of an orchestra waving a stick around while everyone else plays their part. ??
  3. CodeBuild – Builds and tests your code. Builds? Like a lego set? Sure! But your code is the lego, and CodeBuild is the builder. ???
  4. CodeDeploy – Automates deployment. Deploying to production is like taking your code out for a spin! ??


The Toxic Relationship with Tech (yep, I said it!)

Yes, tech has a strange way of making you feel smart and dumb at the same time. There are big words like IaaC, PaaS, and IaaS that make you feel like you're in a tech dictionary. ?? But, don’t worry, here’s what those mean:


IaaC: Infrastructure as Code (hello, automation!)

Imagine telling your computer to make your server ready to roll. You don’t need to click buttons; you just write code! ????

  • Provisioning: That’s just setting up servers, databases, storage, and all that cool stuff.
  • Automation: Making sure the same thing happens every time you set up something new. Like magic.?

Tools for this? Terraform, AWS CloudFormation. These let you write down your server setup in code and boom! Your server is ready.


Configuration Management:

  • Ansible or Puppet: These are like your personal helpers. They make sure everything is installed and working on your servers. Want to make sure 100 servers have the same software? These tools got you. ??


CloudFormation in AWS (Yeah, It’s Cool)

CloudFormation is like building a house. You lay out your plan (using YAML or JSON), and BOOM, AWS builds your infrastructure for you. ??

Advantages:

  • Automation: Setup your environment the exact same way every time.
  • Predictability: No surprises, ever.
  • Rollback: If it breaks, we can fix it fast.

For example:

Resources:
  MyBucket:
    Type: AWS::S3::Bucket
    Properties:
      AccessControl: PublicRead
        

In layman’s terms: You're asking AWS to build you an S3 bucket, and CloudFormation ensures everything is set up perfectly.


A Few More Fun AWS Terms:

  1. Template – A script that defines what resources you want. ??
  2. Stack – The final product, all the resources created together. ???
  3. Changeset – Making changes to a stack? This checks what’s about to change. ??


CloudFormation vs Beanstalk:

CloudFormation is for serious infrastructure setup. Beanstalk? It's more like a ready-to-use house with a little less customization. ??

OpsWorks: Imagine ensuring every server has the same software. It’s like making sure every pizza is cooked the same way, everywhere. ??


Command Line – Let’s Go Old School:

AWS CLI is like the secret code you enter to make AWS do stuff. Want to talk to AWS directly? Just type a command. No extra costs for fancy interfaces! ??


The Moral of the Story

In the end, DevOps is a journey. It’s not about knowing everything, but about learning to embrace the process. Step by step, you’ll figure out CI/CD, CloudFormation, AWS tools, and all the buzzwords. ??

It’s like that moment when you finally get the joke, and you feel like the smartest person in the room. Ah-ha! ??


So, next time you get asked, “What is DevOps?” you’ll be like:

“Communication? Feedback? Automation! We’re always testing, building, and deploying. Let's do it all with AWS, man. Easy as pie.”

And remember, you got this! ??

Weddy Nkatha

Software Engineer @ Safaricom PLC | Cloud | AWS | Systems Engineering | SRE | DevOps | Full-Stack Developer | Technical Mentor.

1 个月

Demistifying tech is always a favourite thing to do ????

要查看或添加评论,请登录

Joyce Waruguru的更多文章

社区洞察

其他会员也浏览了