News Aggregator


Getting Started With Robotic Process Automation

Aggregated on: 2021-10-21 16:40:18

Technologies such as artificial intelligence (AI), machine learning (ML), and natural language processing (NLP) have led the way to software robots that reduce the manual, time-consuming, and repetitive actions performed on digital platforms. The concept of automating tasks on digital platforms is called robotic process automation (RPA). RPA is a software robot that interacts with computer-centric processes and aims to introduce a digital workforce that performs repetitive tasks previously completed by humans. This Refcard introduces RPA technology, how it works, key components, and how to set up your environment.

View more...

All You Need To Know About Exception Handling In Selenium

Aggregated on: 2021-10-21 16:40:18

In the world of technology, exceptions are said to be as old as programming itself. The occurrence of an exception during the execution of code can result in unexpected behavior unless the exception is properly handled in the code. Exceptions are not bad but are a fundamental part of modern programming. Rather than having a fear of exceptions, it is important to know how to tackle which exception at what moment of time. Moving further, we would discuss how to handle exceptions elegantly and use exception handling to write clean code which is more maintainable. What is an Exception? The exception is a programmer’s commonly used term regardless of any specific programming language. ‘Exception’ as the name suggests are the events due to which the program ends abruptly without displaying an expected output.

View more...

Software Development Time Estimation: Best Ways of Calculation

Aggregated on: 2021-10-21 16:40:18

Have you ever been in a conversation where you are discussing a brilliant idea and all the details are clear and there is only a need to create software? You have a business idea that is easy to implement and you have the vendor you are going to outsource your project to. But here is the main question, how long will it take? Can you have it ready for next week? Next month? Year? This question is always a tough one to answer. So, how do you estimate the hours required for a software project in the right way? Estimation is a complex matter and can’t be precisely defined. Usually, there are lots of changeable factors that impact the result. Incorrect estimation leads to lost revenue, enlarged budget, missed business opportunities, and so on.

View more...

7 Top Open-Source Datasets to Train Natural Language Processing (NLP) and Text Models

Aggregated on: 2021-10-21 16:10:18

Using Datasets in Natural Language Processing (NLP) NLP is an exciting domain right now, especially in use-cases like AutoNLP with Hugging Face, but it is painfully difficult to master. The main problem with getting started with NLP is the dearth of proper guidance and the excessive breadth of the domain. It’s easy to get lost in various papers and code trying to take everything in. The thing to realize is that you cannot really learn everything when it comes to NLP as it is a vast field, but you can try to make incremental progress. And as you persevere, you might find that you know more than everyone else in the room. Just like everything else, the main thing here is taking those incremental steps.

View more...

Block and File Storage + Object and Cloud Storage

Aggregated on: 2021-10-21 16:10:18

Since the introduction of object and S3 cloud storage, people have attempted to use Object as File and to scale-out File as Object. Block style workloads on Object as a use case have not been achieved, until now. I had the opportunity to meet with Glen Olsen, Founder of Nexustorage during the 40th IT Press Tour.  Nexfs, the inaugural product from Nexustorage, is an automated data lifecycle solution presented as an intelligent pool of integrated tiers of Block, File, and Object/Cloud storage. There are numerous tradeoffs between Block and File Storage (BFS) and Object and Cloud Storage (OCS):

View more...

Deploy a Java application using Helm, Part 1

Aggregated on: 2021-10-21 15:10:18

To deploy enterprise Java applications with Red Hat JBoss Enterprise Application Platform (EAP) servers to Red Hat OpenShift, developers have usually needed to learn how to use OpenShift templates or Operators to specify Kubernetes and OpenShift resources such as build config, deployment, volume, environment variables, and application image. This article, the first of a two-part series, explains a simpler way to deploy an enterprise Java application to OpenShift using Helm charts, and how to connect the application to a PostgreSQL database. Helm: Simplifying application deployment on Kubernetes Deployment practices are not familiar to application developers because resource definition has traditionally been determined by the IT operations team. When moving rapidly into the DevOps era, developers need to take more responsibility to set appropriate resources in alignment with cloud microservices.

