Articles


Prerequisites

  • Basic understanding of .NET Core 6 API and C#.
  • Visual Studio 2022
  • SQL Server

Agenda

  • Create .NET Core API using version 6
  • Configure Hangfire in .NET
  • Look into the different types of jobs that are present in Hangfire.

Overview

  • Hangfire is open-source and used to schedule the job at a particular event and time.
  • It is also used to create, process, and manage your background jobs.
  • We use this in background processing without user intervention.
  • Hangfire is reliable and persistent. It will take care of all things once the job is scheduled.
  • Hangfire dashboard is also available for us to manage all things easily.

Why Hangfire is Required in Background Processing

  • Sometimes we need to do lengthy operations like database updates and database maintenance so it’s managed periodically. 
  • Batch import from XML, JSON, and YAML files.
  • Recurring reports on a periodic basis.
  • Mass notification on subscription and sign up basis.

So, these are things that we are able to do periodically over a certain period of time as per our requirements.

There are different types of jobs that are present in Hangfire. We will look at them one by one.

Source de l’article sur DZONE

Efficient code doesn’t just run faster; if it’s using less compute-resource, it may also be cheaper to run. In particular, distributed cloud applications can benefit from fast, lightweight serialization. 

OpenSource Java Serializer

Chronicle-Wire is an OpenSource Java serializer that can read and write to different message formats such as JSON, YAML, and raw binary data. This serializer can find a middle ground between compacting data formatting (storing more data in the same space) versus compressing data (reducing the amount of storage required). Instead, data is stored in as few bytes as possible without causing performance degradation. This is done through marshaling an object.

Source de l’article sur DZONE

You might have heard about the K8ssandra project and want to start contributing, or maybe you want to start using all of its features. If you aren’t familiar with K8ssandra (pronounced like “Kate Sandra”), you can read this overview before digging into the developer activities in this post.

In a nutshell, K8ssandra is an open-source distribution of Apache Cassandra™ for Kubernetes, which includes a rich set of trusted open-source services and tooling. K8ssandra comes with handy features that are baked-in and pluggable, which allows for flexible deployment and configuration.

Source de l’article sur DZONE

Rightsizing resource requests is an increasing challenge for teams using Kubernetes—and especially critical as they scale their environments. Overprovisioning CPU and memory lead to costly overspending, but underprovisioning risks CPU throttling and out-of-memory errors if requested resources aren’t sufficient. Dev and engineering teams that don’t thoroughly understand the live performance profile of their containers will usually play it safe and request vastly more CPU and memory resources than required, often with significant budget waste.

The open source Kubecost tool (https://github.com/kubecost) has had a Request Sizing dashboard to help Kubernetes users bring more cost efficiency to their resource requests. One of the tool’s most popular optimization features, the dashboard identifies over-requested resources, offers recommendations for appropriate per-container resource requests, and estimates the cost-savings impact of implementing those recommendations. The dashboard utilizes actual usage data from live containers to provide accurate recommendations. However, leveraging the dashboard has included some hurdles, requiring users to manually update YAML requests to align resource requests with Kubecost recommendations or introduce integrations using a CD tool. 

Source de l’article sur DZONE

Kubernetes offers developers tremendous advantages… if they can overcome the platform’s inherent complexities. It can be a big « if. » Without additional tooling, developers aren’t able to simply develop their applications on Kubernetes, but must also become experts in writing complex YAML templates to define Kubernetes resources. A relatively new tool called Shipa provides an application management framework that largely relieves developers of this burden, enabling dev teams to ship applications with no Kubernetes expertise required.

Having recently put the tool to the test, this article will demonstrate how to install and utilize Shipa to simplify Kubernetes and ease some common developer frustrations.

Source de l’article sur DZONE

Message and Event payload validation has been a rather thorny problem ever since extensible data structures (XML, JSON, YAML…) started to be used at scale. In fact, very little progress has been made since the good old days of DTDs. Schema definition languages such as XML-schema, json-schema, or even the OpenAPI schema are unfamiliar to most developers and often result in a rather anemic validation set of rules, leading to a perceived low value, and therefore a lack of interest. 

There are three key problems in a schema architecture: 

Source de l’article sur DZONE

Photo by Oskar Yildiz on Unsplash.

When building integration components, it’s almost a given that we will have to process data in different formats like JSON, XML, YAML, etc. It’s imperative that any integration product should have very good support for handling these data formats. This kind of robust support for handling data in different formats makes the product flexible to be adapted to different use cases.

In this article, we will look into the support provided by Kumologica for handling the data in these different formats.

Source de l’article sur DZONE

At Loodse, we’re using Quay.io to host our various Docker repositories. Over the last few years, cruft accumulated and we noticed that keeping team memberships up-to-date as employees and customers change became a hassle.

For Github we already make use of Peribolos, a wonderful tool to manage your Github organization declaratively. For quay we unfortunately did not find an equivalent solution, so we made our own.

Source de l’article sur DZONE