Discover more from Dev Shorts
Dev Catch Up -#8
The evolution of tech with new developments and happenings is constant. And as usual, DevShorts is back with another issue to simplify your digests from the community. Like our last ones, this issue also covers the unique stories trending in our developer circle, along with a look at new open-source projects, tutorials, trendy news, and much more.
Android gets a new runtime update, making applications start 30 percent faster than before. Android runtime or ART is the engine behind the Android operating system that provides the runtime and the core APIs on which all applications and most OS services rely. Kotlin, the android programming language is compiled to bytecode executed by the ART. With an update of the ART, users tend to get faster app startup time, improved execution speed, memory usage, security fixes, and more efficient bytecode compilation. Learn more about the update from this article written by 9to5google.
We have discussed vector databases in one of our earlier issues. It is one of the most trendy topics these days when discussing machine learning and artificial intelligence. Vector databases are optimized for storing and querying data that are represented as data such as images, texts, etc. Vector databases help with natural language processing, searching similar images based on query images, recommendation systems, anomaly detection, etc. Find more insights on how you can choose the right vector DB solution for your desired use case from this article posted by thedataquarry, where they have explained in detail the different Vector DB solutions and analyzed the trade-offs.
Recently, Kubernetes v1.28 has been released and that created a lot of buzz in the world of cloud-native. The release consists of a total of 45 enhancements of which 19 of them have entered alpha, 14 graduated to beta release, and 12 graduated to stable. One of the major enhancements in this release includes the reorganization of source code for control plane components. Version 1.28 brings improvements to CustomResourceDefinition validation rules and the ValidatingAdmissionPolicy feature gate is graduating to beta. With the new release, you will find an expansion to the supported skew between the core node and control plane components by one minor version, and recovery from unexpected node shutdown is a stable feature. More on the update and availability of new features can be found in details from the Kubernetes blog here.
Go lang recently introduced their first toolchain with a reproducible build. Making a build reproducible is highly essential to thwart a supply chain attack on open-source software. A reproducible build provides a simple way to verify the binaries for an open-source project. Although earlier toolchains were possible to reproduce with limited effort, the new version of 1.21.0 is the first Go toolchain with a perfectly reproducible build. Know all about reproducible builds and the changes that were made in version 1.21.0 to make this version of the Go toolchain reproducible from this article posted in the official Golang blog.
If your organization is using a database and has a high amount of incoming traffic, then there will always be a threat with the availability of storage to store the ever-increasing amount of data. To solve this problem, you might either provision more storage or try to free space without dropping indexes or deleting data. While trying to clean up space, you will usually clean up unused indexes which take up a lot of space. Created for the purpose of making data operations faster, unused indexes act as a double-edged sword making slow inserts and updates and taking space. In this article, by Haki Benita, you will find how you can free storage spaces through conventional means and also, you will get a glimpse of the special find through which you can clear up more spaces taken by unused indexes.
Now, we will head over to some of the news and articles that will be at a place of interest for developers and the tech community out there.
Good to know
While creating a software system, we always want it to be reliable. Reliability in the context of software engineering or cloud computing implies the probability of the failure-free operation of the software or the performance of a cloud service provider within a given environment or a period of time. However, demanding unreasonable uptime with minimal resources and immense feature pressure is something that most organizations often do in the name of reliability. Here is an article from Devops.com where the myths about reliability are explained in detail.
Service Level Objectives or SLOs are quite the key performance indicators when it comes to Site Reliability Engineering. It provides great value to the customers as part of the Service Level Agreement. SLO consists of a target value or a range of values that is deemed acceptable for a level of service that is measured by the Service Level Indicator or SLI. The hidden benefits of SLOs are immense and this article by Amin Astaneh from Certomodo discusses it in detail.
As you all know OpenTelemetry is the new big thing that is making headlines in the world of observability and beyond. Developers are using this opportunity to use this technology and create several tools and mechanisms that are making things easy for a lot of people who want to use OpenTelemetry for logging and monitoring. If you have a Python application running on Kubernetes, and you want to instrument logs with the help of OpenTelemetry, you can do that with the help of the OTel operator for Kubernetes. Adri Villela in her article OTel python logging auto-instrumentation with the help of OTel Operator shares the bits and pieces in the form of a written walkthrough.
While discussing computer networking, a message queue is something that we must know. It is a communication mechanism used in distributed systems and computer programming that enables the exchange of data between different parts or components of a software application in an asynchronous manner. Through this important piece of middleware, any component can communicate with another component in an application without the need for the two to be connected with each other. ByteByteGo has written a perfectly explained article, where the importance of message queue has been discussed along with its benefits and many other things.
We now focus on a Kubernetes-based open-source tool that has garnered some attention these recent days. KubeBlocks, a Kubernetes operator from ApeCloud for managing several types of databases like relational, NoSQL, vector, and streaming databases on the cloud and on-premise is a highly useful tool that simplifies operations like upgrading, scaling, monitoring, etc. With the ability to integrate popular database engines, it provides rich management functions with declarative API functions for various infrastructures which serves great for production purposes. Check it out from their GitHub repository here.
Lastly, we will take a look at some of the trending scoops that hold a special mention for the community.
Observability helps you reduce your cloud costs. There are observability cloud vendors that provide you with tools to inspect unused data and reduce the cloud cost. But what happens when you run Prometheus on your own server? Here is an article from Mkaz that discusses different simple Prometheus queries that allow the detection of heavy metrics.
With 90 percent or more of your code written by copilot, here comes an AI-powered IDE called Cursor that will be highly beneficial to developers. Aman Sanger, the CEO of Cursor shared all about Cursor and its journey in this recent episode of the podcast from Latent Space.
Even if you are not familiar with software security, you must have heard about the OAuth 2.0 framework. It is a security framework that allows different applications to interact securely without sharing important credentials. Learn more about this framework in simple terms from this mini article written by and published in ByteByteGo.
Relabeling in Prometheus is a powerful tool that helps in filtering and transforming your flow of labeled objects in your Prometheus server. Here is a detailed video from Julius Volz in which you learn about the concept of relabeling and how it fits in the Prometheus configuration file.
Merges and commits are essential while dealing with open-source development. A simple explanatory video from the ByteByteGo YouTube channel helps you understand in detail the difference between Git Merge, Rebase, and Squash commits.
That’s it from us this week. We hope you are going away with a ton of new information. Lastly, share this newsletter with your colleagues and pals if you find it valuable and a subscription to the newsletter will be awesome if you are reading for the first time.