View more...

Scaling Kubernetes Clusters with Armory

Aggregated on: 2021-10-21 15:10:18

Overview Imagine if Amazon were unavailable for just one day each year. At that rate, they would have 99.7% availability, which seems fairly reasonable on the surface. In 2020, however, Amazon's revenue was nearly $400 billion. Living with 99.7% availability instead of 100% would cost Amazon more than $1 billion. Downtime—even just a little—will cost your business. We minimize downtime through redundancy. Building reliable systems out of unreliable components requires having spare components to replace the faulty ones. Still, though, it takes time to replace faulty components.

View more...

Hyperlambda, the fastest programming language in the world

Aggregated on: 2021-10-21 15:10:18

Hyperlambda is probably orders of magnitudes slower than most other programming languages in the world such as C#, Java, PHP, and Python - Still, when you're done with your project, I can pretty much guarantee you that your project will be blistering fast - Probably orders of magnitudes faster than anything you could possibly build in any other programming language - In addition to that it would scale hundreds of times better than a solution created with e.g. C#, Java, PHP, or Python. How on earth is this even possible? Well, let's try to understand it with an analogy originally created for children ... To understand how Hyperlambda can be both the slowest and the fastest programming language in the world, you must realise that it's almost impossible to build a perfect app using "low level" programming languages, such as C# or Java. In addition, some of your favourite C#/Java/PHP/Python/etc "abstractions" are so sub-optimal in low level programming languages, that it's almost impossible to believe in before you've been carefully explained their disadvantages. So let's start with the goto O/RM tool of choice for .Net developers; Entity Framework.

View more...

Unearthing Observability with New Relic

Aggregated on: 2021-10-21 01:25:18

Is observability mission critical at this point? The folks at New Relic think so. And they’re not alone, according to their recent whitepaper on observability 90% of respondents believe observability is strategically important to their business. It’s becoming increasingly difficult to understand what’s going on within software development organizations. New Relic’s GVP & GM Buddy Brewer and SVP Greg Perotto join the podcast to discuss observability best practices, how to avoid data silos, the value of telemetry across the entire software life cycle and the five key insights of New Relic’s observability report.

View more...

Use Socket.IO With Nuxt.js/Vue.js

Aggregated on: 2021-10-20 23:55:18

For one of my recent Nuxt.js projects, I had to use Socket.IO to send the data from the server to the users in real-time without reloading the whole page. Initially, I was using Vue.js, but then the client insisted on implementing Nuxt.js for the server-side rendering purpose. First, I used Axios as a middleware to send and receive HTTP requests. Axios is a great library to send and receive data without loading the whole page. It works great with Vue.js and Node.js. But the problem with Axios is that it only sends the response once with res.send or res.end method. If you try to send two or more times with these methods, then the app crashes.

View more...

A Java MicroProfile Application for Content Negotiation

Aggregated on: 2021-10-20 22:55:18

An HTTP server can use content negotiation to respond to different clients. Modern clients typically expect a JSON response. At times, a different format is required, such as XML for older clients or binary for newer ones. The process used to manage that challenge, as well as others like coping with numerous languages and even compressing HTTP requests, is known as content negotiation. In this article, we'll walk through the process of creating a small Java MicroProfile application as we explain how content negotiation works.

View more...

A Java MicroProfile Application for Content Negotiation

Aggregated on: 2021-10-20 22:25:18

An HTTP server can use content negotiation to respond to different clients. Modern clients typically expect a JSON response. At times, a different format is required, such as XML for older clients or binary for newer ones. The process used to manage that challenge, as well as others like coping with numerous languages and even compressing HTTP requests, is known as content negotiation. In this article, we'll walk through the process of creating a small Java MicroProfile application as we explain how content negotiation works.

View more...

