News Aggregator


How to Design Event Streams, Part 1

Aggregated on: 2024-10-28 16:21:38

Event streaming is becoming increasingly common in the world today. An event is a single piece of data that describes, as a snapshot in time, something important that happened in your business. We record that data to an event stream (typically using an Apache Kafka topic), which provides the basis for other applications and business processes to respond and react accordingly — also known as event-driven architecture (EDA). Event-driven architectures (EDA) rely extensively on events. To be successful with EDA, you’ll need to know how to properly design your events because this will significantly affect not only what you can do today, but also tomorrow.

View more...

Advanced CI/CD Pipeline Optimization Techniques Using GitHub Actions

Aggregated on: 2024-10-28 15:21:38

Continuous Integration and Continuous Deployment (CI/CD) pipelines are crucial for modern software development. This article explores advanced techniques to optimize these pipelines, enhancing efficiency and reliability for enterprise-level operations. Parallelization Using Matrix Builds GitHub Actions CI tests using the matrix strategy to run jobs in parallel:

View more...

Using AUTHID Parameter in Oracle PL/SQL

Aggregated on: 2024-10-28 14:21:38

In Oracle, the AUTHID clause is a powerful option to manage DB security and access control. It defines who is considered a current user for execution purposes within stored procedures and functions. This article explores the basics of AUTHID, different settings, and how to use it effectively. About AUTHID The AUTHID clause specifies whether the current user for authorization checks is the owner of the procedure or function (AUTHID DEFINER) or the user who invokes it (AUTHID CURRENT_USER).

View more...

AI-Driven Intent-Based Networking: The Future of Network Management Using AI

Aggregated on: 2024-10-28 13:21:38

We are living in a world where the internet is an inseparable part of our lives, and with the growth of Cloud computing and increased demand for AI/ML-based applications, the demand for network capacity is unstoppable. As networks scale exponentially, classical topologies and designs are struggling to keep in sync with the rapidly evolving demands of the modern IT infrastructure. Network management is getting complex due to the sheer amount of network infrastructure and links. AI-driven intent-based networking emerges as a potential solution, promising to reshape our approach to network management — but is it truly the solution to this problem it claims to be? Let’s dive into its details to understand how intent-based networking will be shaping the future of network management. What Is Intent-Based Networking? Traditional intent-based networking (IBN) evolved from software-defined networking (SDN). SDN is a very popular approach in network automation where software-defined controllers and APIs communicate with the physical Infrastructure. IBN is a natural progression of SDN that combines intelligence, analytics, machine learning, and orchestration to automate network management. It translates high-level business intent into network policies to configure the underlying network. IBN abstracts the complex part of underlying hardware, and network configuration to allow users to express their desired intent in natural language. 

View more...

The Power of Market Disruption: How to Detect Fraud With Graph Data

Aggregated on: 2024-10-28 12:21:38

In previous articles, I’ve mentioned my short career in the music industry. Let me tell a quick story about something really cool that happened while playing keyboards on a new artist project in 1986.  Emerging from the solo section of the first song on the album, sound engineer Alan Johnson had a cool idea that would catch the listener’s attention. The idea focused on a backward sound effect where Alan flipped the audio reels. (Here’s a YouTube video to better explain.)

View more...

12 Expert Tips for Secure Cloud Deployments

Aggregated on: 2024-10-25 22:06:36

According to the Thales 2024 Cloud Security Study, 31% of cyberattacks prioritize SaaS applications, followed closely by 30% targeting cloud storage and 26% aimed at cloud management infrastructure. Cloud resources have become the prime targets for hackers — no surprise, considering the vast amount of data companies are now storing there. And these aren’t just small-scale incidents. In June 2023, Toyota Motor Corporation issued an apology for a major data breach due to a cloud misconfiguration, potentially exposing the information of millions of customers. Whether you're managing sensitive customer data or operating critical business applications, securing your cloud deployment isn’t a luxury — it’s essential. This guide offers 12 cloud security tips for AWS, Google Cloud, and Azure to safeguard your environment.

View more...

Exploring Foundations of Large Language Models (LLMs): Tokenization and Embeddings

