Best of DevOpsJanuary 2025

  1. 1
    Article
    Avatar of javarevisitedJavarevisited·1y

    System Design CheatSheet for Interview

    This post provides a comprehensive cheatsheet of essential system design concepts commonly covered in interviews. Topics include REST API, networking, OAuth & JWT, cookies vs sessions, CI/CD workflows, Kafka, various databases, system testing, Git, Docker, Kubernetes, design patterns, logging, load balancing, and more. It's aimed at helping readers quickly revise these concepts before an interview.

  2. 2
    Video
    Avatar of thecodingslothThe Coding Sloth·1y

    A Docker Tutorial For Dummies

    Docker is a widely-used tool that simplifies the process of developing, deploying, and running applications within lightweight containers. It helps developers avoid compatibility issues by packaging code and its dependencies together. This tutorial provides a step-by-step guide to getting started with Docker, covering the basics of images and containers, setting up Docker on your development environment, writing Dockerfiles, and managing multi-container applications with Docker Compose.

  3. 3
    Article
    Avatar of freecodecampfreeCodeCamp·1y

    Learn to Use GitHub Actions: a Step-by-Step Guide

    GitHub Actions allows developers to automate, build, test, and deploy their applications directly from GitHub. This guide provides step-by-step instructions for creating GitHub Actions using either the GitHub UI or locally via an IDE. It covers key concepts like workflows, events, jobs, and runners, and includes examples for setting up Node.js, Deno environments, zipping files, and deploying static websites to GitHub Pages.

  4. 4
    Article
    Avatar of itnextITNEXT·1y

    Essential CLI/TUI Tools for Developers

    Discover a categorized list of essential CLI/TUI tools that can boost developer productivity and make terminal usage more enjoyable. The post covers tools for managing Kubernetes clusters, container metrics, file and text operations, Git commands, development tasks, and networking. Each tool is briefly described with its main features and use cases.

  5. 5
    Article
    Avatar of dockerDocker·1y

    Mastering Docker and Jenkins: Build Robust CI/CD Pipelines Efficiently

    Learn how combining Docker and Jenkins can enhance CI/CD pipelines, ensuring consistent environments and faster deployments. The guide covers setup essentials, pipeline configuration, using plugins, optimizing pipelines, and troubleshooting. Key benefits include uniformity from development to production, scalability, and reduced errors.

  6. 6
    Video
    Avatar of flydotioFly.io·1y

    Dockerfiles for absolute beginners

    Containerized apps are common, but Dockerfile complexity can intimidate newcomers. This guide breaks down Dockerfile basics, including instructions, layers, and multi-stage builds. You can generate Dockerfiles using tools like fly.io and npm packages to simplify the process.

  7. 7
    Video
    Avatar of typecrafttypecraft·1y

    This one tool forever changed how I use Docker

    Managing Docker containers and images can be simplified with a tool called lazy Docker. Created by Jesse Duffield, it offers a terminal UI that helps users perform Docker commands with ease. This tool allows you to manage containers, images, volumes, and networks through a clean and efficient terminal interface. Instructions for installation on different operating systems, such as Mac, Windows, and others, are provided. It’s useful for those who often forget Docker commands or prefer working within the terminal.

  8. 8
    Article
    Avatar of pulumiPulumi·1y

    Python for DevOps

    Python is highly versatile for both quick fixes and long-term infrastructure in DevOps. It excels at building custom solutions and automating tasks using libraries like Django, Flask, Prometheus, Schedule, and Airflow. Additionally, Python supports network analysis with Scapy, security scanning with Bandit, container management with Docker SDK, and infrastructure as code with Pulumi. Combining these tools allows the efficient creation of dashboards, automations, and complex deployments from a single language.

  9. 9
    Article
    Avatar of freecodecampfreeCodeCamp·1y

    How to Containerize a Node.js Application Using Docker – A Beginner's Guide

    Learn how to containerize a Node.js application using Docker with this step-by-step guide. The tutorial covers the basics of Docker, key terms, and commands, providing a hands-on demo project to containerize a simple Node.js-based backend service. Instructions on creating a Dockerfile, setting up Docker, and running your application inside a container are included, along with benefits and best practices of using Docker.

  10. 10
    Article
    Avatar of detlifeData Engineer Things·1y

    End to End Data Engineering

    This post details the tools, technologies, and concepts essential for data engineering, emphasizing different paths for success based on roles and backgrounds. It highlights the importance of both analytics and infrastructure sides and mentions popular tools like Airflow and Snowflake. The significance of software engineering principles and specific data engineering roles is also discussed.

  11. 11
    Article
    Avatar of devtoDEV·1y

    How to Secure TypeScript Applications...??

    Developing secure TypeScript applications involves more than just leveraging the language's type system; it requires comprehensive strategies that address code vulnerabilities, runtime safeguards, and secure deployment practices. Key practices include setting strict compiler options, validating inputs, preventing common vulnerabilities like XSS and SQL injection, ensuring type-safe APIs, auditing dependencies, and configuring proper security measures during deployment and monitoring.

  12. 12
    Article
    Avatar of devtoDEV·1y

    A Look Inside Docker & Its working.

    Docker is a tool to run containers and build images, providing a CLI and API for container management. Containers are isolated entities that include applications and their dependencies. Docker images define container contents and operation. The Docker CLI translates commands into API requests for the Docker daemon, which manages container and image operations via ContainerD and runc. Key Linux features, Namespaces and C-Groups, provide process isolation and resource allocation within containers.

  13. 13
    Article
    Avatar of pulumiPulumi·1y

    Kubernetes Best Practices I Wish I Had Known Before

    Kubernetes has revolutionized the building, shipping, and running of applications, but adopting best practices can save time, money, and headaches. Key recommendations include setting resource requests and limits, using namespaces for organization, avoiding multi-container pods unless necessary, using package managers for YAML files, implementing ingress and networking best practices, and setting up proper monitoring and security measures. Additionally, it's important to automate deployments with CI/CD, keep the cluster updated, and use labels and annotations wisely. Adopting a multi-environment approach, optimizing container images, and following a reliable logging strategy further enhance efficiency and reliability.

  14. 14
    Video
    Avatar of youtubeYouTube·1y

    Stop Using Docker. Use Open Source Instead

    The post discusses the transition from using Docker to alternatives like Podman for container management, highlighting Podman's benefits such as being open-source, free for commercial use, faster, safer, and less resource-intensive. It emphasizes that Podman complies with the Open Container Initiative (OCI) standards, making it a true drop-in replacement for Docker. The post also shows how Podman integrates with Kubernetes and other tools for a seamless workflow.

  15. 15
    Article
    Avatar of softwaretestingmagazineSoftware Testing Magazine·1y

    Open Source API Testing Tools

    With the increasing adoption of SOA and microservices architecture, multiple open-source tools have emerged for automated API testing. This post reviews tools such as Airborne, APIAuto, Apickli, ArexTest, Bruno, Dredd, Firecamp, Frisby, Insomnia, Mountebank, RestAssured, Schemathesis, SoapUI, SuperTest, and Tavern. These tools support various protocols (REST, SOAP, GraphQL) and offer functionalities like test management, integration with CI/CD processes, and detailed logging.

  16. 16
    Article
    Avatar of infoworldInfoWorld·1y

    The devops certifications tech companies want

    Devops certifications are highly valued by tech companies and can significantly impact career advancement and salary for both early-career professionals and those transitioning into devops roles. The global devops market is projected to grow substantially, increasing the demand for certified professionals. Certifications such as AWS Certified Devops Engineer, Certified Kubernetes Administrator, and Microsoft Certified Azure Devops Engineer are popular and demonstrate expertise in key tools and methodologies. While practical experience is crucial, certifications validate skills and commitment to continuous learning, making candidates more attractive to employers.

  17. 17
    Article
    Avatar of neontechNeon·1y

    Test Your Database Without Mocks

    Mocks for databases are often too brittle and complex to be useful, leading to unreliable tests and maintenance headaches. Instead of mocks, using database branching provides isolated, real-environment testing without the downsides of mock setups. Branching allows efficient and cost-effective testing by creating copies of databases that only differ when changes are made, offering a more realistic and reliable testing scenario.

  18. 18
    Article
    Avatar of lobstersLobsters·1y

    Goodbye Github Pages, Hello Coolify · Quakkels.com

    Quakkels.com has moved from Github Pages to Coolify, an open-source PaaS that enables self-hosting applications, databases, and services without managing servers. The transition is driven by a desire for more independence from big tech. Coolify supports various applications like Laravel, Django, Nextjs, and more, automating deployments and notifications to minimize self-hosting complexities.

  19. 19
    Article
    Avatar of hnHacker News·1y

    LinuxServer.io

    Webtop provides Alpine, Ubuntu, Fedora, and Arch based containers with full desktop environments accessible via modern web browsers. It supports multiple architectures, various desktop environments, and allows configuration through environment variables. Security setups are crucial if exposed to the internet. GPU acceleration, language support, and application persistence are further features available. Updating, managing, and building these containers require specific steps and commands.

  20. 20
    Article
    Avatar of communityCommunity Picks·1y

    Aptakube · Kubernetes GUI

    Aptakube is a modern, lightweight Kubernetes GUI that enables users to view, compare, and manage workloads across multiple clusters simultaneously. It provides features such as an aggregated log viewer, resource diff, quick actions, port forwarding, and human-friendly resource views. Designed to work seamlessly with existing configurations, Aptakube offers enhanced usability and resource management without requiring additional setup on clusters.

  21. 21
    Article
    Avatar of hnHacker News·1y

    Nix - Death by a thousand cuts

    The author shares their experience of using NixOS, highlighting benefits like declarative configuration, easy service setup, and ephemeral shells. However, they discuss various drawbacks such as version upgrade complexities, community challenges, and high resource use. They conclude that while Nix offers significant advantages, especially for reproducible configurations, it requires a steep learning curve and ongoing maintenance that may not suit all users.

  22. 22
    Article
    Avatar of milanjovanovicMilan Jovanović·1y

    Scaling Monoliths: A Practical Guide for Growing Systems

    Scaling monoliths can be achieved through various strategies such as vertical scaling, horizontal scaling, database scaling, caching, and using message queues. Vertical scaling involves adding more resources to a single machine, while horizontal scaling involves running multiple instances behind a load balancer. Database scaling can be done using read replicas, materialized views, and database sharding. Effective caching can reduce database load, and message queues can help manage traffic spikes by deferring heavy tasks. The key is to implement the right solution based on specific bottlenecks and system requirements.

  23. 23
    Article
    Avatar of medium_jsMedium·1y

    Getting Started with CI/CD: An Introductory Guide to GitHub Actions for New Developers

    Learn how to create CI/CD pipelines using GitHub Actions for automating code integration and deployment processes. The guide explains the basics of Continuous Integration (CI) and Continuous Deployment (CD), providing step-by-step instructions on writing workflows for a Node.js project with deployment to an AWS EC2 instance. It also covers Docker integration and managing secrets for secure operations.

  24. 24
    Article
    Avatar of infoworldInfoWorld·1y

    4 tiny Docker images for lightweight containers

    This post explores how small you can make a Docker image, focusing on four tiny but powerful base images: Alpine, BusyBox, Debian Slim, and Red Hat UBI Micro/Minimal. It discusses the advantages of lightweight containers, such as reduced attack surfaces, fewer dependencies, and faster build times. Additionally, it highlights a bonus repository by Jérôme Petazzoni, which offers experimental minimal Docker images for various tasks.

  25. 25
    Article
    Avatar of devtoDEV·1y

    My favorite Angular Setup in 2025

    The post shares an opinionated guide on the most effective tools, libraries, and practices for Angular development in 2025. It covers the adoption of Signals for reactivity, use of Angular CLI over Nx, combining Angular Material with Tailwind CSS for UI development, testing frameworks like Jasmine/Karma and Playwright, and code guidelines involving ESLint, Prettier, Husky, Lint-Staged, and Sheriff. Other topics include state management with SignalStore, the usage of 'inject' over constructors for dependency injection, and the advantages of zoneless mode and OnPush strategy for performance.