Spring Boot File Upload Example With MultipartFile | Spring Boot Tutorial

Aggregated on: 2021-10-20 22:25:18

In the video below, we take a closer look at the Spring Boot file upload example with MultipartFile | Spring Boot Tutorial. Let's get started!

View more...

CI/CD With Azure DevOps

Aggregated on: 2021-10-20 22:25:18

Continuous integration and continuous deployment are an important part of modern software development practices and DevOps. It brings to software development teams a focus on fulfilling business requirements, code quality, and security as deployment steps are automated. Continuous integration (CI) represents a set of practices that drive development teams to implement small changes and check-in code to the version control repository frequently. The developer’s changes are validated by creating a build and running automated tests against the build. It put emphasis on test automation to check that the application is not broken whenever new commits are integrated into the main branch.

View more...

Spring Boot: @ConfigurationProperties, Property Validation Example

Aggregated on: 2021-10-20 21:55:18

In the video below, we take a closer look at Spring Boot @ConfigurationProperties, Property validation example. Let's get started!

View more...

How To Get Closer to Consistency in Microservice Architecture

Aggregated on: 2021-10-20 21:55:18

When it comes to transactions, the first thing that comes to mind is ACID. Actually ACID is an important 4-point concept: Atomicity:  Each statement in a transaction (to read, write, update or delete data) is treated as a single unit. Either the entire statement is executed, or none of it is executed. This property prevents data loss and corruption from occurring if, for example, if your streaming data source fails mid-stream. Consistency: Ensures that transactions only make changes to tables in predefined, predictable ways. Transactional consistency ensures that corruption or errors in your data do not create unintended consequences for the integrity of your table. Isolation: When multiple users are reading and writing from the same table all at once, isolation of their transactions ensures that the concurrent transactions don’t interfere with or affect one another. Each request can occur as though they were occurring one by one, even though they're actually occurring simultaneously. Durability: Ensures that changes to your data made by successfully executed transactions will be saved, even in the event of system failure. ACID makes sense in that every system has its own database and everything is in one module of codes.  However, in the microservice-based architectures, we have multiple loosely coupled modules where each one has its own database, transaction, and of course, ACID, but they are connected. There are still scenarios that involve multiple microservices, and the completion of the scenario depends on the completion of the tasks of each of these microservices. Ideally, all microservices perform their tasks correctly; but if one microservice fails, the whole scenario must be failed. Conceptually we need to have a general transaction between multiple independent microservices. 

View more...

My Top Ten Worst Scrum Anti-Patterns

Aggregated on: 2021-10-20 19:40:18

I recently was invited to a Scrum.org Webinar, and I picked a topic close to my heart: the worst Scrum anti-patterns. So, without further delay, here is my personal list of the meanest, baddest Scrum anti-patterns that will guarantee that your Scrum team will be kept shackles and perform well below its potential. #10: The Oversized Product Backlog The Product Backlog of your Scrum team comprises hundreds of entries, from user stories to ideas to hypotheses and experiments to documentation fragments; you name it. Dumping everything into the Product Backlog—probably in the name of transparency—poses a massive challenge for various reasons:

View more...

Adobe Document Services: Unpacking the October 2021 Release

Aggregated on: 2021-10-20 19:10:18

Earlier this month, the Adobe Document Services team released an update to our PDF Services API that specifically focuses on our Document Generation API. In this post, we’ll quickly go over these new features and how they can improve document generation workflows. We’ll also dive deeper into these new features and discuss them in future live streams as well. Release Notes Before we dive in, the latest release notes cover both migration steps (when required, today’s release does not), links to historical versions of the docs, as well as detailed change history. While we’re not talking about PDF Embed API today, that service has its own release notes page as well.

View more...

Data Versioning 101

Aggregated on: 2021-10-20 18:40:18