Aggregated on: 2024-10-25 19:06:36

Have you ever wondered how various Gen AI tools like ChatGPT or Bard efficiently answer all our complicated questions? What goes behind the scenes to process our question and generate a human-like response with the size of data in magnitudes? Let’s dive deep. In the era of Generative AI, natural language processing plays a crucial role in how machines understand and generate human language. The applications for this cut through various implementations like smart chatbots, translation, sentimental analysis, developing knowledge basis, and many more. The central theme in implementing this Gen AI application is to store the data from various sources and query those to generate human language responses. But how does this work internally? In this article, we will explore concepts of tokenization and embeddings, which play a vital role in understanding human queries and converting knowledge bases to generate responses.

View more...

Reactive Kafka With Spring Boot

Aggregated on: 2024-10-25 16:06:36

Event-driven architectures are at the core of modern, scalable systems. Reactive Kafka, when combined with Spring Boot and WebFlux, offers a powerful approach to building non-blocking, high-throughput services. In this article, we’ll focus on building generic, easily configurable consumers and producers, managing dead letter topics (DLT), and writing integration tests with Testcontainers. To demonstrate these principles, I’ve created a microservice, bootiful-reactive-kafka, which processes user-related events from an external system. While this microservice is simple, it illustrates key concepts that you can apply to more complex real-world use cases. 

View more...

Right-Sizing GPU and CPU Resources For Training and Inferencing Using Kubernetes

Aggregated on: 2024-10-25 14:06:36

The rapid rise of AI services has created a massive demand for computing resources, making efficient management of those resources a critical challenge. While running AI workloads with Kubernetes has come a long way, optimizing scheduling based on dynamic demand continues to be an area for improvement. Many organizations face constraints related to the cost and availability of GPU clusters worldwide and often rely on the same compute clusters for inference workloads and continuous model training and fine-tuning.    AI Model Training and Model Inferencing in Kubernetes Training typically requires far more computational power than inferencing. On the other hand, inferencing is far more frequent than training as it is used to make predictions repeatedly across many applications. Let’s explore how we can harness the best of what the cloud has to offer with advances in Kubernetes to optimize resource allocation by prioritizing workloads dynamically and efficiently based on need. 

View more...

Understanding the Differences Between Repository and Data Access Object (DAO)

Aggregated on: 2024-10-24 22:51:36

Repository and Data Access Object (DAO) play crucial roles in software development and data handling. However, their purposes and contexts differ, especially when we consider how they relate to the business logic of an application. Let’s explore the key differences between these concepts, where they originate, and when you should choose one. About Repository and Data Access Object (DAO) Patterns The Repository pattern originates from Domain-Driven Design (DDD), as described by Eric Evans in his book, "Domain-Driven Design: Tackling Complexity in the Heart of Software." Repositories are not just about managing data; they encapsulate business logic, ensuring that operations adhere to the Ubiquitous Language of the domain.

View more...

Summary of the AJAX Frameworks Comparison

Aggregated on: 2024-10-24 20:51:36

In previous weeks, I've analyzed several libraries and frameworks that augment the client with AJAX capabilities. Vue.js Alpine.js HTMX Vaadin In this post, I'll compare them across several axes.

View more...

High-Speed Real-Time Streaming Data Processing

Aggregated on: 2024-10-24 18:51:35

From data ingestion to reporting, the primary goal is to convert data into actionable information. Online data is growing at a much faster rate than data processing speeds. For businesses to stay competitive, data must be readily available for making informed decisions as early as possible. Live data streaming software is becoming a vital part of data infrastructures to get data to processing systems as early as possible. While different streaming software are available, it is crucial to understand the domain context and available infrastructure. Each business use case is unique and should be treated with white-glove treatment. The critical thing to remember is that cheap, fast, and good will never make a feasible combination. The affordable solution may be quick but not good; a fast solution may be good but not cheap, and so on. An ideal example of this concept would be real-time streaming data processing. 

View more...

Accelerating Connection Handshakes in Trusted Network Environments

Aggregated on: 2024-10-24 16:51:35

