Getting Started With Prometheus

Prometheus has become the de facto standard for the monitoring and alerting of distributed systems and architecture. Designed to overcome shortcomings in existing monitoring solutions, including a lack of scalability and deployment challenges, its core architecture, data collection and discovery services, and third-party integrations help to derive greater value.

In this Refcard, we explore the core components of the Prometheus architecture and key concepts — then focus on getting up and running with Prometheus, including configuration and both collecting and working with data.

Exploring Multi-Region Database Deployment Options With a Slack-Like Messenger

Distributed database deployments across multiple regions are becoming commonplace. And there are several reasons for that. More and more applications have to comply with data residency requirements such as GDPR, serve user requests as fast as possible from the data centers closest to the user, and withstand cloud region-level outages. 

This article reviews the most widespread multi-region deployment options for distributed transactional databases by designing a data layer for a Slack-like corporate messenger.

From Zookeeper to Raft: HA and Fault-Tolerance

Introduction

Alluxio implements a virtual distributed file system that allows accessing independent large data stores with compute engines like Hadoop or Spark through a single interface. Within an Alluxio cluster, the Alluxio master is responsible for coordinating and keeping access to the underlying data stores or filesystems (UFS for short) consistent. The master contains a global snapshot of filesystem metadata, and when a client wants to read or modify a file, it first contacts the master. Given its central role in the system, the master must be fault-tolerant, highly available, strongly consistent, and fast. This blog will discuss the evolution of the Alluxio master from a complex multi-component system using Zookeeper to a simpler and more efficient one using Raft.

The operation of a file system can be thought of as a sequence of commands performed on the system (e.g., create/delete/read/write). Executing these commands one at a time in a single thread gives us a sequential specification for our file system that is easy to reason about and to implement applications on top of. While this sequential specification is simple, the actual implementation of Alluxio’s virtual distributed file system consists of many moving parts all executing concurrently: the master who coordinates the system, the workers who store the file data and act as a cache between the client and the UFS, the UFSs themselves, and the clients who, at the direction of the master, access all other parts of the system. Again here, we may want to reason about each of these individual components as a sequential thread executing one operation at a time, but in reality, they are running complex systems themselves. 

Solving the Problem of Working Remotely With Resource-Intensive Applications Using Moonlight

For a number of reasons, you cannot transfer high-throughput equipment and resource-intensive software home, but you can still organize high-quality remote access from anywhere at no extra cost. We are going to tell you about the first way we have tested for maintaining convenient remote management from almost any device.

What’s Up, Doc?

The average employee just needs to connect to the remote desktop using the RDP protocol in order to access corporate resources from a laptop, and herein lies the problem for IT specialists: ensuring security. If a specialist needs resource-intensive applications that use 3D acceleration, this is a problem of a completely different kind.

Using Azure Load Balancer With CockroachDB

Motivation

The purpose of this tutorial is to provide step-by-step instructions in getting an Azure Load Balancer up quickly. Our docs do a great job at covering the CockroachDB portion but the granular steps to get ALB up are missing. Since this is my first foray into managed load balancers, I decided to do the hard work.

High-Level Steps

  • Provision a cluster in Azure
  • Provision a load balancer
  • Test connectivity
  • Clean up

Step by Step Instructions

This article assumes you've set up a Resource Group and a Virtual Network associated with it in your Azure subscription. Following this document will walk you through setting up a CockroachDB cluster. When you have these prerequisites in place, we can continue with setting up a load balancer.

On-Prem vs the Cloud: Comparing the Cost of Configuring for High Availability

Any way you look at it, configuring SQL Server for high availability involves the cost of redundant infrastructure. If you need your SQL Server data to be available 99.99% of the time and the infrastructure supporting your database goes offline — for whatever reason — you need backup infrastructure that can take over immediately.

But the costs of deploying a high availability infrastructure on-premises vs. in the cloud are very different and it’s important to understand those differences in order to achieve the high availability assurances you seek at the optimal cost to your organization.

Reducing Real-Time Query Latency With a Scale-Out HTAP Database

Industry: Automobile

Authors:
  • Xianqi Jin (DBA at Autohome).
  • Fan Zhang (R&D at Autohome).
  • Technical Architecture Team of Autohome Technical College.
TiDB Cover Image

Autohome is the leading online destination for automobile consumers in China. It's one of the most visited auto websites in the world. We provide professionally produced and user-generated content, a comprehensive automobile library, and extensive automobile listing information, covering the entire car purchase and ownership cycle.

7 Tips to Achieve High-Availability(HA) For Your Maven Repository

Cloud Computing has emerged as a novel technology today. Every company is a software company today, and it is evident that no company can service without using the power of cloud computing. The cloud is seen as a conceptual layer on the Internet, making all available software and hardware resources transparent, rendering them accessible through a well-defined interface. 

As the companies are increasingly relying on these cloud computing services to be always stable and accessible whenever their customers need them, the services and applications' downtime is highly unacceptable. In this article, we will be discussing the concepts related to high availability (HA), what it is, how it works, and how companies can take advantage of this. 

High Availability Router/Firewall Using OpenBSD, CARP, pfsync, and ifstated

Introduction

I have been running OpenBSD on a Soekris net5501 for my router/firewall since early 2012. Because I run a multitude of services on this system (more on that later), the meager 500Mhz AMD Geode + 512MB SDRAM was starting to get a little sluggish while trying to do anything via the terminal. Despite the perceived performance hit during interactive SSH sessions, it still supported a full 100Mbit connection with NAT, so I wasn’t overly eager to change anything. Luckily though, my ISP increased the bandwidth available on my plan tier to 150Mbit+. Unfortunately, the Soekris only contained 4xVIA Rhine Fast Ethernet. So now, I was using a slow system and wasting money by not being able to fully utilize my connection.

