Likogan.Dev

Linux System Administrator, Website Developer

Services

Automation (CI/CD)

In today's fast-paced development environment, quickly testing and deploying code is vital to maintain your userbase. Automating tasks like this allows developers to focus their time on what's important and limit the amount of time spent repeating repetitive tasks that are better to be done by machine.

Introducing software like Gitlab to implement techniques like CI/CD (Continuous Integration and Continuous Deployment) speeds up the development process by automating these tasks. A CI/CD pipeline can automatically test code, verify quality code, and deploy code changes. Developers all work on a single codebase powered by Git. This codebase is then automagically tested and deployed without the the developers needing to do any of this sensitive work. Humans make mistakes. It's very easy. Humans also miss mistakes. Did you see that I wrote the twice? Relying on humans to deploy mission-critical changes could lead to unforseen consequences. Why not automate it?

Networking (Web-DDoS Mitigation, Reverse Proxies, BGP)

You, wherever you're from, almost instantly loaded my webpage. My webpage that contains paragraphs of information about who I am and what I do. This magic is what powers our modern world. Without the instant communication that the internet brings us, our world would look vastly different than it does today. That's why it's so important to ensure you have a solid and reliable network setup for all of your servers, services, and customers. Some companies, like Cloudflare, pride themselves on their ability to quickly server content. You don't want to lag behind. I have experience configuring mesh networks (L2, L3, Wireless) as well as virtual networks and firewalls.

My networking expertise comes mostly with reverse proxies. Reverse proxies are amazing. Probably one of my favourite feats of the modern internet. A reverse proxy is quite simple. It is a server that sits in-front-of another server. Instead of connecting directly to my website, likogan.dev, you first connect to a reverse proxy. Reverse proxies are amazing because they allow you to do so many things. These are the forefront of DDOS mitigation since they can be used to screen users before they access your site, acting as a shield. They can also be used to lighten server workload by storing commonly used resources in RAM (such as images, javascript, CSS.)

Security (DNS Malware Blocking, System Hardening)

Ensuring server security is of utmost importance to prevent bad actors from abusing you and your customers data. Data breaches can wreak havoc for a company, and they can happen to anyone. I have experience configuring DNS-based malware blockers which will prevent connections to malicious sites at the network level. On top of this, I have experience hardening Linux servers including SSH servers, web servers (including PHP), wordpress, and many other services exposed to the public internet.

Smaller Projects

Tor Exit Relay

Tor Exit Relays pose a unique challenge due to their high traffic volume and server resource limitations. Too much traffic may lead to congestion, hindering connection speeds. Conversely, underutilization means it isn't effectively contributing towards the network. Additionally, it's important to maintain relay security to prevent bad actors from abusing critical parts of the Tor network.

Homelab

I run a Dell Poweredge R710 in my home with 24TB redundant storage achieved with RAID-1 boot drive and RAID-5(w/ two parity drives) VM storage. Connected to a redundant L2 mesh network to ensure a stable connection this server is one of my favourite things to play with. It runs resource intensive applications like my Gitlab server and home media server.

Youtube Discord Bot

I created a Discord bot for YouTube that runs in a Docker container, making setup a breeze. This bot streams music live and features a convenient queue system that automatically plays the next song when the current track ends. Users can pause or skip songs, providing a fully-featured music player experience right within Discord.

Ask me about...

Anycast Content Delivery Network

One of my proudest achievements is my Anycast Content Delivery Network, which consists of three nodes located around the world: US East, US West, and Luxembourg. This network hosts the majority of my web content, including the site you're currently viewing.

They key feature of an Anycast Content Delivery Network is the load balancing, which distributes traffic across multiple nodes. This significantly improves client latency and provides a layer of redundency, leading to a better experience across the board.

Working with this CDN has greatly enhanced my knowledge of server administration. It required me to implement robust CI/CD pipelines, as I wanted to avoid deploying code to multiple servers each time I made an update. Additionally, I gained valuable insights into distributed load management and Border Gateway Protocol (BGP).

Docker Infrastructure

Docker has rapidly transformed the hosting industry by simplifying the setup and deployment of applications with minimal effort. The environment comes pre-configured, requiring only a few environment variables or secrets to get up and running.

At its core, Docker is a platform for developing, shipping, and deploying applications. It enables the deployment of applications within 'containers.' While similar to virtual machines, Docker containers share a kernel with the host operating system, allowing for efficient resource utilization. This containerization approach ensures that separate dependencies, applications, and even distributions can run independently from one another, even though they're physically running on the same server.

I have personally managed servers hosting hundreds of Docker containers, all operating simultaneously. This experience has equipped me with the skills to optimize performance and troubleshoot issues effectively. Additionally, I have developed and maintained several Docker applications.

Reverse Proxies

I have extensive experience with reverse proxies, primarily using NGINX, but also with HAProxy. I've configured reverse proxies for a wide range of applications, including websites, IRC servers, Minecraft servers, WebSockets, SSH, and more.

Reverse proxies are incredibly powerful due to their extensive configurability and flexibility. They enable features such as DDoS mitigation and client screening, as well as caching to reduce the workload on upstream servers. This versatility allows reverse proxies to be applied in nearly any scenario, enhancing the performance and security of various services. I utilize them myself for almost every website and service I manage!