In this article, I aim to discuss modern approaches used to reduce the time required to establish a data transmission channel between two nodes. I will be examining both plain TCP and TLS-over-TCP.  What Is a Handshake? First, let’s define what a handshake is, and for that, an illustration of the TCP handshake serves very well:

View more...

Ending Microservices Chaos: How Architecture Governance Keeps Your Microservices on Track

Aggregated on: 2024-10-24 14:51:35

A microservices architecture is the gold standard for building scalable web applications. Gartner estimates that 74% of organizations use microservices for their web applications, with another 23% planning to use them soon.  If you’re an IT leader, architect, or developer, you might have experienced the faster deployments, better fault isolation, and easier scaling that come with microservices. 

View more...

Good Refactoring vs Bad Refactoring

Aggregated on: 2024-10-23 23:51:35

I've hired a lot of developers over the years. More than a few of them have come in with a strong belief that our code needed heavy refactoring. But here's the thing: in almost every case, their newly refactored code was found by the other developers to be harder to understand and maintain. It also was generally slower and buggier too. Now, don't get me wrong. Refactoring isn't inherently bad. It's a crucial part of keeping a codebase healthy. The problem is that bad refactoring is, well, bad. And it's surprisingly easy to fall into the trap of making things worse while trying to make them better.

View more...

Will GenAI Force Coders to Switch Careers?

Aggregated on: 2024-10-23 22:51:35

The world of software engineering is on the cusp of a transformation, driven largely by the rapid advancement of Generative AI (GenAI). The AWS CEO recently suggested that developers might stop coding within two years as AI takes over coding tasks. Is this an accurate prediction? Will GenAI really force coders to abandon their careers?  The answer isn't straightforward. GenAI will no doubt automate many coding jobs, which will cut down the need for some positions. However, it won't make software engineers a thing of the past. It's similar to how automation changed fields like manufacturing. GenAI will cause a shift, but not a total replacement. We'll still need software engineers — though in a more advanced and specialized way. They'll focus on jobs that AI can't handle by itself.

View more...

Automate Web Portal Deployment in Minutes Using GitHub Actions

Aggregated on: 2024-10-23 21:51:35

In today's fast-paced development environment, automating the deployment process is crucial for maintaining efficiency and reducing human error. GitHub Actions has emerged as a powerful tool for implementing continuous integration and continuous deployment (CI/CD) pipelines, particularly for web applications. This article explores how to leverage GitHub Actions to deploy a feedback portal seamlessly and efficiently. The Power of GitHub Actions GitHub Actions is more than just a CI/CD tool; it's a complete automation platform that allows developers to create custom workflows for building, testing, and deploying their applications. These workflows are triggered by specific events in your GitHub repository, such as pushes, pull requests, or scheduled tasks.

View more...

Data Architectures With Emphasis on Emerging Trends

Aggregated on: 2024-10-23 20:51:35

In this emerging Generative AI era as a data architect, it is your responsibility to keep a tap on the emerging architectures that cater to Generative AI. From data management to data governance to data lineage, architectures need to emerge to handle volumes of data. In this article, you learn about emerging data architectures like data mesh, Generative AI, and Quantum-based along with the existing architectures like Data Fabric. The article will conclude by showing the key differences between the existing and the emerging data architectures.

View more...

How Federal Agencies Are Achieving Zero Trust With Automation

Aggregated on: 2024-10-23 19:51:35

“Never trust, always verify.” This key principle has been ingrained into the cybersecurity lexicon since Forrester first popularized the concept of zero trust in 2009. Since then, zero trust has emerged as one of the most important frameworks in modern cybersecurity programs. For government agencies, the shift to zero trust is both crucial and inevitable. Tasked with protecting vital national infrastructure and driving scientific innovation, agencies are increasingly waking up to the fact that traditional security practices no longer cut it in today’s escalating, and increasingly complex, threat landscape.

View more...

Minimizing Latency in Kafka Streaming Applications That Use External API or Database Calls

Aggregated on: 2024-10-23 18:51:35