Data versioning is storing data as new copies after making changes to them so that it is possible to have different versions of such data and retrieve specific versions later. Each version of the data represents a change in the structure, contents, or condition of the data. A new version of a dataset may be created when an existing dataset has been reprocessed, corrected, or updated with more data.  In short, data versioning is a means to track changes associated with data. For example, let’s say a dataset that contained a list of all the countries of the world was stored in a database up to 1990. Starting from the collapse of the Soviet Union in 1991, it might be necessary to update or reprocess the dataset and any conclusions that resulted from it. After all, several countries have been created since 1990. 

View more...

Building a Real-Time Data Warehouse With TiDB and Pravega

Aggregated on: 2021-10-20 18:40:18

Companies with a lot of data rely on data warehouses for data processing and analytics. To achieve business agility, offline data warehouses are no longer sufficient, and real-time data warehouses are gradually taking over. Currently, real-time data warehouses often use Apache Flink to consume data from Apache Kafka and stream data into a database. However, because Kafka doesn't persist data in disks, in extreme cases, data is lost. After researching the databases and storage systems on the market, we found a more efficient and accurate real-time data warehouse solution: Pravega + TiDB.

View more...

Ensure Quality Code Without Sacrificing Development Speed

Aggregated on: 2021-10-20 18:10:18

The Outdated Iron Triangle When it comes to software development, what is quality? Is it the elegance of the code? Is it how well the software performs once deployed and operating at scale? Quality is all of that and more. Ultimately, quality software is defined by three simple measures. First, it works as planned. Second, it performs well within the scope of identified use cases. And third, it has a low rate of defects which means that the software produces very few, or no, errors when a user executes one of the application’s use cases. Many development organizations utilize a classic approach, such as the Iron Triangle, to influence quality. They either reduce scope, extend the delivery schedule, or throw more engineering resources at development. But none of those ultimately guarantees quality. Even if you limit the scope to a single function or use case, take an extra year to improve the efficiency of the code, and hire a hundred more developers, the quality of the finished application can still be poor. 

View more...

How To Secure MySQL 8 With SSL/TLS on Ubuntu 20.04

Aggregated on: 2021-10-20 17:40:18

This tutorial will show you how to secure MySQL connections with SSL/TLS on Ubuntu 20.04. Prerequisites A server running Ubuntu 20.04. A root password is set up on your server. Install MySQL 8 Server By default, MySQL server version 8 is included in the Ubuntu 20.04 default repository. Run the following command to install it.

View more...

What’s New in NodeJS v16?

Aggregated on: 2021-10-20 17:10:18

A week ago, the Node js latest version 16 had been rolled out, and it’s already making some vast headlines about it in our NodeJS developer community. Many new features have been introduced; however, mainly if you are a user of NodeJS 15, the new features are more like an upgrade to the last version and moving in the direction of the LTS branch. In other words, it can imply that it has become the bridge between Node 15 and the future version of NodeJS, Long term support Release.

View more...

Extending the Salesforce CLI with a Custom Plugin

Aggregated on: 2021-10-20 17:10:18

As more services move to the cloud and DevOps methodologies continue to evolve, more and more developers are getting comfortable with working in the terminal. Whereas traditional CLI commands like grep and cat are well-known tools for achieving small goals, more complicated tasks require more robust tooling. Nowadays, CLI programs come with richer interactive experiences. One such program is the Salesforce CLI, the command-line interface for Salesforce DX. It’s a CLI that helps simplify common operations when building an application for Salesforce developers. The Salesforce CLI itself is built on top of oclif—also from Salesforce—which is an open-source framework for building command-line interfaces. Oclif is written in TypeScript, and it has a very robust community supporting it. Best of all, it has an architecture that prioritizes plugin support, which enables users to extend the CLI for their own needs.

View more...

Cloud-Native 5G, MEC and OSS/BSS/OTT Telco with Apache Kafka and Kubernetes

Aggregated on: 2021-10-20 16:25:18