Naturally, I looked back to Soekris for an upgrade that would allow me to take advantage of this new speed since it served me so well for so long, but I soon discovered that Soekris stopped innovating and closed US operations a few years ago. After widening the search, I decided to try the PC Engines APU4C4. This included a 4 Core 1Ghz AMD GX-412TC CPU, 4GB of DDR3-1333 DRAM and 4xIntel PRO/1000 Gigabit Ethernet. A huge improvement.

3 Ways to Reduce Latency in Multi-Region Deployments

Globally deployed applications don't have to be slow. In this post, we'll show you three ways to reduce latency in multi-region deployments, using a sample app we built called Wikifeedia. Wikifeedia is built on top of the public APIs from Wikipedia. It shows users a globally sorted index of content based on the most reviewed content in each language for the previous day. Since its target audience is global, it needs to be accessible from anywhere in the world, with low latency. But, like many news aggregations, the content isn’t changing from second to second. As such, it can tolerate slightly stale data.

The application is hosted on Google Cloud Kubernetes Engine, while the underlying database is hosted using our own Cockroach Cloud managed service offering. As a side note, this application has become a personal favorite of ours as we find ourselves eagerly checking out Wikifeedia to determine what’s trending on Wikipedia in any given day. 

How to Test for Lock Table Consistency When Deploying High Availability for SAP ERP

Implementing high-availability capabilities for SAP ERP systems can be a complex undertaking. But the importance of high availability in keeping companies “open for business” can’t be overstated. Applications and servers will fail. Power outages will occur, and a natural disaster may strike at any time. 

This article provides technical guidance on two key steps in the process to implement high availability for SAP ERP systems: 

Ensuring SQL Server High Availability in the Cloud

Theoretically, the cloud seems tailor-made for ensuring high availability (HA) and disaster recovery (DR) solutions in mission critical SQL Server deployments. Azure, AWS, and Google have distributed, state-of-the-art data centers throughout the world. They offer a variety of SLAs that can guarantee virtual machine (VM) availability levels of 99.95% and higher.

But deploying SQL Server for HA or DR has always posed a challenge that goes beyond geographic dispersion of data centers and deep levels of hardware redundancy. Configuring your SQL Server for HA or DR involves building a Windows Server Failover Cluster (WSFC) that ensures not only the availability of different machines running SQL Server itself but also — and most importantly — the availability of storage holding the data in which SQL Server is interacting.

Are You Taking the Right Approach to Cloud Databases?

Trends in cloud data storage continue to accelerate at a rapid pace. Now more than ever, organizations must evaluate their current and future data storage needs to find solutions that align with business goals. While cloud databases are relatively new to the scene, they show tremendous prospect in securing and managing data.

In selecting our topic for this Trend Report, we found the amount of promise and advancement in the space to be unparalleled. This Report highlights DZone’s original research on cloud databases and contributions from the community, as well as introduces new offerings within DZone Trend Reports.

Configuring SQL Server for High Availability in the Cloud

Cloud service providers offer SLAs guaranteeing availability of 99.95% and higher. That number might prompt one to think the cloud ideally suited for a SQL Server deployment that requires high availability (HA). Given the geographic distribution of Azure and AWS data centers, one might even think the cloud perfect for a SQL Server deployment configured with disaster recovery (DR) in mind.

But let’s rethink this.

Hazelcast Resilient to Kubernetes Zone Failures

See how Hazelcast protects against Kubernetes failure.

Data is valuable. Or, I should write, some data is valuable. You may think that if the data is important to you, then you must store it in the persistent volume, like a database or filesystem. This sentence is obviously true. However, there are many use cases in which you don’t want to sacrifice the benefits given by in-memory data stores. After all, no persistent database provides fast data access or allows us to combine data entries with such high flexibility. Then, how to keep your in-memory data safe? That is what I’m going to present in this blog post.

The Best Way to Host MySQL on Azure Cloud

Are you looking to get started with the world’s most popular open-source database and wondering how you should set up your MySQL hosting? So many default to Amazon RDS when MySQL performs exceptionally well on Azure Cloud. While Microsoft Azure does offer a managed solution, Azure Database, the solution has some major limitations you should know about before migrating your MySQL deployments. In this post, we outline the best way to host MySQL on Azure, including managed solutions, instance types, high availability replication, backup, and disk types to use to optimize your cloud database performance.

You may also like: MySQL Tutorial: A Beginners Guide to Learn MySQL

MySQL DBaaS vs. Self-Managed MySQL

The first thing to consider when weighing between self-management and a MySQL Database-as-a-Service (DBaaS) solution is what internal resources you have available. If you’re reading this, you likely already know the magnitude of operational tasks associated with maintaining a production deployment, but for a quick recap, there’s provisioning, de-provisioning, master-slave configurations, backups, scaling, upgrades, log rotations, OS patching, and monitoring to name a few.

PyMongo Tutorial: Testing MongoDB Failover in Your Python App

Python is a powerful and flexible programming language used by millions of developers around the world to build their applications. It comes as no surprise that Python developers commonly leverage MongoDB hosting, the most popular NoSQL database, for their deployments due to its flexible nature and lack of schema requirements.

So, what’s the best way to use MongoDB with Python? PyMongo is a Python distribution containing tools for working with MongoDB, and the recommended Python MongoDB driver. It is a fairly mature driver that supports most of the common operations with the database, and you can check out this tutorial for an introduction to the PyMongo driver.