Cassandra is a great distributed datastore for high-volume transactional systems, however it is challenging to use it for certain type of queries or data analytics. Adopting Spark alongside Cassandra however results in an extremely powerful data platform. This is an introduction into what these technologies together are capable of. Read more
Get an insight from the minds behind OpenCredo.
Navigate through the thoughts and advice of our experienced consultants that possess rich capabilities across the entire software development spectrum.
This post is part of a series which introduces key concepts in successful test automation. Each post contains sample code using the test-automation-quickstart project, a sample Java test automation framework available from Github. Read more
In this article, I argue that programmable infrastructure is similar to software, and needs testing too. I describe some of the unique challenges the industry faces in adopting infrastructure testing: both cultural and technical. I end by pointing out where we can go from here: we need to talk about it more, identify best practice, and improve our tooling. Read more
Google has recently made its internal Spanner database available to the wider public, as a hosted solution on Google Cloud. This is a distributed relational/transactional database used inside for various Google projects (including F1, the advertising backend), promising high throughput, low latency and 99.999% availability. As such it is an interesting alternative to many open source or other hosted solutions. This blog takes a closer look in to Google Cloud Spanner. Read more
Introducing Type Aliases As Kotlin's 1.1 release draws closer, I've been looking at some of the new language features it supports. Type aliases may seem like a relatively minor feature next Read more
What are Materialized Views? One of the default Cassandra strategies to deal with more sophisticated queries is to create CQL tables that contain the data in a structure that matches the Read more
Introduction: Parallel Stream Processing One of the stated intentions behind the design of Java 8's Streams API was to take better advantage of the multi-core processing power of modern computers. Operations Read more
There's a new Java framework called Reactor Core (https://github.com/reactor/reactor-core), which makes it easier to handle streaming data in a fully asynchronous fashion. This blog post gives some examples to illustrate the problem that Reactor Core solves, shows how Reactor Core can help, and discusses how it works internally. Read more
The Finite State Machine Model One of the simplest and best-understood models of computation is the Finite State Machine (FSM). An FSM has fixed range of states it can be in, Read more
This blog aims to provide an end to end example of how you can automagically request, generate and install a free HTTPS/TLS/SSL certificate from Let’s Encrypt using Terraform. Let’s Encrypt is a free, automated, and open certificate authority (CA) aiming to make it super easy (and free - did I say free!) for people to obtain HTTPS (SSL/TLS) certificates for their websites and infrastructure. Under the hood, Let’s Encrypt implements and leverages an emerging protocol called ACME to make all this magic happen, and it is this ACME protocol that powers the Terraform provider we will be using. For more information on how Let’s Encrypt and the ACME protocol actually work, please see how Let’s Encrypt works. Read more