This post shares a slide deck and video recording for architectures and use-cases for event streaming with the open-source frameworks Kubernetes and Apache Kafka in the Telco sector. Telecom enterprises modernize their edge and hybrid cloud infrastructure with Kafka and Kubernetes to provide an elastic, scalable real-time infrastructure for high volumes of data. Demonstrated use cases include building 5G networks, NFV management and orchestration, proactive OSS network monitoring, integration with hybrid and multi-cloud BSS and OTT services.

View more...

Understanding Ransomware and How To Protect Against It?

Aggregated on: 2021-10-20 15:55:18

Ransomware has increasingly become a constant threat to all organizations. As we work on ramping up our defenses and building a strategic plan to counter cyberattacks, malicious actors launch even more sophisticated attacks, increasing the difficulty to defend. Ransomware is often designed to paralyze an organization, by expanding throughout the network. This threat costs organizations millions of dollars. In this blog, we are going to learn about a ransomware attack at length - how it works, how it’s launched, how to respond to it, and how to mitigate risk.

View more...

Using Binding Patterns in Ballerina

Aggregated on: 2021-10-20 15:55:18

In the previous article, we discussed the what and how of binding patterns in Ballerina. In this article, we will look into how binding patterns are employed in other language concepts in Ballerina.  The two main Ballerina language concepts that employ binding patterns can be identified as:

View more...

4 Benefits of Continuous Deployment

Aggregated on: 2021-10-20 15:25:18

Joel Test: 12 Steps to Better Code Can You Make a Build in One Step?

View more...

AWS Communism: Part 1 (How We Cut Our Load Balancing Cost by More Than 96%)

Aggregated on: 2021-10-20 15:25:18

Recently, Cloudflare announced their object storage service Cloudflare R2 and got much buzz from the community. Essentially, they solve a huge pain point by removing egress traffic cost from the content hosting equation. However, there are use cases where it's not as easy to remove AWS' exact-but-not-cheap pricing from the game. In our series "AWS Communism", we want to show yet another technique for cutting your AWS bill – resource sharing.

View more...

Learn multithreading and async in 1 minute with Hyperlambda

Aggregated on: 2021-10-20 12:55:18

For everyone having done multithreading and async programming, it's fairly obvious that the amount of complexity required to (correctly) implement threading and async increases the cognitive requirements to understand the codebase to sometimes unfathomable amounts. Typically, this results in difficult to track down bugs, and over time what we often refer to as "spaghetti code" or "the big ball of mud". To put this into context, I'd like to put forth a statement in regards to this. Everyone who (falsely) believes they understand threading and async, don't understand threading and async!

View more...

Database Testing Made Simple, Efficient and Fast.

Aggregated on: 2021-10-20 07:00:35

In two previous articles (here and here) I argued for writing unit tests that target the database. I made the case that tests which run a single SQL statement from a Java backend should be considered unit tests. After all, they target an isolated unit of behavior and validate often complex logic in a different language (SQL). The Java code invoked by such a test merely acts as a transport layer. You need a running database to properly test such code. Mocking won’t do and neither should you relegate the queries to a few global scenarios in the top of the pyramid. They belong in the bottom of the pyramid and should be numerous, small and fast. Speed is a bottleneck if you reach for decent coverage of database code. It’s expensive to set up, run and maintain. All test code carries a maintenance liability. It loses its usefulness when the ecosystem around it changes, which is the second after its release. Database tests carry the extra burden of provisioning up-to-date schemas and test data. To ease the overall burden, always look to the following three: simplicity, efficiency, and speed.

View more...

5 JetBrains Plugins to Upgrade Your Built-In Git Support

Aggregated on: 2021-10-19 23:41:55

The Git plugin that comes bundled with all JetBrains IDEs is actually quite impressive, it's a full-blown Git client in its own right with almost all the features of a standalone client such as SourceTree, Tower, or GitKraken but built into the IDE. But there are even more features you can enhance your IDE’s Git support with - allow me to present to you 5 plugins that build on top of Git and supercharge it with cool new superpowers!

