ARTICLES

  • Where Did All The Focus Time Go? Dissecting 1.5 Million Meetings With Clockwise's VP of Engineering Dan Kador

    Where has all the focus time gone? Why does there seem to be less of it at big companies than at startups? And do managers really have as little as they claim? It should come as no surprise to our listeners that we're big fans of data here at Dev Interrupted. The coolest thing about having Dan Kador, VP of Engineering at Clockwise, on the show is that he brings data we already intuitively understood but could not quantify.

  • Protection Against Accidental Deletion of Kubernetes PVs and Namespaces

    Accidental Kubernetes PVC delete or namespace delete can cause the Persistent Volume to get deleted. Such volumes lose their data, and the stateful applications lose their state. By using Persistent Volume TrashCan, users can get a grace period to undo such unintended delete operations. This talk will showcase how to overcome one of the admin’s pain points involving accidental deletions of PVCs by using advanced storage management solutions in Kubernetes.

  • Amazon EC2 Monitoring — Things to Monitor, Challenges, and Best Practices

    Amazon EC2 is the core component of Amazon AWS that provides scalable cloud computing solutions similar to its competitors like Microsoft Azure VMs and Google Compute Engine. However, Amazon AWS holds 84% of the market share due to its overwhelming popularity.  Due to its immense popularity, businesses and enterprises worldwide prefer using it. 

  • What Is Loosely Coupled Architecture?

    A loosely coupled architecture is a software application development model wherein multiple components are connected with one another but are not heavily dependent on each other. Together, these components create a general network or system, despite each service being an independent entity created to perform a single task. The primary purpose of a loosely coupled architecture is to create a system that doesn’t fail due to the failure of a single component. Service-oriented architectures (SOAs) normally comprise a loosely coupled architecture.

  • How To Manage K8s Operator Lifecycle

    In this Talk, Anynines CEO Julian Fisher shares about the challenges of managing a Kubernetes operator's lifecycle. Julian and his team benchmarked multiple tools that could help with that. The talk covers Carvel, Helm, OLM, and Operator SDK, where the pros and cons are shared for each tool. Julian Fischer  00:00

  • Private Remote Maven Repository With Artipie

    Artipie is an open-source binary artefact management tool under an MIT license. It supports the following types of repositories: Docker, Maven, NPM, PyPI, Anaconda, RPM, Gem, Go, and so on. If you are eager to learn about Artipie in detail, you can read the DZone article An Easy Way to Get Your Own Binary Repository. Let’s focus on the Maven repository. Maven is a tool that can be used for building and managing any Java-based project. Maven has two types of repositories:

  • 4 Key DevOps Metrics for Improved Efficiency and Performance

    We’re seeing an increasing number of organizations renew their focus on adopting and improving their DevOps practices to help optimize their software development life cycle and improve their delivery velocity to reach markets and customers faster. Here’s all you need to know about the four key DevOps metrics and how teams can use these metrics to improve dev efficiency and performance to build better and faster products for their customers.   What Are DevOps Metrics?  DevOps metrics are the data points used to measure the performance and efficiency of a team’s DevOps software development process. Since DevOps integrates the functions of both development and operation, the metrics should be able to measure and optimize the performance of both the processes and people involved.

  • O11y Guide: Bringing Monoliths Into the Cloud-Native World

    This is the fifth article in the series covering my journey into the world of cloud-native observability. If you missed any of the previous articles, head on back to the introduction for a quick update. After laying out the groundwork for this series in the initial article, I spent some time in the second article sharing who the observability players are. I also discussed the teams that these players are on in this world of cloud-native o11y. For the third article, I looked at the ongoing discussion around monitoring pillars versus phases. In the fourth article, I talked about keeping your options open with open-source standards.

  • How Does Continuous Testing Improve DevOps?

    Today with new technologies emerging to serve customers, efficient delivery of the software and the ability to quickly resolve the issues that may occur are among the keys to a successful product launch. The users demand quality and seamlessly working products, and businesses want to deliver the software faster.  Testing is one of the necessary procedures to ensure that the software is performing as entitled and, thus, doesn’t contain bugs. There are various approaches to executing the testing, which may depend on many factors. But as practice shows, the more often you test your product, the less time it takes to release and less budget to fix the mistakes.

  • How to Keep CEOs Deeply Invested in DevOps

    Customers and employees today are demanding increasingly high-quality digital user experiences. This means new DevOps teams need to implement applications securely and efficiently. As enterprise needs become more complex, so does their DevOps process. For example, web and mobile UI require multi-platform development, which means multiple processes. In addition, as the complexity of the system increases, processes need greater observability to ensure that all the necessary steps are implemented before code is released.

  • Cloud Migration Methodology - Top 6 Methodologies Explained

    Cloud migration methodology is a high-level plan that is constructed in order to transfer data and applications from an existing on-premise server to the cloud server. Since data is what makes a company valuable these days, it is important that we have a good migration plan to move the data.  In this article, we will be taking a look at the different challenges risks, and approaches of migration in cloud migration. 

  • Docker Use Cases: 15 Most Common Ways to Use Docker

    Containerizing applications instead of hosting them on virtual machines is a concept that has been trending in the last few years, making container management popular. Docker sits at the heart of this transition, helping organizations seamlessly adopt containerization technology. Recently, Docker use cases can be seen across all industries, regardless of size and nature. What Is Docker? Docker is a containerization technology that enables developers to package a service into a container along with its dependencies, libraries, and operating system. By separating the apps from the infrastructure, Docker allows you to seamlessly deploy and move apps across a variety of environments. 

  • Automate Your Kubernetes Deployments With Helm

    Why We Need Automated Deployments Over the last decade, there has been a paradigm shift in the way applications are written, deployed, and managed. Businesses have adopted cloud-native as their strategy for dealing with applications. As a result, applications have shifted to a microservices architecture. The deployment platforms are now managed by clouds or Kubernetes. When applications are written in a microservices way, a single application is broken into many small applications. Each one of these small applications is fully independent. They might have their own DB, cache server, messaging queues, and any such enterprise infrastructure. 

  • Kubernetes Autoscaling: How to Use the Kubernetes Autoscaler

    Imagine a situation where when user load increases or decreases on an application, there is no way for the application to scale out or in its resources as required. Such an application probably wouldn’t survive in today’s market thanks to Kubernetes Autoscaling, which can easily overcome such a situation with its different scaling mechanisms.  Kubernetes Autoscaling mechanisms help scale in and out pods and nodes as required. There are three different methods supported by Kubernetes Autoscaling.

  • What Is Oracle Cloud ERP?

    Foremost, the Oracle Cloud ERP, abbreviated as Oracle Cloud Enterprise Resource Planning includes all sorts of functions in an enterprise or organization, i.e, from account management, financial management, and project management to procurement. Likewise, Oracle entered the IT industry with its maximum used cloud-based technology based on the end-to-end Saas (Software as a service) platform suite that runs on Oracle cloud centers. The tool has the ability to grow the business in an efficient way with its utmost delivery structure at lower costs.  Oracle Cloud ERP has a start of the art data security that makes the data flow much easier to share and secure. With this cloud tool, the components which get through the end users help the company or an organization to streamline the analytical flow, user experience, reporting and automation tools, compliance and Oracle Fusion SCM, and more. 

  • Top 8 Major Advantages of SaaS Application Development

    In a business environment, SaaS is a compelling alternative to installing software on-premises (the traditional method), which requires the creation of the server, installation of the application, and configuration. As a result, the applications are hosted on a remote cloud network that is accessible via a web browser or API, just as if they were rented out. This software can be used by you and your organization for some time, and you will be responsible for paying for it. Learn more about the advantages of Software as a Service (SaaS). Technology and business models are both evolving quickly, so it’s important to consider long-term perspectives and effects while choosing the best software for a given situation. The key goal is to have maximum product adaptability so that business owners may stay current and remain competitive.

  • How to Create an Ansible Playbook

    In this post, you will learn how to create an Ansible playbook. As an exercise, you will install an Apache Webserver onto two target machines and change the welcome page. 1. Introduction In the two previous Ansible posts, you learned how to setup an Ansible test environment and how to create an Ansible inventory. This post continues this series, but it is not necessary to read the first two posts. In this post, you will learn how to create an Ansible playbook. A playbook consists out of one or more plays which execute tasks. The tasks call Ansible modules. Do not worry if you do not understand this yet, this is what you will learn. It is also advised to read the introduction to playbooks in the Ansible documentation.

  • The Evolution of DevOps: Where It Began and What's Ahead

    The goal of DevOps is to increase the speed, quality, and reliability of software delivery. It is a set of practices that combines software development (Dev) and IT operations (Ops). DevOps is often used in the context of web ops, application development, and security.

  • What Is Distributed Tracing?

    Cloud-native development has revolutionized application development in ways that are both positive and challenging. The adoption of microservices architectures on container-based infrastructures enables faster software development lifecycles. At the same time, problems can strike when changes are made to apps, such as adding new features. Moreover, app updates can happen multiple times a day. So how do teams track down problems when error messages pop up, or when it suddenly takes longer to load an application? Unlike the monolithic approach to application development, where a straightforward application call makes it easy to find where a problem exists, cloud-native applications and the container-based infrastructure they run on are ephemeral. This means problems are elusive. The need for distributed tracing, which tells you exactly where a problem is happening, becomes acutely important for teams needing to quickly fix their applications.

  • Automatically Deploy Apps to VPS With Git Triggers and Coolify

    I make a lot of silly projects, and one thing I’ve wanted for a long time is a way to automate the deployment process using Git. So in this blog post, we are going to be tackling just that. First things first, let’s settle on what the target is. What I want is a system with the following:

  • Scaling Continuous Deployment Adoption

    Cloud Platforms and cloud-native development have become very prevalent. However, the benefits of cloud-native platforms are realized only when DevOps automation is implemented along with it. The two key processes in DevOps are Continuous Integration (CI) and Continuous Deployment (CD). Most organizations have successfully automated CI over the last decade.   Continuous deployment helps in delivering software faster with high quality and low risk and improves productivity and efficiency.  However, the automation for CD is a lot less, as per many surveys, due to underlying complexity. Deep knowledge of cloud-native platforms,  architectures, operations, release management, verification, and observability is required for the successful adoption of CD. Multitudes of tools across disciplines, such as CI, CD, security, testing, and observability, have to be orchestrated to make such automation happen. This paper explores the key aspects organizations should consider while adopting continuous deployment and offers guidance to improve the adoption maturity.

  • How CI Observability Can Strengthen Your DevSecOps Pipeline?

    Recently, we see a special emphasis has been laid on software supply chain security referring to the recent report by Google – 2022 Accelerate State of DevOps Report. With security holding center stage, we see a good emergence of practices such as “SRE” and “DevSecOps.” Looking at the State of DevOps report from different companies such as Google, CircleCI, Puppet, and Dynatrace, we have got some common findings, such as:

  • Why Kubernetes Observability Is Essential for Your Organization

    The Kubernetes service simplifies load balancing and container management of containerized applications. Simply put, it makes it easier for enterprise applications to have greater scalability, flexibility, and portability. After Linux, Kubernetes is one of the fastest-growing projects in the history of open-source software. According to a study by CNFC, the number of Kubernetes engineers grew by 67% to 3.9 million.  It is a go-to solution for cloud orchestration in distributed environments. But, cloud architecture has become complicated, and organizations find it challenging to fix the bugs. When developers need to address the root cause, they encounter a lack of observability due to non-tracking of the state of Kubernetes, serverless functions, and other aspects of cloud architecture. This lack of visibility into what’s going on led to the need for Kubernetes Observability.

  • What Should You Avoid When Doing DevOps?

    The goal of the DevOps practice is an enabling technology that allows developers (Dev) and operations teams (Ops) members to work together more efficiently by automating deployment processes — all while keeping the customers' data safe. But along this journey, companies face many common challenges and traps when implementing these principles, which we'll explore here. The DevOps Team The central idea behind DevOps is that there should be more collaboration and shared ownership between existing teams. Companies often struggle with adopting these practices because they create new silos and do not bring different groups closer together. This makes sense only when you think how much more efficiently something can be accomplished if everyone works towards achieving shared goals rather than having separate teams doing their own thing without any communication whatsoever.

  • Write Your Kubernetes Infrastructure as Go Code - Combine CDK8s With AWS CDK

    In an earlier blog post you saw how to use cdk8s with AWS Controllers for Kubernetes (also known as ACK), thanks to the fact that you can import existing Kubernetes Custom Resource Definitions using cdk8s! This made it possible to deploy DynamoDB along with a client application, by using cdk8s and Kubernetes. But, what if you continue using AWS CDK for AWS infrastructure and harness the power cdk8s (and cdk8s-plus!) to define Kubernetes resources using regular code? Thanks to the native integration between the AWS EKS module and cdk8s, you can have the best of both worlds!

  • Why Are Devs Still Talking to DevOps?!

    DevOps got off to a promising start. Way back in 2006, Amazon CTO Werner Vogel prophesied a hassle-free relationship between development and operations: “The traditional model is that you take your software to the wall that separates development and operations and throw it over and then forget about it. Not at Amazon. You build it, you run it. This brings developers into contact with the day-to-day operation of their software.” This you-build-it-you-run-it movement, which became known as DevOps, got us all excited over the promise that it would destroy silos and get teams working together more efficiently than ever before.

  • LocalStack in Action (Part 1)

    Provisioning AWS resources for your applications/organization can be complex—creating the AWS infrastructures (SQS, SNS, Lambda, S3...) with a fine-grained permissions model—and then trying to integrate your infrastructure with your applications will take time until you test it to ensure the whole flow is working as expected. In this article, I will introduce you to LocalStack, a cloud service emulator that runs in a single container on your laptop or in your CI environment. With LocalStack, you can run your AWS applications or lambdas entirely on your local machine without connecting to a remote cloud provider.

  • How Well Do Developers and Non-Developers Work Together?

    Product development is (almost always) a team sport. To build a successful product, multiple stakeholders must work together during the development cycle to get things done. This includes engineers (obviously), product and project managers, designers, QA, and even the folks in marketing and sales.

  • Ending the DevOps vs. Software Engineer Cold War

    If we were that metaphorical fly on the wall, following an all too common Slack conversation between a software engineer and DevOps engineers, it might go something like this: Software Engineer: This is gonna take forever. “I need a new environment for my app.”

  • The SQL Review Tool for Developers

    Treat SQL as code ("Why?" you may ask), which means all the reasons why we review other codes need to apply to SQL scripts. They interact straight with databases, and databases are too important. No matter how database vendors promise their products are stable and robust, databases are still pretty fragile. Even if we disregard the accidental "DROP TABLE" fiasco, ordinary queries like "SELECT FROM" can also overwhelm a database and bring it down. Let’s face it: databases are delicate, yet very few users understand how to treat them properly —  meaning we should discipline the users’ behavior to some degree. Here’s where SQL review comes in. It is the practice of reviewing DDL and DML statements before applying them to the database. It is one of the most critical aspects of database schema management. In the past, DBAs were in charge of the database. They know the database best and, thus, should be the ones reviewing the SQL. This is reasonable, but there is a contradiction: developers (database users) cannot understand the many restrictions and want the most freedom. At the same time, DBAs insist that stability triumphs over everything.

  • GitOps Using Flux and Flagger

    GitOps as a practice has been in use since 2017 when Alexis Richardson coined the term. It transformed DevOps and automation. If you look at its core principles, it extends DevOps by treating Infrastructure as Code (IaC). Your deployment configuration is stored in a version control system (a.ka. Git), providing a single source of truth for both dev and ops. As the framework’s adoption increased, GitOps became the standard for continuous deployment in the cloud native space. Many agile teams adopt GitOps because of familiarity with git-based workflow for the release management of cloud-native workloads.

  • Establishing Kubernetes Governance Strategy

    Decisions in a Cloud ecosystem are decentralized and fast-paced. Governance is all about bringing consistency and repeatability, ensuring quality never gets deprioritized. Mapping out a Kubernetes governance model helps in keeping the entire organization on track. Furthermore, policies proposed in the Kubernetes governance model are not meant to be limited to security baselines of resources and deployments.

  • How To Do a T-Test in Python

    T-Test: The Most Popular Hypothesis Test In today’s data-driven world, data is generated and consumed on a daily basis. All this data holds countless hidden ideas and information that can be exhausting to uncover. Data scientists commonly approach this problem using statistics to make educated guesses about data.  Any testable assumption regarding data is referred to as a hypothesis. Hypothesis testing is a statistical testing method used to experimentally verify a hypothesis. In data science, hypothesis testing examines assumptions on sample data to draw insights about a larger data population.

  • Google Cloud for Beginners: How To Choose a Database Service

    Context 1: Is choosing a database easy? 2: What are the different categories of databases? 2.1: What are Relational Databases? Relational Databases - OLTP - Online Transaction Processing Cloud SQL Cloud Spanner Cloud SQL vs Cloud Spanner Relational Database - OLAP - Online Analytics Processing BigQuery - Modern Data warehouse 2.2: What are NoSQL Databases? Cloud Datastore and Firestore Cloud BigTable Choosing between Cloud Firestore, Datastore vs Cloud BigTable 2.3: What are In-memory Databases? 3: Let’s get a quick summary Is Choosing a Database Easy? Choosing a database for your use case is not easy. A few factors you would need to consider: 1: Do you want a fixed schema? Do you want flexibility in defining and changing your schema? Do you want to go schemaless? 2: What level of transaction properties do you need? (atomicity and consistency) 3: What kind of latency do you want? (seconds, milliseconds or microseconds) 4: How many transactions do you expect? (hundreds or thousands or millions of transactions per second) 5: How much data will be stored? (MBs or GBs or TBs or PBs) Before we get into the details, let’s explore the different categories of databases:

  • 3 Docker Desktop Extensions Every Developer Must Try

    The world of software development is changing faster than ever. The need for faster release cycle times has led to a proliferation of virtualization technologies. Virtual machines (VMs) have been around for many years, but containers have recently overshadowed them because VMs are slower and not as lightweight as containers. With the popularity of microservices, containers have emerged as an excellent alternative to virtual machines for developing, testing, and deploying applications in a lightweight environment.  There comes Docker, an open-source technology that uses Linux containers to virtualize apps and other software processes so they can run independently and more securely in another container as if they were separate computer programs on the same device.

  • Design and Create VPC in AWS

    This article describes the design and creation of Amazon Virtual Private Network (VPC) using the VPC Designer tool and Cloud Formation templates. It also provides details of VPC Components such as Subnets, Route tables, Security Groups, Internet Gateway, NAT Gateway, VPC endpoints, Network Interfaces,  Network Access Control Lists (ACLs), and VPC Peering.  Amazon Virtual Private Cloud (VPC) enables you to create your own dedicated, logically isolated virtual private network in your AWS account. This virtual network closely resembles a traditional network that you operate in your own data center (on-premises).  It provides the ability to define and have full control over the virtual network environment, including security, connectivity, and resource deployment. VPC spans multiple availability zones in an AWS Region. 

  • Reducing Kubernetes Costs With Autoscaling

    Kubernetes comes with three built-in autoscaling mechanisms. Explore and know how these mechanisms of autoscaling in Kubernetes can help to reduce your cloud bill and much more here in this article on Kubernetes and autoscaling! Technically, containerization should be more cost-effective by default, but Kubernetes comes packed with expensive cost traps that may cause enterprises to spend over the fixed budget. Fortunately, there are a few tactics to keep cloud costs at bay, and autoscaling is one of them. Here you’ll read about autoscaling in Kubernetes in this article on Kubernetes and autoscaling.

  • AWS re:Invent 2022 — Join Us for the BuildOn.AWS Track

    AWS re:Invent 2022 is right around the corner, and as always, it will offer plenty of learning opportunities for developers, engineers, and others who want to build new and innovative things on AWS. First held in 2012, AWS re:Invent is the company’s annual learning conference for the global cloud computing community. Scheduled to take place in Las Vegas, Nevada, from Monday, November 28, to Friday, December 2, it will feature over 1500 sessions.  If you are joining us at AWS re:Invent 2022, then the BuildOn.AWS (BOA) track is definitely something to look out for! The sessions on this track are specially curated for builders with a focus on how to build real-world solutions, deep dive into the architecture and code.

  • Write Your Kubernetes Infrastructure as Go Code - Manage AWS Services

    AWS Controllers for Kubernetes (also known as ACK) is built around the Kubernetes extension concepts of Custom Resource and Custom Resource Definitions. You can use ACK to define and use AWS services directly from Kubernetes. This helps you take advantage of managed AWS services for your Kubernetes applications without needing to define resources outside of the cluster. Say you need to use an AWS S3 Bucket in your application that’s deployed to Kubernetes. Instead of using AWS console, AWS CLI, AWS CloudFormation etc., you can define the AWS S3 Bucket in a YAML manifest file and deploy it using familiar tools such as kubectl. The end goal is to allow users (Software Engineers, DevOps engineers, operators etc.) to use the same interface (Kubernetes API in this case) to describe and manage AWS services along with native Kubernetes resources such as Deployment, Service etc.

  • KubeCon: Quick Guide to Prometheus Day North America

    On October 25, I was on-site in Detroit at KubeCon and CloudNativeCon pre-event Prometheus Day North America. It was on-site at the Huntington Place Convention Center in room 360, which is on the river with views across the water into Canada (just a bit of geography, as many attendees I spoke with were not aware that Detroit was so close to the northern US border). The full schedule for Open Observability Day is available online, but I wanted to share an overview impression of what it was like to be there.