Kafka is widely adopted for building real-time streaming applications due to its fault tolerance, scalability, and ability to process large volumes of data. However, in general, Kafka streaming consumers work best only in an environment where they do not have to call external APIs or databases. In a situation when a Kafka consumer must make a synchronous database or API call, the latency introduced by network hops or I/O operations adds up and accumulates easily (especially when the streaming pipeline is performing an initial load of a large volume of data before starting CDC). This can significantly slow down the streaming pipeline and result in the blowing of system resources impacting the throughput of the pipeline. In extreme situations, this may even become unsustainable as Kafka consumers may not be able to commit offsets due to increased latency before the next polling call and get continuously rebalanced by the broker, practically not processing anything yet incrementally consuming more system resources as time passes. This is a real problem faced by many streaming applications. In this article, we’ll explore some effective strategies to minimize latency in Kafka streaming applications where external API or database calls are inevitable. We’ll also compare these strategies with the alternative approach of separating out the parts of the pipeline that require these external interactions into a separate publish/subscribe-based consumer.

View more...

RAG Systems: A Brand New Architecture Tool

Aggregated on: 2024-10-23 17:51:35

Let’s cut to the chase: Retrieval-Augmented Generation (RAG) systems are reshaping how we approach AI-driven information processing. As architects, we need to understand the nuts and bolts of these systems to leverage their potential effectively. What’s RAG? At its core, a RAG system enhances the capabilities of LLMs by integrating them with external knowledge sources. This integration allows the model to pull in relevant information dynamically, enabling it to generate responses that are not only coherent but also factually accurate and contextually relevant. The main components of a RAG system include:

View more...

Understanding Server Error (5XX) in Azure Services: A Deep Dive Into Azure Logic Apps

Aggregated on: 2024-10-23 16:51:35

Encountering 5XX errors in Azure services? These are server SKU issues such as high CPU and memory. We will focus on how design challenges in workflows as well can lead to 5XX response codes and the steps to mitigate them. Applies to: Azure Logic Apps (Consumption + Standard) What Are 5XX Errors? A 5XX response code indicates a server-side error. When dealing with a chain of servers, an issue in one server — such as downtime — can cause cascading failures, resulting in 5XX errors. In the context of Azure Logic Apps, understanding the nuances of these errors is crucial.

View more...

Leveraging Event-Driven Data Mesh Architecture With AWS for Modern Data Challenges

Aggregated on: 2024-10-23 15:51:35

In today's data-driven world, businesses must adapt to rapid changes in how data is managed, analyzed, and utilized. Traditional centralized systems and monolithic architectures, while historically sufficient, are no longer adequate to meet the growing demands of organizations that need faster, real-time access to data insights. A revolutionary framework in this space is event-driven data mesh architecture, and when combined with AWS services, it becomes a robust solution for addressing complex data management challenges. The Data Dilemma Many organizations face significant challenges when relying on outdated data architectures. These challenges include:

View more...

Building Predictive Analytics for Loan Approvals

Aggregated on: 2024-10-23 14:51:35

In this short article, we'll explore loan approvals using a variety of tools and techniques. We'll begin by analyzing loan data and applying Logistic Regression to predict loan outcomes. Building on this, we'll integrate BERT for Natural Language Processing to enhance prediction accuracy. To interpret the predictions, we'll use SHAP and LIME explanation frameworks, providing insights into feature importance and model behavior. Finally, we'll explore the potential of Natural Language Processing through LangChain to automate loan predictions, using the power of conversational AI. The notebook file used in this article is available on GitHub.

View more...

Advice for Anyone Who Wants to Be a Developer

Aggregated on: 2024-10-23 13:51:35

My friend was contemplating a career change, possibly into game development or software engineering. I thought hard about what advice to give. The following is my opinion, which is biased towards what I know and do. TL;DR: Head over to Kotlin’s interactive website to execute and edit code. That’s it — you’re coding.

View more...

How to Use Retrieval-Augmented Generation (RAG) Locally

Aggregated on: 2024-10-22 23:51:35