View more...

SOAP-Apache CXF Integration With Camunda Application

Aggregated on: 2021-10-19 23:41:55

The integration is done using Apache-CXF libraries with Camunda Spring boot as a dependency cxf-spring-boot-starter-jaxwsin the POM.xml file. The message being delivered to Camunda is modeled as XML- SOAP format and posted through SOAP-UI to Camunda. The Camunda application will receive POJO classes as a request. Prerequisites Eclipse (any version) with Maven capabilities Java 8+ SOAP-UI Camunda Installing Eclipse-IDE on Windows Visit the Eclipse Foundation website. Download the eclipse-inst-jre-win64.exe file and run the eclipse installer. Select Eclipse IDE for Eclipse committers and install. Creating a Maven Project in Eclipse IDE 1. Open the Eclipse IDE.

View more...

Binding Patterns in Ballerina

Aggregated on: 2021-10-19 23:41:55

The term "binding pattern" in Ballerina denotes a way of allowing different parts of a single structured value to have each of its parts assigned to separate variables at the same time given that all variables in the binding pattern are distinct. The concept of binding patterns makes it easier to extract information, especially from structured values in a much cleaner way.  Shown below is a typical example of a binding pattern where fields name and age of the Person type record named tom are being matched and assigned to variables named firstName and personAge.

View more...

Data Center Failures and CRDB Replication

Aggregated on: 2021-10-19 23:41:55

Executive Summary The purpose of this document is to explain how replication of data within CockroachDB can be used to tolerate various failure scenarios and the impacts to query execution times. This simulation will explore the effect of different replication factors on a database cluster that spans multiple Availability Zones in multiple Regions. Overall, more replicas allows for more nodes to be down at the same time, while both R=5 and R=7 allow for the loss of an entire region. But, counterintuitively, R=7 only allows for a single Availability Zone to be lost, while R=5 allows for two.

View more...

7 Tips for Creating Easy-to-Validate PDF Signatures

Aggregated on: 2021-10-19 23:41:55

Validating digital signatures in PDF documents is a tricky business, and contrary to popular belief, there’s no one true validation algorithm. I’m not going to try to tell you how to validate PDF signatures—that’d be hard to do in a blog post anyhow. Instead, I’ll turn things around, and try to give you some advice on how to produce PDF signatures that are easy to digest (pun intended) for validators. Most of the content of this post is geared towards producing signatures for public workflows, i.e., cases where you don’t know who is going to need to validate your signature, so aiming for maximal interoperability is important. Most of the advice is still relevant for other, closed workflows as well, but it depends on the circumstances.

View more...

Watching the Requests Go By: Reconstructing an API Spec with APIClarity

Aggregated on: 2021-10-19 22:41:54

Reconstructing an OpenAPI Specification through Observation APIs are ubiquitous in modern microservice architectures. They make it easy to consume data from external apps and reduce the amount of code developers need to write. The general result is easier delivery of useful software products. However, the prevalence of APIs means they represent a large attack surface. In fact, Gartner predicts that by 2022, API attacks will be the most common attack vector for enterprise web applications. Similarly, an IBM report found that two-thirds of data breaches could be traced to misconfigured APIs. Clearly, enterprises need to take a proactive approach to ensure their use of APIs is secure. Unfortunately, with the complexity of modern apps, third-party code dependencies, and a lack of documentation, API observability is a huge challenge. Often, enterprises simply don’t have any API specifications for their production apps. As a result, security-related misconfigurations go undetected, and apps use a variety of deprecated “zombie APIs” and undocumented “shadow APIs” in production.

View more...

Why Cloud-Native Apps Need Cloud-Native Ransomware Protection

Aggregated on: 2021-10-19 22:41:54

