How to Upgrade TiDB Safely

As a fast-growing open source NewSQL database, TiDB frequently releases new features and improvements. If you are a TiDB user, you may have found it hard to decide whether or not to upgrade your version. You may have also wondered how to make your upgrade journey safer, smoother, and even unnoticed by business. 

On the one hand, new TiDB versions have new features that can support some of the new demands in your business or can fix some known security loopholes or bugs. 

Modernizing a Legacy Microsoft .NET Application by Upgrading It to the Latest Microsoft .NET Core Framework

Business Statement

Recently I was working as a cloud migration architect to migrate several on-premise applications to Microsoft Azure Cloud. During the portfolio analysis, we found that many of the on-premise applications were created long ago by using very initial versions of the Microsoft .NET Framework.

The frameworks in these applications were already at the end of their lifecycles and it would not be easy to get any support for those frameworks. These frameworks were also not supported on Azure Platform as Service (PaaS) offerings.

Upgrading a Maven, Spring Boot, and JavaFX Application

I've been migrating all my JavaFX applications to Java 15/JavaFX 15.0.1 to see if there are any pain points or gotchas to be aware of. I particularly wanted to understand how Maven and Gradle handle JavaFX, and how to successfully build and run the applications in IntelliJ IDEA.

In this blog post, I explore the steps taken to upgrade a Spring Boot/Maven/JavaFX application.

Upgrading Kubernetes Worker Nodes in GKE, AKS, and EKS

Kubernetes is a popular container orchestration platform that you can deploy on-premise or in the cloud. In this article, you will learn about Kubernetes upgrade options in Google Kubernetes Engine (GKE), Azure Kubernetes Service (AKS), and Amazon Elastic Container Service for Kubernetes (EKS).

What is a Kubernetes Cluster?

A cluster is a unit that includes several Kubernetes pods. A pod is a set of containers, with facilities to allow containers to communicate and share data between them. A cluster consists of the following components:

StingrayReader Upgrade

Before getting started, check out this GitHub repo with all the code you need for this demonstration.

So, without further ado, it's time to add type hints and learn some interesting lessons from it.

Making It Easier to Manage a Production PostgreSQL Database

Manage a Production PostgreSQL Database

The past several years have seen increasing adoption for PostgreSQL. PostgreSQL is an amazing relational database. Feature-wise, it is up there with the best, if not the best. There are many things I love about it — PL/ PG SQL, smart defaults, replication (that actually works out of the box), and an active and vibrant open source community. However, beyond just the features, there are other important aspects of a database that need to be considered.

If you are planning to build a large 24/7 operation, the ability to easily operate the database once it is in production becomes a very important factor. In this aspect, PostgreSQL does not hold up very well. In this blog post, we will detail some of these operational challenges with PostgreSQL. There is nothing fundamentally unfixable here, just a question of prioritization. Hopefully, we can generate enough interest in the community to prioritize these features.

Laravel 6 — What’s New?

This month we have witnessed a major release of our favorite PHP framework. Laravel is turning eight this year, and the older it gets, the more we like it. Just like a kid… Not to say we didn’t like it before! 

In this article, I’ll give you a quick run through on the most important changes with this major release. 

What’s New in Kubernetes v1.14

“We’re pleased to announce the delivery of Kubernetes 1.14, our first release of 2019!” Seeing a new blog post that starts with that sentence is always an exciting moment, isn’t it? Well, Kubernetes 1.14 is officially out, and boy, was it worth the wait.

It is a relatively big update, with the delivery bringing a whopping total of 31 enhancements, 10 of which are stable with an additional set of 12 enhancements that are in beta. There are some interesting changes to the ecosystem, but we are going to focus on the five most exciting ones. Let’s have a look!

Mythbusters: 5 Myths About How Java Is Getting Better

Java was originally design for interactive television, but it was too advanced of technology for the cable television industry at the time. The history of Java starts with a team called Green Team, who initiated this project to develop a language for digital devices, such as set-top boxes, televisions, etc. However, it was suited for Internet programming. Later, Java incorporated by Netscape.

The main reasons for creating Java were simple: we needed a language that was robust, portable, platform-independent, secure, high-performance, multithreaded, architecture-neutral, object-oriented, interpreted, and dynamic.

Escaping the maintenance mode trap

WordPress makes upgrading very easy . You simply click “Update now”, wait for a minute or two and your system is up to date. If, well if everything works fine.
The most common problem during an upgrade is the Internet connection to drop unexpectedly or the user to shut down the browser unintentionally. In both situations the upgrade will stop instantly.
If you try to log in to your backend again you will receive the message

“Briefly unavailable for scheduled maintenance. Check back in a minute.”

This message is useful to keep users away from your blog during the upgrade but right now it’s keeping you from restarting the upgrade. To solve this problem we have to take a look at how WordPress determines that it’s in maintenance mode.

WordPress is looking for a possible maintenance mode very early to prevent the system dying from any fatal error. So it using a very simple method by writing a file called .maintenance to the WordPress root directory. If the blog or backend is accessed it will check for the file and stop if it’s present.

Knowing this the solution to our problem is quite simple: access your WordPress system via FTP and delete the file .maintenance.

If you’re not able to log in to your server via FTP for some reason there is a second method for escaping from maintenance mode: simply wait 10 minutes!
The file .maintenance contains a timestamp of the time the file was created. If this time is less than 10 minutes ago WordPress will go into maintenance mode otherwise it will continue to work as usual and enable you to restart the upgrade unless something worse keeps it from starting.