In this blog post, we'll explore how to use Retrieval-Augmented Generation (RAG) for building more effective and engaging conversational AI applications. We'll cover the basics of RAG, its benefits, and provide step-by-step instructions on how to develop your own RAG mechanism for local use. What Is RAG? RAG (Reinforcement-based Generation) combines the strengths of two prominent approaches in natural language processing (NLP): retrieval-based models and generation-based models. In traditional generation-based methods, AI systems generate text from scratch using pre-trained patterns and rules. However, this approach often leads to limited creativity, a lack of context-specific knowledge, and poor coherence.

View more...

Close Site Search Indexing via Kubernetes HAProxy Ingress

Aggregated on: 2024-10-22 22:51:35

In Kubernetes, Ingress resources are frequently used as traffic controllers, providing external access to services within the cluster. Ingress is essential for routing incoming traffic to your service; however, there may be scenarios in which you want to prevent search engines from indexing your service's content: it might be a development environment or something else. This blog post will walk you through the process of blocking your site's indexing on Kubernetes Ingress using robots.txt file, preventing search engine bots from crawling and indexing your content.

View more...

Implement Hibernate Second-Level Cache With NCache

Aggregated on: 2024-10-22 21:51:35

In this tutorial, we'll explore implementing a second-level cache in Hibernate using NCache. We'll set up a Java application with Hibernate. Then we'll configure NCache as the second-level cache. Finally, we'll test the implementation to see how caching reduces the database load and improves performance.

View more...

Languages for Domain Experts, Not Just for Programmers

Aggregated on: 2024-10-22 20:51:34

Productivity has improved each time programming languages have raised the level of abstraction. This trend continues today with languages that narrow the scope they address — referred to as domain-specific languages (DSLs). However, many of these DSLs are built by developers for developers and tend to concentrate on the solution domain, like code. Even better results can be achieved when a DSL is closely aligned with the problem domain — raising abstraction beyond the code. Such languages foster collaboration, enable domain experts to verify and validate their designs, and, in many cases, allow the generation of code, configurations, tests, reports, and more.

View more...

Calling a Client Via Spring @schedule Cron Job

Aggregated on: 2024-10-22 20:06:34

In this article, a cron job will be set up that will run parametrically in a certain period using Spring's scheduling feature. Period information will be adjustable parametrically from the application.properties file. Overview In the example, parameter information is given to run every minute.

View more...

PHP Opcode: Improve Application Performance Without Changing Your Code

Aggregated on: 2024-10-22 19:06:34

The PHP opcode generated by the PHP engine is strongly influenced by the way you write your code, not only in terms of the number of statements to accomplish a task. Clearly, it matters a lot, and I think it’s obvious to you. What could be less obvious is that even the syntax of the code can completely change the generated opcode causing a lot of overhead for the machine’s CPU to execute the exact same code.

View more...

Fast Flow Conf 2024: Shaping the Future of Platforms and Teams

Aggregated on: 2024-10-22 18:06:34

I had great fun at the recent Fast Flow Conference. This conference focuses on the approach and methodologies described in Team Topologies by Matthew Skelton and Manuel Pais, and it brings together an eclectic mix of folks from platform engineering, product management, engineering management, business analysis, agile coaching, and more. The presentations were amazing, and all our chats at the booth and around the venue were super interesting. I’ve tried to summarise my key learning below, and you can find links to all of the talk recordings via the Fast Flow Conf website.

View more...

“Let’s Cook!”: A Beginner's Guide to Making Tasty Web Projects

Aggregated on: 2024-10-22 17:06:34

When I was a child, I loved making pancakes with my grandmother. As time went on, I became a web developer, and now, instead of pancakes, I create various web projects with my colleagues. Every time I start a new project, I’m haunted by one question: How can I make this development "tasty" not only for the user but also for my colleagues who will work on it? This is a crucial question because over time, the development team may change, or you might decide to leave the project and hand it over to someone else. The code you create should be clear and engaging for those who join the project later. Moreover, you should avoid a situation where the current developers are dissatisfied with the final product yet have to keep adding new "ingredients" (read: functions) to satisfy the demands of the "restaurant owner." Important note: Before I describe my recipe, I want to point out that methods can vary across different teams and, of course, they depend on their preferences. However, as we know, some people have rather peculiar tastes, so I believe it's essential to reiterate even the simplest truths. Selecting the Ingredients: Choose Your Technology Stack Before you start cooking a dish, you usually check what ingredients you already have. If something is missing, you go to the store or look for alternative ways to acquire them, like venturing out to pick them up in the woods. The web development process is similar: before starting your work on a new project, you need to understand what resources you currently have and what you want to achieve in the end. To prepare for creating your technological masterpiece, it helps to answer a series of questions:

View more...

Symbolic and Connectionist Approaches: A Journey Between Logic, Cognition, and the Future Challenges of AI

Aggregated on: 2024-10-22 16:06:34

This article explores two major approaches to artificial intelligence: symbolic AI, based on logical rules, and connectionist AI, inspired by neural networks. Beyond the technical aspects, the aim is to question concepts such as perception and cognition and to reflect on the challenges that AI must take up to better manage contradictions and aim to imitate human thought. Preamble French researcher Sébastien Konieczny was recently named EuAI Fellow 2024 for his groundbreaking work on belief fusion and inconsistency management in artificial intelligence. His research, focused on reasoning modeling and knowledge revision, opens up new perspectives to enable AI systems to tend to reason even more reliably in the face of contradictory information, and thus better manage the complexity of the real world.

View more...

Platform Engineering: A Strategic Response to the Growing Complexity of Modern Software Architectures

Aggregated on: 2024-10-22 15:06:34

From monolithic applications to microservices and cloud-based architectures, the software development landscape is in constant change. These transitions have brought unprecedented opportunities but have also introduced significant complexities. Enter platform engineering: a strategic approach to managing the intricate infrastructure requirements of modern software systems. This opinion piece will explore how platform engineering is solving the challenges of today’s software architectures, its evolution, and the way industry giants like Netflix, Google, Microsoft, and Apple are leveraging it to streamline their operations. Finally, we’ll take a look at what the future holds for platform engineering. The Evolution of Software Architectures: From Monoliths to Microservices Software engineering has come a long way since the days of monolithic applications, where a single, unified codebase governed the entire system. While monolithic structures allowed for centralized management, they were often rigid and difficult to scale. As business needs evolved, software systems required greater agility, leading to the rise of microservices — smaller, independent units of functionality that could be developed, deployed, and scaled individually.

View more...

AI/ML Innovation in the Kubernetes Ecosystem

Aggregated on: 2024-10-22 13:51:34

As organizations put artificial intelligence and machine learning (AI/ML) workloads into continuous development and production deployment, they need to have the same levels of manageability, speed, and accountability as regular software code. The popular way to deploy these workloads is Kubernetes, and the Kubeflow and KServe projects enable them there. Recent innovations like the Model Registry, ModelCars feature, and TrustyAI integrations in this ecosystem are delivering these improvements for users who rely on AI/ML. These, and other improvements, have made open source AI/ML ready for use in production. More improvements are coming in the future. Better Model Management AI/ML analyzes data and produces output using machine learning "models," which consist of code, data, and tuning information. In 2023, the Kubeflow community identified a key requirement to have better ways of distributing tuned models across large Kubernetes clusters. Engineers working on Red Hat's OpenShift AI agreed and started work on a new Kubeflow component, Model Registry.

View more...

Tracing With OpenTelemetry and Jaeger

Aggregated on: 2024-10-21 23:36:34

Tracing, a critical component, tracks requests through complex systems. This visibility reveals bottlenecks and errors, enabling faster resolutions. In a previous post of our Go web services series, we explored observability’s significance. Today, we focus on tracing. Jaeger collects, stores, and visualizes traces from distributed systems. It provides crucial insights into request flows across services. By integrating Jaeger with OpenTelemetry, developers can unify their tracing approach, ensuring consistent and comprehensive visibility. This integration simplifies diagnosing performance issues and enhances system reliability. In this post, we’ll set up Jaeger, integrate it with OpenTelemetry in our application, and explore visualizing traces for deeper insights. Motivation What we are working towards is a Jaeger dashboard that looks like this:

View more...