The statistics are chilling. Last year, there were nearly 300 million ransomware attacks. That’s a 72% increase during the pandemic. And each successful attack nets an average ransom of $300,000. That number represents a 171% increase during the same period. And the threat is escalating as attackers become more organized, more capable, and exploit new entry points, like mobile and edge devices. There are no guarantees in defending an enterprise cloud environment from ransomware. And if your applications are cloud-native, you have an elevated set of worries owing to the particular challenges of securing reliable point-in-time backups or check points that include data volumes as well as application configuration information (metadata). If you consider that emerging ransomware threats target the backups themselves — via the operator console or the physical devices — enterprises have some important choices to make about how they are going to reliably secure their data (and their users’ data) for business continuity and regulatory compliance.

View more...

Full-Stack Observability Essentials

Aggregated on: 2021-10-19 22:11:54

Observability and telemetry work together to correlate the health of individual systems with the overall health of the business, highlighting what’s going on within the complex systems, processes, and microservices of an entire tech stack and/or application, purely from the existing data streams collected. In this Refcard, explore full-stack observability essentials and how to adopt OpenTelemetry for increased flexibility.

View more...

Introduction to Helm Charts

Aggregated on: 2021-10-19 21:11:54

A package manager for Kubernetes can take care of the application packaging that is required for deployment on Kubernetes. It is an easy application installation and deployment on Kubernetes. Below are the resources you will need: Installing Helm Artifact Hub — Helm central point for package lookup Let's say we want to run MySQL on Kubernetes. First, search for MySQL on Artifact Hub, add its rep, and install:

View more...

How to Deploy a Spring Boot App on AWS Fargate

Aggregated on: 2021-10-19 21:11:54

In this blog, you will learn how to deploy a basic Dockerized Spring Boot application to AWS Fargate. AWS Fargate is a serverless AWS environment. Enjoy! 1. Introduction In a previous post, you learned how to deploy a basic Dockerized Spring Boot application on an AWS ECS Cluster. You learned about the different components like the ECR Docker repository, Task Definitions, the ECS Cluster itself and Services. It is advised to read that post first when these components are new to you. In this post, you will create and deploy the same Dockerized Spring Boot application. This time you deploy it to AWS Fargate. AWS Fargate is identical to AWS ECS Cluster, but this time you will not need to manage the EC2 instances yourself which is a great advantage! It is completely serverless.

View more...

Microsoft Cloud for Financial Services — Architect Perspective

Aggregated on: 2021-10-19 18:26:54

Financial institutions have embraced digital innovation at a recorded pace to adopt new ways of working, serving the financial needs of customers, and keeping the markets performing. Moreover, they have done so while still operating within their control frameworks and regulatory requirements needed to serve in all parts of the world. According to the 2020 Frost and Sullivan Global Cloud User Survey, “multi-cloud adoption has skyrocketed among financial firms in the past year, up nearly 70%. In addition, hybrid cloud adoption — already higher among financial firms than other industries — is up 8%. In response to the pandemic, financial firms are accelerating their cloud journeys, knitting together disparate IT environments (on‑premises, edge, and multiple clouds) as a foundation for digitalization.”

View more...

Here’s How You Can Purge Big Data From Unstructured Data Lakes

Aggregated on: 2021-10-19 17:56:54

Without a doubt, big data is becoming the biggest data with the passage of time. It’s going above and beyond. Here are some pieces of evidence as to why I said it.  According to the big data and business analytics report from Statista,  the global cloud data IP traffic will reach approximately 19.5 zettabytes in 2021. Moreover, the big data market will strike a figure of 274.3 billion US dollars with a five-year compound annual growth rate (CAGR) of 13.2% by 2022.  Plus, Forbes predicted that over 150 trillion gigabytes or 150 zettabytes of real-time data will be required by the year 2025. Also, Forbes found that more than 95% of the companies need some assistance for the management of unstructured data, while 40% of the organizations affirmed that they need to deal with big data more habitually. 

View more...

The Reports of Perl’s Death Have Been Greatly Exaggerated

Aggregated on: 2021-10-19 17:26:54

