Sitemap
Ebenezer Ndubuisi

Ebenezer Ndubuisi

Aspiring Cloud & DevOps Engineer | AWS • Docker • Kubernetes • Terraform | Building Scalable CI/CD Pipelines & Infrastructure as Code (IaC) | Automation

Week 3 Reflection: From Deploying Applications to Understanding Systems

4 min readJul 28, 2026

--

When I began Week 3 of the DevOps Micro Internship (DMI) with Agentic AI — Cohort 3, I thought Linux was simply another operating system that developers used to host applications. By the end of the week, I realized that Linux is much more than that, it’s the foundation upon which many modern cloud and DevOps environments are built.

This week wasn’t just about learning commands. It was about understanding how systems work, how applications are deployed, how production environments are maintained, and why automation is at the heart of DevOps.

The Linux Terminal Became Less Intimidating

At the beginning of my cloud journey, the Linux terminal felt overwhelming. Every command seemed unfamiliar, and making mistakes was almost guaranteed.

Week 3 changed that.

Through hands-on assignments, I became more comfortable navigating directories, editing files, managing services, and interacting with an Ubuntu virtual machine entirely from the command line. Instead of memorizing commands, I started understanding why they exist and when to use them.

That shift in mindset made all the difference.

Deploying My First React Application with NGINX

One of my favorite assignments involved deploying a React application to an Ubuntu virtual machine using NGINX.

After configuring the server, building the React project, and serving it through NGINX, I finally opened my browser and saw:

Welcome to My React App
This app is running on NGINX!
Deployed by: Ebenezer Ndubuisi

At first glance, it looked like a simple webpage.

To me, it represented hours of learning Linux commands, understanding web servers, configuring NGINX, and troubleshooting deployment issues.

Seeing that page load successfully from the server’s public IP reminded me that software development doesn’t end after writing code. Someone has to make that code available to users.

That “someone” is often a DevOps engineer.

Deploying a Production-Style Website

The next assignment built on that experience.

This time, I deployed the EpicReads portfolio website using NGINX.

When I reached the footer of the deployed site and saw:

Deployed by: DMI Cohort 3 | Ebenezer Ndubuisi | Group 2 | Week 3 | 22–07–2026

I paused for a moment.

That small line of text represented much more than a completed assignment.

It represented progress.

Every Linux command, configuration file, permission adjustment, and troubleshooting session had contributed to something tangible, a live website running on a Linux server.

Learning That Deployment Is Only the Beginning

Before this week, I believed the hardest part of DevOps was deployment.

I was wrong.

Another assignment introduced a Production Maintenance Drill, where the focus shifted from deploying systems to keeping them healthy.

Instead of asking:

“Can I deploy this application?”

I started asking:

“If this server stops responding tomorrow, would I know where to begin?”

That simple question changed how I think about DevOps.

Production environments require monitoring, maintenance, health checks, log analysis, and continuous verification.

Keeping systems reliable is just as important as deploying them.

Discovering the Power of Bash Automation

One of the most rewarding assignments involved writing a Bash automation script.

The script:

  • Displayed assignment information
  • Verified required directories
  • Checked whether specific files existed
  • Printed a checklist of required tools
  • Used variables, arrays, functions, and conditional statements

Looking at my terminal and seeing functions like:

  • print_user_details()
  • check_files()
  • print_tools()

working together gave me a completely different appreciation for automation.

Get Ebenezer Ndubuisi’s stories in your inbox

Join Medium for free to get updates from this writer.

It wasn’t about writing more code.

It was about reducing repetitive work while making systems more reliable.

That is exactly what automation should accomplish.

AI-Assisted Linux Health Checks

Perhaps the most eye-opening assignment involved using AI to analyze a Linux server’s health report.

The report confirmed that:

  • NGINX service was active
  • Port 80 was listening
  • HTTP requests returned Status 200
  • Disk usage remained healthy
  • Memory availability was sufficient
  • Overall system status was HEALTHY

A few months ago, output like that would have looked like random text scrolling across a terminal.

This week was different.

I understood every result.

More importantly, I understood why each check mattered.

That realization showed me how much I’ve grown, not because I know everything now, but because I can finally interpret the information in front of me.

AI made the analysis faster, but understanding the results still depended on my growing knowledge of Linux systems.

The Biggest Lesson from Week 3

If Week 3 taught me one thing, it is this:

DevOps isn’t about deploying applications. It’s about understanding, maintaining, automating, and improving the systems that keep those applications running.

Deployment is exciting.

But production reliability is where real engineering begins.

Every assignment this week reinforced that idea.

Whether I was configuring NGINX, writing Bash scripts, performing health checks, or deploying applications, each exercise contributed to a broader understanding of how modern infrastructure operates.

Looking Ahead

Week 3 challenged me in ways I didn’t expect.

It pushed me beyond simply following tutorials and encouraged me to think like someone responsible for production systems.

I still have plenty to learn.

There are still commands I look up, documentation I revisit, and mistakes I make.

But one thing has changed.

The Linux terminal no longer feels intimidating.

Instead, it feels like a place where I’m gradually becoming more confident with every command I type.

And that, more than anything else, is what makes this journey worthwhile.

Final Thoughts

Looking back, Week 3 wasn’t just about Linux or Bash.

It was about developing the mindset required to become a Cloud and DevOps Engineer.

Every deployment, every script, every production checklist, and every health report reminded me that technical growth isn’t measured by how many commands you memorize.

It’s measured by how well you understand the systems you’re responsible for.

I’m excited to keep building, keep learning, and keep sharing this journey.

The best is yet to come.

P.S. This post is part of the DevOps Micro Internship (DMI) with Agentic AI — Cohort 3 — by Pravin Mishra. My graded progress is public: https://dmi.pravinmishra.com/s/UchennaEbenezer.html · Start your DevOps journey: https://dmi.pravinmishra.com/?utm_source=student&utm_medium=ps-blog&utm_campaign=cohort3

Press enter or click to view image in full size

--

--

Ebenezer Ndubuisi
Ebenezer Ndubuisi