Local Kubernetes clusters are great for both developers and system engineers. When developing applications, programmers can use local clusters to make sure their application can be easily and correctly deployed without the need for configuring real infrastructure. System engineers can use them for testing, creating proofs of concept (POCs), or learning and trying new tools.
Microservice architectures bring significant benefits to software teams. Microservices allow a team to scale individual parts of their application independently. They provide huge benefits in resilience, too. An application with a memory leak in a troublesome spot is a big problem for a monolithic architecture. One bug takes down the whole system and leads to extended outages. With a microservice architecture, a memory leak only takes down one part of the swarm. But there are downsides to the microservice approach. For starters, microservices complicate deployment plans. While you can solve some of those complications with orchestration tools, it’s another layer of technology in your stack.
Regardless of what language you code in or what type of apps you’re working on, you’re going to end up reading log files. They’re your window into what’s happening inside your code or the server you’re talking to. Linux log management is one of the skills setting an experienced developer apart from the rest.
Logs are a ubiquitous component of IT. They come in all shapes and sizes from a huge variety of sources and possible destinations. But at the end of the day, all types of logging serve a fundamental role in a technological infrastructure: they allow a system to record information about its behavior to a persistent medium. People can then look at this information and reconstruct what happened so they can detect and fix whatever issues they might find.
Server logs are important and can never be left out of web development. There’s no such thing as a perfect website—even one owned by a big tech company is likely to have errors in production. Using web server logs, you can easily know where the problem is coming from and solve it on time. Logs are automatically created by the server and consist of files containing information such as errors, requests made to the server, and other information worth looking at.
Creating alerts to spot problems before your users do is simple. However, when you receive too many alerts, you might end up ignoring critical problems.
As a developer, you’ll always face challenges with your applications. Some of these challenges arise from the server after deploying code. It can sometimes be difficult to know what the problem is, especially if the app is running as expected in your development environment. This is something no one can escape. These errors are bound to happen to anyone, regardless of their level of experience as a software engineer or developer.
Heroku is a popular platform-as-a-service (PaaS) cloud that allows you to run your applications in a serverless manner. This blog is about optimizing applications running in Heroku: making them run faster, giving them better security, and generally fine-tuning them.
HAProxy (high availability proxy) is a critical part of modern systems infrastructure. It’s ideally the first point of contact for users who access your application. When configured correctly, HAProxy improves your app’s performance significantly. Through load balancing, HAProxy makes sure each service your application depends on is accessible to users, especially under load conditions otherwise impacting application performance.
Logging is crucial in software development, so it’s vital to get it right. That’s easier said than done, unfortunately. Application logging—Python logging included—is riddled with traps you might fall prey to if you aren’t careful.
But you can’t beware what you don’t know, and that’s where this post comes in handy. We’re here to warn you about eight of the most common logging pitfalls in Python. You’ll learn about each problem and techniques and tools you can use to avoid it.