Kubernetes provides the freedom to rapidly build and ship applications while dramatically minimizing deployment and service update cycles. However, the velocity of application deployment requires a new approach that involves integrating tools as early as possible in the deployment pipeline and inspecting the code and configuration against Kubernetes security best practices. Kubernetes has many security knobs that address various aspects required to harden the cluster and applications running inside.
A few weeks ago, I teamed up with Bartek Plotka, a principal software engineer at Red Hat, for a deep-dive session on Prometheus at KubeCon + CloudNativeCon EU. We covered a lot of topics, with highlights that included scaling Prometheus, remote-write and metadata. We ended the talk with a quick demo on how to import data from CSV files into Prometheus. I want to use this blog post to provide more insight into the state of backfill in Prometheus.
The “as a service” business model continues to grow rapidly, largely thanks to the rise of cloud computing. “As a service” offerings deliver IT products and technologies such as software, hardware, and data storage to consumers via the Internet, rather than having to install or manage them themselves. Serverless and containers are two such “as a service” technologies that have seen increasing adoption in recent years.
Amazon Web Services is the world’s biggest cloud platform, and businesses of all shapes and sizes use it every day to run their businesses. You may find this surprising, but AWS accounts for more than half of Amazon's operating income. Thus, Amazon has a vested interest in getting as many people to use AWS as possible, so it offers a whole bunch of tools to make it easy to use. AWS Amplify is one of these.
Software Agents are very small programs that we install in each operating system so that it returns metrics to our Pandora FMS Data Server… What does this have to do with Ansible? Let’s see.
The goal of Java application monitoring is to minimize the time it takes to discover a problem with a Java application (mean time to detect, or MTTD) and the time it takes to recover from it (mean time to resolve, or MTTR). Understanding what's going on in our code is the biggest step in finding and eliminating the root cause of a problem, and let's face it — that code that seemed clear and concise when we wrote it a year ago might not be as "self documenting" as we thought.
Last week I went camping with some friends. One of them did the shopping for all of us, so I sent him my share using a payment app. It took me less than 2 minutes to complete the transaction. A few years ago, a similar transaction would have me going to the bank to complete the task, or at a minimum, calling a bank teller and having him do it. Try to imagine a bank asking its customers to do any of these things today. It would probably lose all its customers in no time.
Serverless applications, more often than not, have logic distributed over multiple functions and services, which with growth and agents and wrappers attached, can get more complex and costly. This is where Serverless monitoring comes in to help. But what is Serverless monitoring? Serverless monitoring allows developers to gain important insight on what happens during each execution and event, errors become more easily visible and measuring resource consumption for each invocation is possible.