News AggregatorHow To Set Up Multiple JMS Pods With a Single jmsstore File per Queue in Maximo Application Suites (MAS8)Aggregated on: 2024-09-05 13:08:08 Problem Statement By default, the IBM Manage JMS setup creates a single JMS store file for all queues, which effectively places all queues in one repository. This approach poses a risk: if one queue becomes corrupt and a message is affected, you would have to delete the store file for all queues to resolve the issue. How To Overcome the Problem We developed a solution to configure the MAS 8 application with a distinct JMS store file for each queue. View more...Supercharging IaC With AI for Next-Gen Infrastructure EfficiencyAggregated on: 2024-09-04 21:08:08 In today’s technology landscape, it’s hard to overlook the impact AI is having across nearly every domain. As Infrastructure as Code (IaC) enthusiasts, we’ve been exploring how AI can drive the next evolution of the IaC ecosystem. As we have already seen, AI is playing a significant role in enhancing DevOps and platform capabilities, and it has become clear that AI will be central to the future of IaC practices. Below, we’ll explore some important areas where AI is reshaping IaC operations and discuss what the future may hold. View more...My Journey With AWS CDK and Java: What You Need To KnowAggregated on: 2024-09-04 20:08:08 One of the first decisions you’ll need to make when working with the AWS Cloud Development Kit (CDK) is choosing the language for writing your Infrastructure as Code (IaC). The CDK currently supports TypeScript, JavaScript, Python, Java, C#, and Go. Over the past few years, I’ve worked with the CDK in TypeScript, Python, and Java. While there is ample information available online for TypeScript and Python, this post aims to share my experience using Java as the language of choice for the AWS CDK. Wait…What? Use Java With the AWS CDK? Some may say that TypeScript is the most obvious language to use while working with the AWS CDK. The CDK itself is written in TypeScript and it’s also the most used language according to the 2023 CDK Community Survey. Java is coming in 3rd place with a small percentage of use. View more...Order in Chaos: Python Configuration Management for Enterprise ApplicationsAggregated on: 2024-09-04 19:08:08 Importance of Configuration Management In enterprise applications, configuration management is the most underrated operator that keeps everything integrated and running smoothly. It acts as a backstage manager ensuring all lights are in place, theatrical queues are ready, and the show can go on without a hiccup. Especially, while dealing with multi-environment deployments, with tight-knit CI/CD processes, one wrong configuration can pose an application-wide shutdown risk. Multi-environment enterprise applications carry their own set of challenges and managing configs is no exception. We all have heard the famous “But, it was working on my machine!” excuse more times than daily salutations. View more...Cutting the High Cost of Testing MicroservicesAggregated on: 2024-09-04 18:08:08 A specter is haunting modern development: as our architecture has grown more mature, developer velocity has slowed. A primary cause of lost developer velocity is a decline in testing: in testing speed, accuracy, and reliability. Duplicating environments for microservices has become a common practice in the quest for consistent testing and production setups. However, this approach often incurs significant infrastructure costs that can affect both budget and efficiency. Testing services in isolation isn’t usually effective; we want to test these components together. View more...Overcoming Alert Fatigue: A Team's Journey to Effective Incident ResponseAggregated on: 2024-09-04 17:08:08 The Night That Changed Everything Remember the days when your phone buzzed more often than a beehive in spring? That was us, drowning in a sea of alerts. Our Slack channels looked like Times Square on New Year's Eve, and our PagerDuty . . . well, let's just say it was living up to its name a little too enthusiastically. We were facing a classic case of alert fatigue, and it wasn't just costing us sleep — it was impacting our ability to respond to real incidents. Something had to give, and it wasn't going to be our sanity. View more...Mastering Test Automation: How data-testid Can Revolutionize UI TestingAggregated on: 2024-09-04 16:23:08 How Can I Implement This Approach? Implementing the data-testid approach in your front-end development process involves several steps, from setting up your project to best practices for using the attribute effectively. Here’s a step-by-step guide on how to implement this approach. Adopt a Testing-First Mindset Plan for Testing Before diving into coding, ensure that testability is a key consideration in your UI component design. Discuss with your team how elements will be tested and where data-testid will be applied. View more...5 Steps To Integrate Istio With OPAAggregated on: 2024-09-04 15:23:08 Authentication and Authorization are big parts of the security puzzle that need to be solved by cloud architects and DevOps engineers. In this blog, we will specifically look at how to achieve authorization/access control; i.e., what actions the authenticated entity can perform in the Istio service mesh. It helps to secure the infrastructure by preventing actions with malicious intent. Authorization in a service mesh can be defined using OPA policies. OPA is a mechanism that helps DevOps folks define and enforce authorization policies for Kubernetes workloads. In this piece, we will see: View more...A Comprehensive Guide to Access and Secrets Management: From Zero Trust to AI Integration — Innovations in Safeguarding Sensitive InformationAggregated on: 2024-09-04 14:23:08 Editor's Note: The following is an article written for and published in DZone's 2024 Trend Report, Enterprise Security: Reinforcing Enterprise Application Defense. Access and secrets management involves securing and managing sensitive information such as passwords, API keys, and certificates. In today's cybersecurity landscape, this practice is essential for protecting against breaches, ensuring compliance, and enhancing DevOps and cloud security. By implementing effective secrets management, organizations can reduce risk, improve operational efficiency, and respond to incidents more quickly. For developers, it provides a secure, convenient, and collaborative way to handle sensitive information, allowing them to focus on coding without worrying about the complexities of secure secrets handling. View more...How To Conduct Effective Data Security Audits for Big Data SystemsAggregated on: 2024-09-04 13:23:08 Big data systems are an increasingly common aspect of many business operations. As helpful as such a wealth of information is, these projects can dramatically impact an organization’s cybersecurity posture. Consequently, any company embracing this trend must also embrace the big data security audit. Why Big Data Security Audits Are Necessary The sheer size of big data necessitates proactive cybersecurity. Global volumes could reach 181 zettabytes by 2025, leaving businesses with massive amounts of information to safeguard. Failing to secure big data systems could expose countless consumers’ personal details to cybercriminals, incurring significant costs. View more...MLOps: How To Build a Toolkit To Boost AI Project PerformanceAggregated on: 2024-09-03 22:23:07 Numerous AI projects launched with promise fail to set sail. This is not usually because of the quality of the machine learning (ML) models. Poor implementation and system integration sink 90% of projects. Organizations can save their AI endeavors. They should adopt adequate MLOps practices and choose the right set of tools. This article discusses MLOps practices and tools that can save sinking AI projects and boost robust ones, potentially doubling project launch speed. MLOps in a Nutshell MLOps is a mix of machine learning application development (Dev) and operational activities (Ops). It is a set of practices that helps automate and streamline the deployment of ML models. As a result, the entire ML lifecycle becomes standardized. View more...Implementing an IaC Platform With Terraform, Ansible, and GitLabAggregated on: 2024-09-03 21:23:07 Given the need to create infrastructure across multiple environments while ensuring standardization and effective monitoring, it becomes crucial to provision these environments securely. To achieve this, adopting an immutable infrastructure approach, where environments are provisioned as code, is essential. The purpose of this article is to demonstrate a possible approach to achieving this by using GitLab’s structures to enforce templates and standards, Terraform to apply and maintain standards across servers, and Ansible for software provisioning and configuration, utilizing a shared roles model across repositories. To manage the state of machines with Terraform, we use MinIO, as it enables this implementation on-premises. View more...How We Optimized Read Performance: Readahead, Prefetch, and CacheAggregated on: 2024-09-03 20:23:07 High-performance computing systems often use all-flash architectures and kernel-mode parallel file systems to satisfy performance demands. However, the increasing sizes of both data volumes and distributed system clusters raise significant cost challenges for all-flash storage and vast operational challenges for kernel clients. JuiceFS is a cloud-native distributed file system that operates entirely in user space. It improves I/O throughput substantially through the distributed cache and uses cost-effective object storage for data storage. It’s hence suitable for serving large-scale AI workloads. View more...Automating Cucumber Data Table to Java Object Mapping in Your Cucumber TestsAggregated on: 2024-09-03 19:23:07 As a Java developer, using Cucumber for Behavior-Driven Development (BDD) can be a great way to ensure that your code meets business requirements by writing tests in plain language. One of the most powerful features of Cucumber is the ability to use Data Tables in feature files. However, manually mapping these tables to Java objects can be repetitive and error-prone. To streamline this process, the library cucumber-datatable-to-bean-mapping aims to automatically map Cucumber Data Tables to Java objects. In this article, I will walk you through the library's functionality and how you can easily integrate it into your Cucumber projects to save time and reduce boilerplate code. View more...Configuring a Connection PoolAggregated on: 2024-09-03 18:23:07 A connection pooler is a software component that manages database connections. This can help in multiple ways to improve resource utilization, help with load balancing or failover, and can greatly reduce transaction times. In this blog post, we’re going to see what a connection pooler is and how to configure it. What a Connection Pooler Is and Why It’s Useful Opening a connection to the database takes many steps. We need to connect to the server and perform the initial handshake, agree on the encryption and connection settings, and then keep the new connection resource across all the layers (network driver, OS layer, database layer, etc.). Each connection consumes memory which size depends on the database engine. For PostgreSQL, this can be even 1.3MB of memory for one connection. Opening a connection also takes time as we need to negotiate the settings of the new connection. View more...Open Standards for Data Lineage: OpenLineage for Batch and StreamingAggregated on: 2024-09-03 17:23:07 One of the greatest wishes of companies is end-to-end visibility in their operational and analytical workflows. Where does data come from? Where does it go? To whom am I giving access to? How can I track data quality issues? The capability to follow the data flow to answer these questions is called data lineage. This blog post explores market trends, efforts to provide an open standard with OpenLineage, and how data governance solutions from vendors such as IBM, Google, Confluent, and Collibra help fulfill the enterprise-wide data governance needs of most companies, including data streaming technologies such as Apache Kafka and Flink. What Is Data Governance? Data governance refers to the overall management of the availability, usability, integrity, and security of data used in an organization. It involves establishing processes, roles, policies, standards, and metrics to ensure that data is properly managed throughout its lifecycle. Data governance aims to ensure that data is accurate, consistent, secure, and compliant with regulatory requirements and organizational policies. It encompasses activities such as data quality management, data security, metadata management, and compliance with data-related regulations and standards. View more...Bridging the Gap: How Developers and Security Professionals Can Collaborate for Better CybersecurityAggregated on: 2024-09-03 16:23:07 In the ever-evolving world of cybersecurity, the relationship between developers and security professionals is crucial. At Black Hat 2024, industry experts shared their insights on how these two groups can work together more effectively to create more secure systems. This article explores key areas where developers and security professionals can improve their collaboration and practices. Shifting Left: Security from the Start Several experts emphasized the importance of integrating security earlier in the development process. Idan Plotnik, co-founder and CEO of Apiiro, suggests that "developers and security professionals need to focus on integrating AI security into their application security processes." This approach ensures that security is not an afterthought but an integral part of the development lifecycle. View more...Building Trust Through "Zero Trust:" Transforming Organizational Security CultureAggregated on: 2024-09-03 16:23:07 Editor's Note: The following is an article written for and published in DZone's 2024 Trend Report, Enterprise Security: Reinforcing Enterprise Application Defense. With organizations increasingly relying on cloud-based services and remote work, the security landscape is becoming more dynamic and challenging than ever before. Cyberattacks and data breaches are on the rise, with high-profile organizations making headlines regularly. These incidents not only cause significant financial loss but also result in irreparable reputational damage and loss of customer trust. View more...Confusion Matrix vs. ROC Curve: When To Use Which for Model EvaluationAggregated on: 2024-09-03 15:23:07 Model performance has to be evaluated in machine learning and data science in order to come up with a model that is reliable, accurate, and efficient in making any kind of prediction. Some common tools for this are the Confusion Matrix and the ROC Curve. Both have different purposes and knowing exactly when to use them is critical in robust model evaluation. In this blog, we will go into details of both tools, compare them, and finally provide guidance on when to use either in model evaluation. Understanding Confusion Matrix A Confusion Matrix is a table used for visualizing how well a classification model is performing. Generally, it breaks the predictions of the model into four classes: View more...Workload Protection in the Cloud: Why It Matters More Than EverAggregated on: 2024-09-03 14:23:07 The swift progress in cloud technology has made data and application security an important requirement rather than just a preference. As more customer businesses are moving their operations to the cloud, safeguarding their cloud workloads — referring to all deployed applications and services — has become increasingly essential. Cloud Workload Protection (CWP) is important in this area because it ensures that these workloads remain secure and resilient against a growing range of threats. Why CWP Is Essential CWP is a necessity that must not be ignored. As the adoption of cloud technology grows, the scale and complexity of threats also escalate. Here are the reasons why CWP is critical: View more...From Zero To AI Hero, Part 1: Jumpstart Your Journey With Semantic KernelAggregated on: 2024-09-03 13:23:07 GenAI and Coding: A Short Story When I first heard about the Semantic Kernel, I was confused by the term. As a former C++ guy who has worked with Operating Systems, I thought it had something to do with it. Though I have followed the Generative AI landscape, I felt most of it was the initial hype (Garner's hype curve). Predicting tokens was lovely, but I never thought it would influence and create usable bots that could integrate with existing applications. Then, there comes LangChain, which immediately became one of the fastest-growing open-source projects of 2023. LangChain is an AI orchestrator that helps developers sprinkle the magic of AI into their new and existing applications. LangChain came in Python, Java, and JavaScript, and there was a void for C# folks. Semantic Kernel filled this gap: although it differs from LangChain in principle and style, it was essentially built to make the .NET folks happy. Icing on the cake? It also supports Java and Python. View more...Revolutionize Your MuleSoft Deployments With GitOpsAggregated on: 2024-09-02 22:23:07 In the dynamic world of integration, MuleSoft stands out as a powerful platform that enables not only to unlock data across legacy systems, cloud apps, and devices but also to make smarter and faster decisions, and offer highly connected experiences for end-users. As organizations strive for faster and more reliable deployments, the adoption of GitOps is transforming how we manage and automate MuleSoft deployments. In this blog post, we'll explore how we can apply the principles of GitOps to our MuleSoft deployment process. What Is GitOps? GitOps is a new method of controlling infrastructure and application deployments by relying on a Git repository as the primary source of information. Teams can have more oversight, transparency, and tracking of their deployment processes by storing configuration files in a Git repository. GitOps principles prioritize declarative configurations and automated workflows to achieve consistent and reliable deployments. View more...Telemetry Pipelines Workshop: Integrating Fluent Bit With OpenTelemetry, Part 2Aggregated on: 2024-09-02 21:23:07 Are you ready to get started with cloud-native observability and telemetry pipelines? This article is part of a series exploring a workshop guiding you through the open source project Fluent Bit, what it is, a basic installation, and setting up the first telemetry pipeline project. Learn how to manage your cloud-native data from source to destination using the telemetry pipeline phases covering collection, aggregation, transformation, and forwarding from any source to any destination. View more...Elevate Your Career: Three-Step Strategy to Advance Career in the IT IndustryAggregated on: 2024-09-02 20:23:07 Sometimes in our careers, we feel like we're not progressing from our current level. Well, who doesn't? The least said about it, it is an annoying place to be: working hard, putting in long hours, and feeling like our career is going nowhere. I was there too. So, after having navigated my way through it, here's advice I wish I could give my past self. The Reality Check: Why Hard Work Alone Isn’t Enough I’ve noticed a common myth at workplaces that working long hours will get you a promotion. The reality is that putting in extra hours is not a differentiator. While dedication and a strong work ethic are important, it may not take you to the next level. Any leadership looks for people who can tackle higher-level challenges and lead through influence rather than effort. You have more chances to move forward if you are a strategic thinker rather than a hard worker. View more...Part 3: Taste Testing and Fine-Tuning, Evaluating Your Meal Planning BotAggregated on: 2024-09-02 19:23:06 In Part 2, you poured your heart and soul into creating a cutting-edge AI meal planner. You've meticulously chosen the right ingredients (data!), carefully blended them through training, and now your LLM creation is poised to serve up culinary delights. But before you unleash it upon the world, there's one crucial step: a thorough taste test! This is where a robust evaluation framework becomes your most valuable tool. What Is an Eval? An "eval" refers to the process of evaluating or assessing (sometimes referred to as "challenging") the performance of an LLM, to make sure it behaves the way you expect it to. This involves systematically testing the model's ability to generate accurate, relevant, and coherent responses across a variety of tasks and scenarios. Evals often employ diverse datasets and metrics, capturing aspects like factual accuracy, contextual understanding, fluency, and even the potential for bias or harmful outputs. The insights gleaned from these evaluations guide ongoing development and refinement, ultimately shaping the LLM's ability to serve users effectively and responsibly. View more...Monolithic vs Microservices Architecture: Key DifferencesAggregated on: 2024-09-02 18:23:06 Architecture design is imperative to modern software development. It impacts application performance, development time, quality, and overall user experience. Monolithic and microservices are two popular architectural designs powering most software applications today. Monolithic design is a more traditional approach that treats the entire application as a single entity. On the other hand, microservices are a more modern approach that divides the application into smaller components, giving developers granular control. For most developers, currently, microservices stand out as the best approach since they are a novel concept and provide finer control. However, this is not necessarily true in all cases. View more...Best Practices for Salesforce Data Management and SecurityAggregated on: 2024-09-02 17:23:06 Effective Salesforce data management and security are crucial for organizations aiming to maximize their CRM potential while safeguarding sensitive information. As Salesforce continues to be a cornerstone for customer relationship management, ensuring data integrity, accessibility, and security becomes increasingly vital. This article explores best practices for Salesforce data management and security, covering essential strategies such as data governance, access controls, encryption, regular audits, and compliance with industry regulations. By adhering to these best practices, businesses can protect their data assets, enhance operational efficiency, and maintain the trust of their customers. In this article, we will discuss the top five Salesforce data management and security best practices you should consider implementing, if you have not done so already. View more...From Transparency to the Perils of OversharingAggregated on: 2024-09-02 16:23:06 TL; DR: Why Too Much Transparency Can Have a Detrimental Effect While transparency is often touted as essential in Agile, too much can have negative consequences. Oversharing can lead to micromanagement, misinterpretation, and loss of trust within the team. Examples include excessive scrutiny during Daily Scrums, misreading progress metrics, and creating a blame culture that erodes psychological safety. Strategic opacity may sometimes be necessary to protect the team’s autonomy and maintain a healthy dynamic. Be transparent, but not at the expense of the team’s independence and well-being. View more...Going on a Threat Hunt: Advanced Strategies for Defending the Digital FrontierAggregated on: 2024-09-02 15:23:06 Editor's Note: The following is an article written for and published in DZone's 2024 Trend Report, Enterprise Security: Reinforcing Enterprise Application Defense. Threat hunting is a proactive cybersecurity strategy that actively searches for hidden threats throughout an organization's entire digital environment. Unlike traditional security measures that primarily react to incidents, threat hunting assumes a breach has already occurred and aims to identify malicious activity before it escalates. By analyzing vast amounts of data from networks, endpoints, and cloud environments, organizations can uncover suspicious patterns, neutralize threats, and significantly reduce their risk of a successful cyberattack. View more...Zero Trust and Its Impact on CybersecurityAggregated on: 2024-09-02 14:23:06 According to Forbes, 1 out of 5 people are working remotely. With a more distributed workforce, enterprises have significantly changed their operation style, encompassing shifts in company culture, meeting structures, and a surge in Virtual and Augmented Reality. Along with them, the approach to cybersecurity also evolved. To better understand, let's rewind to the early 2000s when employees were onsite, connected to the company's corporate network acting as a security perimeter. All the egress and ingress traffic went through the perimeter protected by firewalls. With the advancement in Internet infrastructure, employees started working from home but continued connecting to corporate networks using VPNs. As years passed, devices became smarter, and how we access work spread from company-issued devices to personal mobiles and tablets. Subsequent growth in Cloud and IoT moved the workloads from running on-prem to operating globally, effectively dissolving the concept of a security perimeter, and demanding a new approach to secure enterprises. View more...API-Led Example: MuleSoftAggregated on: 2024-09-02 13:23:06 This article gives an impression of API-led architecture using Mule4 APIs in order to give a clear understanding of the development process of an API-led approach. It covers all 3 of the API layers (System, Process, and Experience) using Salesforce and FIRST.org as the source. Additionally, we cover applying best practices in each layer of development. RAML: Common library, traits, data definition, reusable resources, health endpoint API: Externalize property files, encryption of properties, externalize dwl code, reusable http requester, common error handling, applying policies, applying loggings Requirements Create and get account details from Salesforce CRM Input has country code in the request for shipping and billing details tags, which needs to be looked up against FIRST.org open source REST API to get the country name Implement clientID enforcement policy with SLA-based rate limiting; limit 100 requests in a minute Follow the best practices: Reusable traits, library, and response code in RAML Define respective APIs with proper error handling, global connectors, logging, munit testcases Common Library Common Traits Client credentials headers: To re-use for APIs where the developer wants to secure the resources using the Client ID enforcement policy #%RAML 1.0 Trait headers: client_id: type: string description: Client Id for the respective consumer application client_secret: type: string description: Client Secret for the respective consumer application View more...Guide to Securing Your Software Supply Chain: Exploring SBOM and DevSecOps Concepts for Enhanced Application SecurityAggregated on: 2024-09-01 15:08:06 Editor's Note: The following is an article written for and published in DZone's 2024 Trend Report, Enterprise Security: Reinforcing Enterprise Application Defense. In today's cybersecurity landscape, securing the software supply chain has become increasingly crucial. The rise of complex software ecosystems and third-party dependencies has introduced new vulnerabilities and threats, making it imperative to adopt robust security measures. This article delves into the significance of a software bill of materials (SBOM) and DevSecOps practices for enhancing application security. We will cover key points such as the importance of software supply chain security, the role of SBOMs, the integration of DevSecOps, and practical steps to secure your software supply chain. View more...Full-Stack Security Guide: Best Practices and Challenges of Securing Modern ApplicationsAggregated on: 2024-08-31 12:08:05 Editor's Note: The following is an article written for and published in DZone's 2024 Trend Report, Enterprise Security: Reinforcing Enterprise Application Defense. Full-stack security protects every layer of a software application, including the front end, back end, infrastructure, and network. It integrates robust security measures to address vulnerabilities by employing tools and practices to maintain data integrity, prevent unauthorized access, and ensure compliance, especially as applications expand and integrate with various technologies and platforms. View more...The Chaos of Mismatched Ord and PartialOrd Implementations in Rust's BTreeSetAggregated on: 2024-08-30 22:08:05 Rust is known for its robust type system and powerful trait-based abstractions, which allow developers to write safe, efficient, and expressive code. BTreeSet in Rust is a powerful data structure for maintaining a sorted collection of unique elements. It provides the guarantees of log(n) insertion, deletion, and lookup times while keeping the elements in a well-defined order. However, when the Ord and PartialOrd trait implementations for a type differ, it can lead to unpredictable and chaotic behavior. This article explores this subtle pitfall using a practical example. Understanding Ord and PartialOrd The Ord Trait The Ord trait in Rust enforces a total order on elements. It’s used by collections like BTreeSet to maintain a consistent ordering. When you implement Ord for a type, you’re defining a complete ordering, which ensures that any two elements can be compared, and the ordering will always make sense. View more...Snowflake Administration: A Comprehensive Step-by-Step GuideAggregated on: 2024-08-30 20:08:05 Snowflake is a powerful cloud-based data warehousing platform renowned for its scalability, flexibility, and ease of use. As an administrator, managing Snowflake involves overseeing various tasks to ensure: View more...Java Performance Tuning: Adjusting GC Threads for Optimal ResultsAggregated on: 2024-08-30 18:08:05 Garbage Collection (GC) plays an important role in Java’s memory management. It helps to reclaim memory that is no longer in use. A garbage collector uses its own set of threads to reclaim memory. These threads are called GC threads. Sometimes JVM can end up either with too many or too few GC threads. In this post, we will discuss why JVM can end up having too many/too few GC threads, the consequences of it, and potential solutions to address them. How To Find Your Application’s GC Thread Count You can determine your application’s GC thread count by doing a thread dump analysis as outlined below: View more...The Enterprise Guide to Cloud Security Posture ManagementAggregated on: 2024-08-30 17:08:05 Editor's Note: The following is an article written for and published in DZone's 2024 Trend Report, Enterprise Security: Reinforcing Enterprise Application Defense. Many companies wrongly believe that moving to the cloud means their cloud provider is fully responsible for security. However, most known cloud breaches are caused by misconfigurations on the customer's end, not the provider's. Cloud security posture management (CSPM) helps organizations avoid this problem by implementing automated guardrails to manage compliance risks and identify potential misconfigurations that could lead to data breaches. View more...Day in the Life of a Developer With Google's Gemini Code Assist: Part 2Aggregated on: 2024-08-30 16:08:05 In this article, we will continue with the review of the remaining developer lifecycle activities: Deployment and Operate using Gemini Code Assist. We will wind up with approximate productivity improvement estimates for all the lifecycle stages discussed in this article. Please refer to "Day in the Life of a Developer With Google’s Gemini Code Assist: Part 1" for more details on Stages 1-4. 5. Deployment Let's move over to the Deployment Stage and use Gemini Code Assist to select the right GCP service. View more...Enhance Terraform Final Plan Output in GitHub ActionsAggregated on: 2024-08-30 13:23:05 Terraform is an Infrastructure as Code (IaC) tool that allows the DevOps engineer to automate the provision and management of infrastructure resources. It uses configuration files written in HashiCorp Config Language (HCL) to define the desired state of the infrastructure and has various commands to configure and apply the infra resources. GitHub Actions is a continuous integration and delivery platform (CI/CD) that allows developers to automate build, test, and deployment pipelines. During the deployment configuration, we need to define a step: a step is an individual action that GitHub Actions performs. View more...High Fidelity Data: Balancing Privacy and UsageAggregated on: 2024-08-29 22:08:04 The effective de-identification algorithms that balance data usage and privacy are critical. Industries like healthcare, finance, and advertising rely on accurate and secure data analysis. However, existing de-identification methods often compromise either the data usability or privacy protection and limit advanced applications like knowledge engineering and AI modeling. To address these challenges, we introduce High Fidelity (HiFi) data, a novel approach to meet the dual objectives of data usability and privacy protection. High-fidelity data maintains the original data's usability while ensuring compliance with stringent privacy regulations. View more...Achieving DevOps Harmony With Unified Log Monitoring for CI/CDAggregated on: 2024-08-29 20:53:04 In modern software development, DevOps methods have evolved into the pillar of dependable and effective product delivery. Two methods that particularly help automate and simplify the software release process are continuous integration (CI) and continuous deployment (CD). But as software systems get more complicated, so does the necessity for strong log monitoring systems that can unite and streamline log management at several CI/CD phases. This article explores the need for uniting log monitoring in DevOps, the associated difficulties, and approaches for achieving harmony in CI/CD processes. View more...When (Not) to Write an Apache APISIX PluginAggregated on: 2024-08-29 19:08:04 When I introduce Apache APISIX in my talks, I mention the massive number of existing plugins, and that each of them implements a specific feature. One of the key features of Apache APISIX is its flexibility. If a feature is missing, you can create your own plugin in Lua or a language compiled into Wasm, showcasing the platform's adaptability to your specific needs. In this post, I aim to provide practical alternatives to writing a custom plugin, offering solutions you can quickly implement in your projects. Cons of Writing a Plugin Before describing alternatives, let me explain the issues of writing a plugin. View more...Team-as-Code: How to Apply Platform Engineering to DevOps’ Coding StageAggregated on: 2024-08-29 17:53:04 Why Apply a Platform Approach to the Coding Stage? While both parts of the modern software development lifecycle, DevOps and platform engineering target distinct challenges. DevOps focuses on integration and continuous delivery (CI/CD) and teams track metrics such as code deployment frequency, lead time for changes, change failure rate, etc. View more...Utilizing Multiple Vectors and Advanced Search Data Model Design for City DataAggregated on: 2024-08-29 16:08:04 Goal of This Application In this article, we will build an advanced data model and use it for ingestion and various search options. For the notebook portion, we will run a hybrid multi-vector search, re-rank the results, and display the resulting text and images. Ingest data fields, enrich data with lookups, and format: Learn to ingest data including JSON and images, format and transform to optimize hybrid searches. This is done inside the streetcams.py application. Store data into Milvus: Learn to store data in Milvus, an efficient vector database designed for high-speed similarity searches and AI applications. In this step, we are optimizing the data model with scalar and multiple vector fields — one for text and one for the camera image. We do this in the streetcams.py application. Use open source models for data queries in a hybrid multi-modal, multi-vector search: Discover how to use scalars and multiple vectors to query data stored in Milvus and re-rank the final results in this notebook. Display resulting text and images: Build a quick output for validation and checking in this notebook. Simple Retrieval-Augmented Generation (RAG) with LangChain: Build a simple Python RAG application (streetcamrag.py) to use Milvus for asking about the current weather via Ollama. While outputing to the screen we also send the results to Slack formatted as Markdown. Summary By the end of this application, you’ll have a comprehensive understanding of using Milvus, data ingest object semi-structured and unstructured data, and using open source models to build a robust and efficient data retrieval system. For future enhancements, we can use these results to build prompts for LLM, Slack bots, streaming data to Apache Kafka, and as a Street Camera search engine. View more...Go: Unit and Integration TestsAggregated on: 2024-08-29 14:53:04 Unit Tests Unit testing is a fundamental part of software development that ensures individual components of your code work as expected. In Go, unit tests are straightforward to write and execute, making them an essential tool for maintaining code quality. What Is a Unit Test? A unit test is a small, focused test that validates the behavior of a single function or method. The goal is to ensure that the function works correctly in isolation, without depending on external systems like databases, file systems, or network connections. By isolating the function, you can quickly identify and fix bugs within a specific area of your code. View more...The Ultimate Guide To Evaluate RAG System Components: What You Need To KnowAggregated on: 2024-08-29 13:08:04 Retrieval-Augmented Generation (RAG) (opens new window)systems have been designed to improve the response quality of a large language model (LLM). When a user submits a query, the RAG system extracts relevant information from a vector database and passes it to the LLM as context. The LLM then uses this context to generate a response for the user. This process significantly improves the quality of LLM responses with less “hallucination.” (opens new win So, in the workflow above, there are two main components in a RAG system: View more...Java Concurrency: Visibility and SynchronizedAggregated on: 2024-08-28 20:08:04 Previously, we examined the happens before guarantee in Java. This guarantee gives us confidence when we write multithreaded programs with regard to the re-ordering of statements that can happen. In this post, we shall focus on variable visibility between two threads and what happens when we change a variable that is shared. Code Examination Let’s examine the following code snippet: View more...How to Dockerize a React App With Vite: Step-by-Step GuideAggregated on: 2024-08-28 19:08:04 In this article, I’ll show you how to Dockerize a React application built with Vite. We’ll go through: Configuring Vite for Docker Creating the Dockerfile Creating the Docker Compose file Building and running the Docker Container By the end of this article, you’ll have a portable React app ready to deploy in any environment. View more...Advanced Techniques in Automated Threat DetectionAggregated on: 2024-08-28 18:08:04 In the fast-paced and constantly evolving digital landscape of today, bad actors are always looking for newer and better methods to launch their attacks. As cybercriminal tactics evolve, they develop more sophisticated malware, more convincing scams, and attacks that are designed specifically to evade known security measures. With this in mind, it is vital for organizations to invest in more advanced automated tools and solutions to go “from threat identification to eradication and remediation with as few humans in the loop as possible.” Taking advantage of emerging technologies and sophisticated measures can aid organizations in automating these processes to an extent and saving time, labor, and other resources that can run thin when relying solely on humans to handle threats. View more...The Evolution of Conversational AI: Blending Determinism With DynamismAggregated on: 2024-08-28 17:23:04 Conversational AI agents have come a long way from their early days of simple, scripted interactions. With the explosion of large language models (LLMs) like GPT-3, Gemini, and beyond, the landscape of human-computer interaction is undergoing a significant transformation. These AI agents are increasingly expected to mimic human-like interactions, which demands a delicate balance between deterministic (convergent) workflows and dynamic, creative responses (divergent). This dual approach is redefining how these agents function across various domains, including education, customer service, and personal assistance. View more... |
|