Look, I get it. You don't like the Perl programming language or have otherwise disregarded it as "dead." (Or perhaps you haven't, in which case please check out my other blog posts!) It has weird noisy syntax, mixing regular expressions, sigils on variable names, various braces and brackets for data structures, and a menagerie of cryptic special variables. It's old: 34 years in December, with a history of (sometimes amateur) developers that have used and abused that syntax to ship code of questionable quality. Maybe you grudgingly accept its utility but think it should die gracefully, maintained only to run legacy applications. But you know what? Perl's still going. It's had a steady cadence of yearly releases for the past decade, introducing new features and fencing in bad behavior while maintaining an admirable level of backward compatibility. Yes, there was a too-long adventure developing what started as Perl 6, but that language now has its own identity as Raku and even has facilities for mixing Perl with its native code or vice versa.

View more...

After the Lift and Shift: 10 Steps to Optimize Your Cloud Efficiency

Aggregated on: 2021-10-19 17:26:54

The majority of enterprises and companies move into the cloud to leverage performance optimization and efficiently handle their workloads. Although cloud infrastructure proves to be efficient for most companies, there is always some room to further optimize your cloud efficiency by making minor improvement changes to your infrastructure. If you have just migrated your applications and workload into the cloud, then it’s time to optimize your cloud infrastructure by using our ten most performance-oriented steps below:

View more...

Free Resources To Become SRE/DevOps Engineer

Aggregated on: 2021-10-19 17:26:54

The purpose of this post is to centralize a set of free resources in order to present a way to understand and develop Site Reliability Engineering (SRE) and DevOps skills. The content of this post is based on a return of several years of experience in the industry and a willingness to share content that may still be unknown to some people who would like to evolve in their career or open themselves to new opportunities. The purpose is not to explain what an SRE is or what the DevOps methodology is, but to describe probably the major aspect of these roles: Continuous Learning.

View more...

A Haunted House of NoSQL Horrors

Aggregated on: 2021-10-19 16:56:54

Halloween is that frightening time of the year when the veil between the well-ordered world of DevOps and the dark chthonic void of dev/null is thinnest. It's when chaos monkeys reign supreme and Site Reliability Engineers lock the doors and bolt the shutters. Today we will share with you true life NoSQL horror stories that ScyllaDB's engineers have seen and witnessed in the world of distributed systems. But be forewarned! What you are about to read may just make you shudder deep down to your very hyperthreaded cores.

View more...

Dive Deep Into TiKV Transactions: The Life Story of a TiKV Prewrite Request

Aggregated on: 2021-10-19 16:56:54

TiKV is a distributed key-value storage engine, which is based on the designs of Google Spanner, F1, and HBase. However, TiKV is much simpler to manage because it does not depend on a distributed file system. As introduced in A Deep Dive into TiKV and How TiKV Reads and Writes, TiKV applies a 2-phase commit (2PC) algorithm inspired by Google Percolator to support distributed transactions. These two phases are Prewrite and Commit.

View more...

Code Quality Software That Makes A Difference

Aggregated on: 2021-10-19 16:26:54

"There is no single question to what does the best quality mean? However, one proven approach is comparing how well a given code interacts with its neighbors in the same technical domain." In the world of software development, code quality often comes to mean a certain level of complexity in a code. The code that is too complex for users or developers to understand or use easily is considered low in quality. Sometimes this means that the code is too complex for even the programmers to understand.

View more...

How to Export All Modules to All Modules at Runtime in Java

Aggregated on: 2021-10-19 15:56:54

Due to the new module system, Java 9 does not allow an application by default to see all classes from the JDK, unlike all previous versions of Java. If we try to access some reserved module, we obtain an error like this:module <module-name> does not "opens <package-name>" to unnamed module. Everyone knows that we can solve this exception by using the JVM parameters --add-exports or add-opens, but what if we have more environments, and we don't want to have to change JVM arguments across these environments?

View more...