Serverless NLP: Implementing Sentiment Analysis Using Serverless Technologies

Aggregated on: 2024-10-21 22:36:34

In this article, I will discuss building a sentiment analysis tool using AWS serverless capabilities and NLTK. I will be using AWS lambda to run sentiment analysis using the NLTK-vader library and AWS API Gateway to enable this functionality as an API. This architecture eliminates the need for any server management while providing on-demand scalability and cost-efficiency. Before we dive in, ensure that you have the following:

View more...

Ditch the Unfinished Action Items

Aggregated on: 2024-10-21 21:36:34

TL; DR: Unfinished Action Items: How to Make Retrospectives Useful If your team consistently creates action items during Retrospectives but rarely completes them, you’re not alone. Unfinished action items are a major productivity killer and lead to stalled progress. This article highlights five actionable practices to ensure Retrospective tasks get done, including limiting action items in progress, assigning clear ownership, and adding a reviewing progress in every Retrospective. The key to real improvement isn’t in creating long lists — it’s in following through. By treating Retrospective action items with the same importance as other Sprint tasks, your team can finally break the cycle of unfinished improvements and see real, beneficial change, individually and at the team level.

View more...

How to Implement Client-Side Load Balancing With Spring Cloud

Aggregated on: 2024-10-21 20:36:34

It is common for microservice systems to run more than one instance of each service. This is needed to enforce resiliency. It is therefore important to distribute the load between those instances. The component that does this is the load balancer. Spring provides a Spring Cloud Load Balancer library. In this article, you will learn how to use it to implement client-side load balancing in a Spring Boot project. Client and Server Side Load Balancing We talk about client-side load balancing when one microservice calls another service deployed with multiple instances and distributes the load on those instances without relying on external servers to do the job. Conversely, in the server-side mode, the balancing feature is delegated to a separate server, that dispatches the incoming requests. In this article, we will discuss an example based on the client-side scenario.

View more...

Automate Private Azure Databricks Unity Catalog Creation

Aggregated on: 2024-10-21 19:36:34

Disclaimer: All the views and opinions expressed in the blog belong solely to the author and not necessarily to the author's employer or any other group or individual. This article is not a promotion for any cloud/data management platform. All the images and code snippets are publicly available on the Azure/Databricks website. What Is Databricks? Databricks is a powerful platform that helps people work with large amounts of data easily. It allows companies to store, process, and analyze their data in one place.

View more...

PostgreSQL 17: A Major Step Forward in Performance, Logical Replication, and More

Aggregated on: 2024-10-21 18:36:34

After a successful 3rd beta in August 2024, the PostgreSQL development group released the GA version on September 26th. Recently, I blogged about some of the key logical replication features that you'll see in PostgreSQL 17.  In this blog, I'll describe a couple of new performance features that you'll find in Postgres 17 as well as another important logical replication feature that I didn't cover in my earlier blog of this series.  PostgreSQL has grown remarkably over the years, and with each major release, it has become a more robust, reliable, and responsive database for both mission-critical and non-mission-critical enterprise applications. The global and vibrant PostgreSQL community is contributing to PostgreSQL's success, diligently ensuring that all changes are carefully scrutinized and reviewed before they are added to the project source code. It is also very encouraging to see big technology names like Microsoft, Google, Apple, and others investing in Postgres by developing in-house expertise and giving back to the open-source community.

View more...

Tech Trends 2024: Highlights on the Current Tech Industry From a Developer

Aggregated on: 2024-10-21 17:36:34

I have attended several events this year, and I’m constantly keeping my ear to the ground for the latest topics and trends in technology. As a developer focused mostly on data and database industries, I feel that this year has seen a massive expansion of data and efficiency use cases and interest. In this post, I’ll highlight some of the trends I’ve seen throughout 2024, especially in the data, graph, and analytics technology spaces. Whether you are simply curious about what is happening in technology industries or looking to put together interesting topics for papers or presentations, this post will include the greatest hits.

View more...

Hybrid Search: A New Frontier in Enterprise Search

Aggregated on: 2024-10-21 16:36:34

