Tag Archives: sysadmin

Cloud Connectivity in AWS: Choosing Between NAT and Internet Gateways

During a few of my AWS Cloud infrastructure build outs, client team members tend to wonder and ask why I use both Internet Gateway service, as well as a NAT Gateway service when setting up the network layer of the environment. Some with advanced networking knowledge made a point stating that we could skip the NAT configuration, and use the Internet Gateway service for all Internet access, which technically is true, and can be done. As a matter of fact, for smaller configurations with limited complexity requirements, that is a common practice; a single Internet Gateway service for all ingress/egress Internet traffic.

But why is that in other complex and large environments, especially where security is of a high concern, we tend to use different internet facing Gateway services? and what is the benefit of doing so?

Continue reading Cloud Connectivity in AWS: Choosing Between NAT and Internet Gateways

Containers Unboxed: Navigating the Sweet Spot Between ECS, EKS, and Kubernetes (K8s)

Containers: A lightweight, portable unit that packages an application and its dependencies into a single standardized executable image. Unlike traditional applications that rely on host operating systems and local dependencies, containers provide isolation at the process level, ensuring consistency regardless of where they run—be it on a developer’s laptop, an on-premises server, or a cloud environment. This makes containers particularly useful in DevOps workflows, continuous integration/continuous deployment (CI/CD) pipelines, and hybrid cloud strategies, where consistency and portability are key.

Continue reading Containers Unboxed: Navigating the Sweet Spot Between ECS, EKS, and Kubernetes (K8s)

From Servers to the Cloud: The Story of SysAdmin, DevOps, and SRE Roles

In the world of technology, three roles have shaped how systems are built, run, and kept alive: the traditional System Administrator, the modern DevOps engineer, and the specialized Site Reliability Engineer. Each emerged from different needs, shaped by the tools and challenges of their time. As businesses shifted from on-premises hardware to cloud-native architectures, these roles adapted, overlapped, and sometimes evolved into one another. This is the story of their journey—where they came from, how they’ve changed, and where they stand today.

Continue reading From Servers to the Cloud: The Story of SysAdmin, DevOps, and SRE Roles

The Lost Art of Troubleshooting in the Cloud Era

In today’s hyper-connected, cloud-dominated tech landscape, it’s easy to forget that some of the most valuable engineering skills aren’t about learning the latest framework or mastering Kubernetes. One of the most underrated yet crucial abilities remains the art of troubleshooting—a process that goes beyond surface-level fixes and delves into the root causes of complex technical issues. Whether in IT, software development, or systems engineering, effective troubleshooting is essential for sustaining reliable infrastructure and ensuring long-term performance.

Continue reading The Lost Art of Troubleshooting in the Cloud Era

The Role of Automation in Modern Software Development

Automation in the software development industry refers to the use of tools, scripts, and processes to perform repetitive tasks with minimal human intervention. It streamlines the software development lifecycle, including activities like code integration, testing, deployment, and monitoring. Automation helps to increase efficiency, reduce errors, and ensure consistency across all stages of development, ultimately leading to faster delivery of high-quality software. In this context, it becomes an integral part of modern development methodologies like DevOps and Continuous Integration/Continuous Deployment (CI/CD).

Continue reading The Role of Automation in Modern Software Development

IaC – What it is, and Why it Matters

Infrastructure as Code (IaC) refers to the practice of managing and provisioning IT infrastructure through code rather than through manual processes. With IaC, infrastructure configurations—such as servers, networks, databases, and security settings—are written in machine-readable code and stored in version-controlled repositories. This approach enables the automation of infrastructure management, which is both repeatable and consistent, eliminating human errors and ensuring that the infrastructure is always in a known, desired state.

Continue reading IaC – What it is, and Why it Matters

Containers & Orchestration

Container orchestration refers to the automated management of containerized applications across clusters of machines. It involves processes like deployment, scaling, load balancing, and networking, ensuring that containers run efficiently in distributed environments. The goal is to abstract away the complexities of handling multiple containers and their interdependencies, enabling seamless deployment and operation at scale.

Continue reading Containers & Orchestration

DevOps and SDLC; an Ecosystem of Quality & Delivery Excellence

DevOps has become a critical component in the software development lifecycle (SDLC) by bridging the gap between development and operations teams. Traditionally, these two groups operated in silos, which led to inefficiencies, delayed releases, and increased risk of failure. DevOps fosters collaboration and integration, enabling both teams to work together throughout the lifecycle. By automating manual processes, continuous integration (CI) and continuous delivery (CD) pipelines allow for faster and more frequent updates, which is essential for maintaining competitive advantage in today’s fast-paced software development landscape. This shift not only accelerates product development but also helps to ensure higher quality, as bugs are identified and addressed earlier in the process.

Continue reading DevOps and SDLC; an Ecosystem of Quality & Delivery Excellence

Back Up and Running in Cloud Native

Finally had the time to rebuild and refresh the blog site. gotsudo.com in now full Cloud Native running in AWS (has always been, however in a more traditional server-based installation).

The recent migration included an AWS Lightsail service that provides various bundles of OS/applications, which in my case is WordPress running on Linux. Various tiers are also available to fit every budget out there.

I decided to take things a step further, and serve the public facing version of the website in a static configuration, leveraging AWS S3 to host the site files, with AWS CloudFront caching layer sitting upfront for the parent gotsudo.com address.

This allows me to limit access to the actual WordPress site running in Lightsail, transforming it to a true authoring and publishing site, rather than a public front-facing one.

Various WordPress plugins are available that can easily produce a static version of the website, and can also integrate with AWS services (or any other CSP) to auto publish files into S3 or any other repository of choice. While these make things much easier and more integrated, I decided to air-gap the systems, allowing me to selectively produce the published files and upload them to S3 using other means of tailored automation.

Later on, I may add some more integrations to the site, however at this point I’m quite happy with how far it came over a busy weekend’s time.