In the business landscape, information is crucial for an organization. Not only this but finding the right information at the right time is even more important.  This is where enterprise search comes in handy. Earlier traditional enterprise search engines fell short in understanding the context of user queries. These search engines used keyword matching to find results. Post that, vector search became the next promising solution that considered the context of the user query, providing more relevant results. 

View more...

Enhancing Observability in iOS Applications: Key Insights

Aggregated on: 2024-10-21 15:51:34

My name is Siarhei Misko, an iOS Team Lead with over eight years of experience. Today, I want to walk you through the essential topic of observability in mobile applications, focusing on iOS. We are going to take a closer look at how we can implement observability more easily and why it is so important to improve app performance and provide a better user experience. Why Observability Matters The very fundamental question is: how do we ensure our application is stable and working fine? Conventionally, the answer would point to testing. We fire up QA tests by using various test cases, test environments, and on specific devices. The thing is, these tests are synthetic and mostly remain incapable of reflecting real-world scenarios. In the real world, applications go through much more complex environments, and here is where observability bridges the gap between test conditions and real-world functionality.

View more...

Dust: Open-Source Actors for Java

Aggregated on: 2024-10-21 14:51:34

Virtual Threads Java 21 saw the supported introduction of virtual threads. Unlike regular Java threads (which usually correspond to OS threads), virtual threads are incredibly lightweight, indeed an application can create and use 100,000 or more virtual threads simultaneously.  This magic is achieved by two major changes to the JVM:

View more...

How To Secure Your Raspberry Pi and Enable Safe, Resilient Updates

Aggregated on: 2024-10-21 13:51:34

The venerable Raspberry Pi has been around for over a decade (officially created in 2009) and it has become a standard in many robotics, home automation, and other types of uses, especially for “makers” and other tinkerers. But it has also made serious inroads into the professional and enterprise world — just more quietly. It’s a capable, reliable, and powerful single-board computer (SBC) with a robust user community. For all its strengths, it does have a few notable weaknesses. The biggest one is security. Not because the SBC itself is insecure, and not because the Operating System (OS) is insecure (it runs Linux, which can be very well secured). The most vulnerable part of the Raspberry Pi is the fact that it boots and runs off of a micro SD card.

View more...

Securing Cloud-Native Applications: A CISO’s Perspective on Broken Access Control

Aggregated on: 2024-10-18 21:36:32

When we talk about security in cloud-native applications, broken access control remains one of the most dangerous vulnerabilities. The OWASP Top 10 lists it as the most prevalent security risk today, and for good reason: the impact of mismanaged permissions can lead to catastrophic outcomes like data breaches or ransomware attacks. For CISOs, addressing broken access control isn't just a technical challenge—it’s a strategic priority that touches nearly every aspect of an organization’s security posture. As part of my job as the VP of Developer Relations in Permit.io, I consulted with dozens of CISOs and security engineers leaders, from small garage startup founders to Fortune 100 enterprise security staff. This article will try to provide the most comprehensive perspective I gathered from these chats, guiding you in considering broken access control challenges in cloud-native applications.

View more...

How to Use Self Join and With Clause in Oracle

Aggregated on: 2024-10-18 20:36:32

The Oracle WITH clause is one of the most commonly used techniques to simplify the SQL source code and improve performance. In Oracle SQL, the 'WITH' clause also known as a Common Table Expression (CTE) is a powerful tool which is also used to enhance the code readability.  WITH is commonly used to define temporary named result sets, also referred to as subqueries or CTEs as defined earlier. These temporary named sets can be referenced multiple times within the main SELECT SQL query. The CTEs are like virtual tables and are very helpful in organizing and modularizing the SQL code.

View more...

Solving a Common Dev Grievance: Architecture Documentation

Aggregated on: 2024-10-18 19:36:32

The global developer population is expected to reach 28.7 million people by 2024, surpassing the entire population of Australia. Among such a large group, achieving unanimous agreement on anything is remarkable. Yet, there's widespread consensus on one point: good technical documentation is crucial and saves considerable time. Some even consider it a cornerstone of engineering success, acting as a vital link between ideas, people, and visions.

View more...