Open Credo

359 items found: Search results for "opencredo" in all categories x

OpenCredo awarded Britain’s Healthiest Workplace for SMEs

September 8, 2023 | Blog

OpenCredo awarded Britain’s Healthiest Workplace for SMEs

We were recently awarded ‘Britain’s Healthiest Workplace for SMEs’ by Vitality. Read on to learn more about our journey to achieving this award and what we are doing to improve our workplace culture.

Read More Read More

HackCredo – An Internal OpenCredo Hackathon

July 5, 2022 | Blog, Culture

HackCredo – An Internal OpenCredo Hackathon

As we are passionate about using technology to solve problems, we are thrilled to share with you our internal competition, “HackCredo.” Read on to learn more about the competition, the groups, and the winners.

Read More Read More

OpenCredo Cloud Report: July 2017

July 11, 2017 | Cloud, Cloud Native

OpenCredo Cloud Report: July 2017

Over the years, OpenCredo’s projects have become increasingly tied to the public cloud. Our skills in delivering cloud infrastructure and cloud native applications have deepened and the range of cloud projects we are able to take on has grown. From enterprise cloud brokers to cloud platform migration in restricted compliance environments, our ability to deliver on the cloud is now a core component of our value proposition.

Read More Read More

OpenCredo, goes Back to The Trenches for Regenerate!
OpenCredo joins the HashiCorp Channel Partner program
OpenCredo is Heading North; New Office Opening in Manchester!
Join the OpenCredo Team at the OOP Conference in Germany

January 30, 2016 | Microservices

Join the OpenCredo Team at the OOP Conference in Germany

The OpenCredo team will be presenting two sessions on our recent learnings with implementing microservices at the OOP Conference, which will be running from the 1st – 5th February. We will also be running a booth, and so if you are interested in learning more about our recent projects, are keen to see if we can help you with your latest technical or organisational challenges, or want to join our team, then stop by and say hello!

Read More Read More

[Past event] Discover Google Cloud With OpenCredo

Want to know why OpenCredo partnered Google Cloud? Join in on the Discover Google Cloud with OpenCredo Conference and here from both OpenCredo’s Principal Consultant and Googles Head of UK&I at Google Cloud.

View All Past Events Read More

CloudCredo, OpenCredo Confusion and What’s Next for OpenCredo

December 22, 2015 | Software Consultancy

CloudCredo, OpenCredo Confusion and What’s Next for OpenCredo

We announced yesterday that CloudCredo has been acquired by Pivotal.  In the longer term this will probably solve one of my challenges that is the need to constantly explain the difference between OpenCredo and CloudCredo, since CloudCredo will eventually be absorbed into Pivotal. Yesterday’s announcement has created significant interest, and so I thought I would try to clear things up with a quick post.

Read More Read More

OpenCredo is now an Amazon Web Services APN Consulting Partner
Join OpenCredo at JavaOne in San Francisco

October 18, 2015 | DevOps, Microservices

Join OpenCredo at JavaOne in San Francisco

Microservices, Debugging Containers and Software Development Methodologies

Once again I’m privileged to be speaking at the premier Java conference, JavaOne in San Francisco. This year I will be presenting (at least) three conferences sessions: “Building a Microservice Ecosystem”, “Debugging Java Apps in Containers” and “Thinking, Fast and Slow, with Software Development”. I say ‘at least’ three talks as I usually get press-ganged volunteered into helping out at other talks and BoF sessions, but this is simply a sign of the great community spirit and a large group of friends involved with this conference!

Read More Read More

OpenCredo joins the HashiCorp Channel Partner program
OpenShift Commons adds cloud to the OpenCredo offering
OpenCredo’s Agile Transformation

August 11, 2015 | DevOps

OpenCredo’s Agile Transformation

For years, OpenCredo has been working with organisations to help them introduce new technologies, and more effective development practices, to their IT teams. This has met with a great deal of success, and we have worked with a variety of companies of various sizes. During these projects, we have consistently noticed that the changes we make reach beyond IT in their impact and effects.

Read More Read More

OpenCredo: A trusted Typesafe partner
Embracing Disruptive Innovation: OpenCredo Partners with Google

August 5, 2015 | Cloud, GCP, Kubernetes

Embracing Disruptive Innovation: OpenCredo Partners with Google

Why OpenCredo partnered with Google

Recently OpenCredo chose to partner with Google in order to share knowledge and resources around the Google Cloud Platform offerings. Our clients come in many shapes and sizes, but typically all of them realise three disruptive truths of the modern IT industry: the (economic) value of cloud; the competitive advantage of continuous delivery; and the potential of hypothesis and data-driven product development to increase innovation (as popularised by the Lean Startup / Lean Enterprise motto of ‘build, measure, learn’).

Read More Read More

OpenCredo: First DataStax Partner in the UK to achieve Cassandra Certification
OpenCredo joins the Google Cloud Platform Partner Program
OpenCredo and Container Solutions Partner to Deliver Emerging Technologies
OpenCredo is pleased to announce the publication of Neo4J In Action
Trifork Acquires Significant Stake in OpenCredo
OpenCredo at Data Science London Meetup
OpenCredo at the Neo4j meet up. Graph Café London
OpenCredo consultants Nicki Watt and Tareq Abedrabbo speak at Graph Connect London
OpenCredo partners with Datastax
Trifork & Erlang take a stake in OpenCredo
Excerpt from OpenCredo-authored book Neo4J in action
Chris Hedley of OpenCredo talk on extending Cloud Foundry available
OpenCredo welcomes our new Digital Architecture Director, Pete Sheffield.
OpenCredo expands into new London HQ
Senior promotions within OpenCredo Executive
OpenCredo Partners with 10Gen to provide MongoDB consultancy
OpenCredo brings the Spring User Group to QCon London

News | January 8, 2012

OpenCredo @ QCon London 2012

Read More Read More

OpenCredo Becomes a Preferred Professional Services Partner for Neo Technology
Aleksa Vukotic of OpenCredo to talk on Neo4J and Spring at Neo4J user group
Aleksa Vukotic of OpenCredo to talk at upcoming NOSQL Exchange
Jussi of OpenCredo Creates a Neo4J Amazon Machine Image
OpenCredo is Host for QCon London’s “Enterprise Agile Transformation” Track
OpenCredo Partners with EsperTech to Offer Solutions for High Performance, Event-Driven Systems
Platform Engineering Day Europe 2024 – Maturing Your Platform Engineering Initiative (Recording)

March 28, 2024 | Blog, Platform Engineering

Platform Engineering Day Europe 2024 – Maturing Your Platform Engineering Initiative (Recording)

Watch the recording of our CEO/CTO, Nicki Watt from the KubeCon + CloudNativeCon 2024 on her talk “To K8S and Beyond – Maturing Your Platform Engineering Initiative.”

Read More Read More

GOTO Copenhagen 2023 – The 12 Factor App For Data (Recording)

March 14, 2024 | Blog, Data Engineering, Platform Engineering

GOTO Copenhagen 2023 – The 12 Factor App For Data (Recording)

Watch the recording of our Technical Delivery Director, James Bowkett from the GOTO Copenhagen 2023 conference for his talk ‘The 12 Factor App For Data’

Read More Read More

The 2023 Mayor’s Business Climate Challenge (BCC) – Final Part

March 5, 2024 | Blog, Culture, News

The 2023 Mayor’s Business Climate Challenge (BCC) – Final Part

Learn more about our efforts and our progress towards becoming an environmentally friendly company for the Mayor’s Business Climate Challenge (BCC) in 2023 in this final update.

Read More Read More

Use Case: A Kafka Backup Solution

February 22, 2024 | Blog, Kafka

Use Case: A Kafka Backup Solution

Check out Peter Vegh’s latest blog where he explores a bespoke Kafka backup framework, discussing the approach, architecture and design process to implement and deliver the solution.

Read More Read More

The Importance of Chunking in RAG

February 6, 2024 | AWS, Blog, OPA

The Importance of Chunking in RAG

Check out the latest blog by our Consultant, Tristan Hosken, as he explores Retrieval Augmented Generation (RAG). Tristan provides insights into advantages and disadvantages of RAG through hands-on experiments with AWS’s Bedrock and Azure’s OpenAI service.

Read More Read More

GOTO Amsterdam 2023 – Why is it so Hard to Create a Great Platform-as-a-product? (Recording)

February 1, 2024 | Blog, Platform Engineering

GOTO Amsterdam 2023 – Why is it so Hard to Create a Great Platform-as-a-product? (Recording)

Watch the recording of our CEO/CTO, Nicki Watt from the GOTO Amsterdam Conference 2023 on her talk “Why is it so Hard to Create a Great Platform-as-a-product?”

Read More Read More

Let’s Flink on EKS: Data Lake Primer

November 22, 2023 | Blog, Data Analysis

Let’s Flink on EKS: Data Lake Primer

Check out the latest blog by Our Senior Consultant Howard Hill where he offers an engineer’s guide to streamlining real-time data using an open-model infrastructure.

 

Read More Read More

How to use LLMs to Generate Coherent Long-Form Content using Hierarchical Expansion

October 30, 2023 | Blog

How to use LLMs to Generate Coherent Long-Form Content using Hierarchical Expansion

As impressive as they are, Large Language Models (LLMs) face difficulties when creating long-form content, primarily due to token limitations and inconsistencies in the output over time.

Together with Livy.ai, we developed a “Hierarchical Expansion” method to address these challenges and better the quality, flow, and structure of the content produced. Read further to learn more!

Read More Read More

Event Driven Load Testing

October 12, 2023 | Blog, Platform Engineering

Event Driven Load Testing

Check out our latest blog “Event Driven Load Testing” which explores how, through some smart automation techniques, testing strategies can be adapted to support scale-up organisations where there are potentially many disparate teams needing to work together.

Read More Read More

The Why’s, What’s and How’s of Kubernetes Operators

September 27, 2023 | Blog, Kubernetes

The Why’s, What’s and How’s of Kubernetes Operators

Learn to create your first Kubernetes operator by checking out our Senior Consultant Michal Tusnio’s latest blog, “Kubernetes Operators – Whys, Hows and Whats” where he takes you on a journey from zero to operator.

Read More Read More

Yow! London – Searching for Research Fraud in OpenAlex with Graph Data Science (Recording)

September 19, 2023 | Blog, Data Analysis

Yow! London – Searching for Research Fraud in OpenAlex with Graph Data Science (Recording)

Check out our Lead Consultant Ebru Cucen and Sage Publishing Data Scientist Adam Day co-present on “Research Fraud Detection in OpenAlex with Graph Data Science” at YOW! London 2022.

Read More Read More

The 2023 Mayor’s Business Climate Challenge (BCC) – Part 2

September 19, 2023 | Blog, Culture, News

The 2023 Mayor’s Business Climate Challenge (BCC) – Part 2

In this blog we share the latest developments in our efforts to create a more sustainable business as part of The 2023 Mayor’s Business Climate Challenge.

Read More Read More

Why should you upgrade your Terraform provider to the latest version of the API

August 17, 2023 | Blog, Terraform Provider

Why should you upgrade your Terraform provider to the latest version of the API

Check out John Sharpe and Will May’s latest blog where they give suggestions for Terraform Provider authors who are thinking about upgrading from SDKv2 to Framework

Read More Read More

PlatformCon: Tops and flops (Recording)

July 20, 2023 | Blog, Platform Engineering

PlatformCon: Tops and flops (Recording)

Watch the recording of our CEO/CTO Nicki Watt and other PlatformCon Conference speakers discussing the highlights and lowlights of the talks and the Platform Engineering community, as well as lessons learned and trends spotted.

Read More Read More

PlatformCon 2023 – Why is it so hard to create a great Platform-as-a-Product? (Recording)

July 11, 2023 | Blog, Platform Engineering

PlatformCon 2023 – Why is it so hard to create a great Platform-as-a-Product? (Recording)

Check out our CEO/CTO, Nicki Watt’s, talk “Why is it so hard to create a great Platform-as-a-Product?” from the PlatformCon Conference 2022.

Read More Read More

PlatformCon 2023 – The Golden Age of the Platform (Recording)

July 5, 2023 | Blog, Platform Engineering

PlatformCon 2023 – The Golden Age of the Platform (Recording)

Watch the recording of our Technical Delivery Director, James Bowkett from the PlatformCon Conference 2023 in his talk The Golden Age of the Platform.”

Read More Read More

Cloud for Business in 2023: Raconteur and techUK webinar (Recording)

June 13, 2023 | Blog, Cloud

Cloud for Business in 2023: Raconteur and techUK webinar (Recording)

Check out the recording of our CEO/CTO Nicki Watt, and other panellists at the Raconteur and techUK webinar discussing “The Cloud for Business Report,” which was published in The Sunday Times on 5th March 2023.

Read More Read More

Kafka: Navigating GDPR Compliance

June 8, 2023 | Blog, Kafka

Kafka: Navigating GDPR Compliance

Check out Greg Nuttall’s latest blog where he looks at the challenges posed by GDPR’s “Right to be Forgotten” in the context of Apache Kafka, and delves deeper into three strategies for overcoming them.

Read More Read More

Building the best Kubernetes test cluster on MacOS

May 18, 2023 | Blog, Kubernetes

Building the best Kubernetes test cluster on MacOS

Check out Matthew Revell-Gordon’s latest blog as he explores building a local Kubernetes test cluster to better mimic cloud-based deployments, using Colima, Kind, and MetalLB.

Read More Read More

TL;DR – Computational Governance in Data Mesh with OPA

April 21, 2023 | Blog, Data Engineering, Data Governance, Data Mesh, OPA

TL;DR – Computational Governance in Data Mesh with OPA

Check out Mateus Pimenta’s TL;DR video to learn how federated computational governance could be implemented using Open Policy Agent (OPA) and policy-as-code to support a successful Data Mesh architecture.

Read More Read More

State of Open Conference – Internal Developer Platforms of the people, by the people, for the people (Recording)

March 29, 2023 | Blog, Kubernetes, Platform Engineering

State of Open Conference – Internal Developer Platforms of the people, by the people, for the people (Recording)

Watch the recording of our CEO/CTO, Nicki Watt from the State of Open Conference on her talk “Internal Developer Platforms – Of the people, By the people, For the people.”

Read More Read More

Ingesting Big Data into Neo4j – Part 3

March 9, 2023 | Blog, Data Analysis, Neo4j

Ingesting Big Data into Neo4j – Part 3

Check out the last part of Ebru Cucen and Fahran Wallace’s blog series, in which they discuss their experience ingesting 400 million nodes and a billion relationships into Neo4j and what they discovered along the way.

Read More Read More

Ingesting Big Data into Neo4j – Part 2

February 16, 2023 | Blog, Data Analysis, Neo4j

Ingesting Big Data into Neo4j – Part 2

Check out Part 2 of Ebru Cucen and Fahran Wallace’s blog series, in which they discuss their experience ingesting 400 million nodes and a billion relationships into Neo4j and what they discovered along the way.

Read More Read More

NODES 2022 – Neo4j Online Developer Education Summit 2022 – Tracing your data’s DNA

February 1, 2023 | Blog, Data Analysis, Neo4j

NODES 2022 – Neo4j Online Developer Education Summit 2022 – Tracing your data’s DNA

As data becomes ubiquitous and deeply interconnected, tracing where who or which system that data comes from – its lineage – will create bigger problems and opportunities for us on the horizon. Watch the recording of James Bowkett talk from NODES 2022 – Neo4j Online Developer Education Summit 202 on ‘Tracing Your Data’s DNA.’

Read More Read More

Ingesting Big Data into Neo4j – Part 1

January 26, 2023 | Blog, Data Analysis, Neo4j

Ingesting Big Data into Neo4j – Part 1

Fahran Wallace and Ebru Cucen’s most recent blog post is part 1 of a three-part series. They investigate how OpenCredo ingested 400 million nodes with a billion relationships into Neo4j.

Read More Read More

The 2022/2023 Mayor’s Business Climate Challenge (BCC)

January 20, 2023 | Blog, Culture, News

The 2022/2023 Mayor’s Business Climate Challenge (BCC)

OpenCredo is thrilled to be a part of the 2022/2023 Mayor’s Business Climate Challenge (BCC). Read this blog to learn more about our initiatives to lower carbon emissions as part of the voluntary energy efficiency programme!

Read More Read More

Kubernetes Community Days – Kubernetes-based platforms – of the people, by the people, for the people (Recording)

December 8, 2022 | Blog, Kubernetes, Platform Engineering

Kubernetes Community Days – Kubernetes-based platforms – of the people, by the people, for the people (Recording)

Watch the recording of our CEO/CTO, Nicki Watt from the Kubernetes Community Days on her talk “Kubernetes-based platforms – of the people, by the people, for the people.”

Read More Read More

Seeing Through The Modern Data Stack

December 7, 2022 | Blog, Data Analysis

Seeing Through The Modern Data Stack

Learn more about data processing and analytics, which are essential systems in modern enterprises but are frequently overlooked aspects of modern data architectures, by reading Mateus Pimenta’s latest blog.

Read More Read More

Agile India 2022 – Systems Thinking for Happy Staff and Elated Customers

October 18, 2022 | Blog, Organisational Transformation, Software Consultancy

Agile India 2022 – Systems Thinking for Happy Staff and Elated Customers

Watch Simon Copsey’s talk from the Agile India Conference on “Systems Thinking for Happy Staff and Elated Customers.”

Read More Read More

Lean-Agile Delivery & Coaching Network and Digital Transformation Meetup

September 30, 2022 | Blog, Organisational Transformation, Software Consultancy

Lean-Agile Delivery & Coaching Network and Digital Transformation Meetup

Watch Simon Copsey’s talk from the Lean-Agile Delivery & Coaching Network and Digital Transformation Meetup on “Seeing Clearly in Complexity” where he explores the Current Reality Tree tool.

Read More Read More

Controlling Kafka Data Flows using Open Policy Agent

August 2, 2022 | Blog, Kafka

Controlling Kafka Data Flows using Open Policy Agent

Read Matt Farrow’s blog as he explores the potential for using Open Policy Agent to filter and mask data being sent to and read from Apache Kafka.

Read More Read More

GOTO Copenhagen 2022 – From Data Mess —> Data Mesh: Navigating People, Process & Platforms (Recording)

July 6, 2022 | Platform Engineering

GOTO Copenhagen 2022 – From Data Mess —> Data Mesh: Navigating People, Process & Platforms (Recording)

Watch the recording of our CEO/CTO, Nicki Watt from the GOTO Copenhagen Conference 2022 on her talk ” From Data Mess —> Data Mesh: Navigating People, Process & Platforms”

Read More Read More

Lunch & Learn: Learnings from Writing My Own Operating System from Scratch

June 30, 2022 | Blog, Culture

Lunch & Learn: Learnings from Writing My Own Operating System from Scratch

In this Lunch & Learn session, Peter Vegh advises on ‘Learnings from Writing my Own Operating System from Scratch’

Read More Read More

When Your Product Teams Should Aim to be Inefficient – Part 2

June 29, 2022 | Blog, Organisational Transformation, Software Consultancy

When Your Product Teams Should Aim to be Inefficient – Part 2

Many businesses advocate for efficiency, but this is not always the right goal.

In part one of this article, we explored how product teams can balance two important considerations – efficiency and effectiveness.

In this second part we will introduce the – often unexpected – implications of turning to technology to bring about efficiency and wider change, and the deeper considerations that must be addressed first.

Read More Read More

PlatformCon 2022 – People, Process, and Platform – a community-focused approach (Recording)

June 22, 2022 | Platform Engineering

PlatformCon 2022 – People, Process, and Platform – a community-focused approach (Recording)

Watch the recording of our CEO/CTO, Nicki Watt from the PlatformCon Conference 2022 on her talk “People, Process, and Platform – a community-focused approach.”

Read More Read More

Lunch & Learn: Scala in 2022

June 16, 2022 | Data Analysis, Data Engineering

Lunch & Learn: Scala in 2022

In this lunch & learn session Matt Farrow shares the new developments in Scala and what it could all mean for Scala’s future.

Read More Read More

When Your Product Teams Should Aim to be Inefficient – Part 1

June 14, 2022 | Blog, Culture, White Paper

When Your Product Teams Should Aim to be Inefficient – Part 1

Many businesses advocate for efficiency, but this is not always the right goal. Part one of this article explores how product teams can balance two important considerations – efficiency and effectiveness. Part two builds on this idea, uncovering the non-obvious implications of using technology to bring about efficiency and wider change.

Read More Read More

Devoxx UK 2022 – The Zen School of Github Actions

June 1, 2022 | Open Source, Software Consultancy

Devoxx UK 2022 – The Zen School of Github Actions

Watch the talk ‘The Zen School of Github Actions’ by our Lead Consultant, Jonathan Ruckwood from Devoxx UK 2022

Read More Read More

Devoxx UK 2022 – Tracing Your Data’s DNA

May 26, 2022 | Data Analysis, Data Engineering

Devoxx UK 2022 – Tracing Your Data’s DNA

As data becomes ubiquitous and deeply interconnected, tracing where who or which system that data comes from – its lineage – will create bigger problems and opportunities for us on the horizon. Watch the recording of James Bowkett’s talk from Devoxx UK on ‘Tracing Your Data’s DNA’

Read More Read More

PlatformCon 2022: People, Process, and Platform – a community-focused approach

May 26, 2022

PlatformCon 2022: People, Process, and Platform – a community-focused approach

Our CEO/CTO Nicki Watt shares about her upcoming talk at PlatformCon 2022.

Read More Read More

Agile Ex Meet Up – Coaching at the Organisational level

May 24, 2022 | Software Consultancy

Agile Ex Meet Up – Coaching at the Organisational level

Watch Simon Copsey’s talk from the Agile Ex Meetup on “Coaching at the Organisational Level” where he explores some of the common downward spirals in IT and the larger organisation, as well as the tools that coaches and individuals can use to surface and discuss them in a way that allows for systemic change, even without formal authority.

Read More Read More

Lunch & Learn: GraalVM and Java Native Image

May 12, 2022 | Microservices

Lunch & Learn: GraalVM and Java Native Image

Combining Native image with Spring Boot and Micronaut GraalVM makes for a high-performance runtime that can significantly improve application performance and efficiency, making it ideal for microservices. Native images enable Java applications to be compiled ahead of time, resulting in smaller, faster Java microservices.

In this talk, Guy Coleman will demonstrate a hello world web service using both Spring Boot and Micronaut as they both support native images.

Read More Read More

Agnostic Agile Meetup – Systems Thinking for Happy Staff and Elated Customers

May 5, 2022 | Culture, Software Consultancy

Agnostic Agile Meetup – Systems Thinking for Happy Staff and Elated Customers

Watch Simon Copsey’s talk from the Agnostic Agile Meetup on “Systems Thinking for Happy Staff and Elated Customers.”

Read More Read More

Lunch & Learn: Organisational Transformation – Why it often fails, and tools for success

April 28, 2022 | Software Consultancy

Lunch & Learn: Organisational Transformation – Why it often fails, and tools for success

Watch our latest Lunch & Learn video as Simon Copsey provides an in-depth look at what causes Organisational Transformation failures and what can be done to ensure its success.

Read More Read More

Lunch & Learn: A Closer Look at Databricks

March 24, 2022 | Data Analysis, Data Engineering

Lunch & Learn: A Closer Look at Databricks

In this Lunch & Learn session our Senior Consultant, Seb Margineanu shares an overview of the Databricks Lakehouse Platform by exploring the evolution of Databricks.

Read More Read More

Lunch & Learn: GraphQL on Springboot

March 10, 2022 | Data Engineering, Open Source

Lunch & Learn: GraphQL on Springboot

In this lunch & learn session, Ebru Cucen and Alberto Faedda explore the historical background of GraphQL with case examples and a demo of how it can be used.

Read More Read More

Lunch & Learn: Secure Pipelines Enforcing policies using OPA

March 3, 2022 | AWS, Open Source, Software Consultancy

Lunch & Learn: Secure Pipelines Enforcing policies using OPA

Watch our Lunch & Learn by Hieu Doan and Alberto Faedda as they share how engineers and security teams can secure their software development processes with the Secure Pipelines application.

Read More Read More

DZone Repost: Testing Serverless Functions

February 11, 2022 | AWS, Cloud, GCP, Kubernetes, Microservices, Open Source, Software Consultancy

DZone Repost: Testing Serverless Functions

Serverless functions are easy to install and upload, but we can’t ignore the basics. This article looks at different strategies related to testing serverless functions.

Read More Read More

Lunch & Learn: Data Pipelines with Apache Hop & Pentaho Data Integration

February 10, 2022 | Data Engineering

Lunch & Learn: Data Pipelines with Apache Hop & Pentaho Data Integration

In this lunch & learn session, Fahran Wallace looks at how Apache Hop and its still active parent project Pentaho Data Integration help tackle data pipeline.

Read More Read More

Making Sense of Data with RDF* vs. LPG

January 31, 2022 | Blog, Data Engineering

Making Sense of Data with RDF* vs. LPG

There are two camps of Graph database, one side is RDF, where they are strict with their format, and somewhat limited for their extensibility. The other side is LPG, where they can define labels to the relationships. With its recent extension, RDF now allows users to add properties, thus becoming RDF*. In this blog, Ebru explores the structural and performance differences between LPG and RDF*.

Read More Read More

What you might have missed in Kubernetes 1.22 release

December 5, 2021 | Cloud, Kubernetes

What you might have missed in Kubernetes 1.22 release

Kubernetes’ second release in 2021, version 1.22, has been out for a little while now and with 1.23 on its way, we thought we’d take a look back. Kubernetes 1.22 was a highly comprehensive release with 53 enhancements in all three graduation levels: 13 features have graduated to stable, 24 enhancements reached beta status, and 16 new features have been accepted into the alpha stage. 

The latest version has some noteworthy security features such as running Kubelet without root access, pod security policies, and seccomp. There are also a couple of deprecated and removed APIs. In this blog, we’ll discuss the significant changes in v1.22, as well as how to handle the removed APIs.

Read More Read More

Exploring How Policy-as-Code and OPA Fit into the K8s World

November 4, 2021 | Kubernetes

Exploring How Policy-as-Code and OPA Fit into the K8s World

We always read that ‘security is everyone’s responsibility’. For any organisation, big or small, security should always be the primary concern—not a mere afterthought. In terms of Kubernetes, securing a cluster is challenging because it has so many moving parts and, apart from securing our Kubernetes environment, we also want to control what an end-user can do in our cluster.

To achieve these goals, we can start with the built-in features provided by Kubernetes like Role-Based Access Control (RBAC), Network Policies, Secrets Management, and Pod Security Policies (PSP). But we know these features are not enough. For example, we may want specific policies like ‘all pods must have specific labels’. And even if we have the policies in place, the next big question is how to enforce them on our Kubernetes cluster in an easy and repeatable manner.

In this blog post, we’ll address this challenge and other questions pertaining to OPA and how it can integrate into Kubernetes.

Read More Read More

Running the Cloud from your Kubernetes Cluster

September 2, 2021 | Blog, Cloud, Kubernetes

Running the Cloud from your Kubernetes Cluster

In this blog, Stuart compares the new approach of deploying cloud resources as Kubernetes custom resources rather than the (now) typical approach using Terraform – or cloud specific: CloudFormation (AWS), Deployment Manager (GCP). He also identifies what resources are suitable for this approach and which ones are not.

Read More Read More

Kafka vs RabbitMQ: The Consumer-Driven Choice

July 20, 2021 | Blog, Data Engineering, Kafka

Kafka vs RabbitMQ: The Consumer-Driven Choice

Message and event-driven systems provide an array of benefits to organisations of all shapes and sizes. At their core, they help decouple producers and consumers so that each can work at their own pace without having to wait for the other – asynchronous processing at its best.

In fact, such systems enable a whole range of messaging patterns, offering varying levels of guarantees surrounding the processing and consumption options for clients. Take for example the publish/subscribe pattern, which enables one message to be broadcast and consumed by multiple consumers; or the competing consumer pattern, which enables a message to be processed once but with multiple concurrent consumers vying for the honour—essentially providing a way to distribute the load. The manner in which these patterns are actually realised however, depends a lot on the technology used, as each has its own approach and unique tradeoffs. 

In this article we will explore how this all applies to RabbitMQ and Apache Kafka, and how these two technologies differ, specifically from a message consumer’s perspective.

Read More Read More

Running a Terraform Provider with a Debugger

May 19, 2021 | DevOps, Hashicorp, Open Source, Terraform Provider

Running a Terraform Provider with a Debugger

Developing a Terraform provider is a great thing for a company to do as it allows customers to quickly integrate a product with their existing systems with very little friction. During development, occasionally there might be bugs and issues to fix, and it can be quite difficult to work out what is causing them. In this post, I outline how you can attach a debugger such as Delve to a Terraform provider to save time when solving these issues.

Read More Read More

Machine Learning at scale: first impressions of Kubeflow

April 20, 2021 | Data Engineering, Machine Learning, Software Consultancy

Machine Learning at scale: first impressions of Kubeflow

Our recent client was a Fintech who had ambitions to build a Machine Learning platform for real-time decision making. The client had significant Kubernetes proficiency, ran on the cloud, and had a strong preference for using free, open-source software over cloud-native offerings that come with lock-in. Several components were spiked with success (feature preparation with Apache Beam and Seldon for model serving performed particularly strongly). Kubeflow was one of the next technologies on our list of spikes, showing significant promise at the research stage and seemingly a good match for our client’s priorities and skills.

That platform slipped down the client’s priority list before completing the research for Kubeflow, so I wanted to see how that project might have turned out. Would Kubeflow have made the cut?

 

Read More Read More

Anthos – A Holistic Approach to your Hybrid Cloud initiative

February 17, 2021 | Blog, Cloud, Cloud Native, GCP, Open Source

Anthos – A Holistic Approach to your Hybrid Cloud initiative

Multi-cloud is rapidly becoming the cloud strategy of choice for enterprises looking to modernise their applications.

And the reason is simple – it gives them much more flexibility to host their workloads and data where it suits them best.

In this post, we focus on Google’s application modernisation solution Google Anthos and the role it can play in your cloud transformation strategy.

Read More Read More

GOTOpia 2021 – Platform Engineering as a (Community) Service

February 9, 2021 | Cloud Native, DevOps, Kubernetes

GOTOpia 2021 – Platform Engineering as a (Community) Service

Watch Nicki Watt’s talk on Platform Engineering as a (Community) Service at GOTOpia to learn what it takes to build a platform that is fit to serve the communities which will ultimately use it.

Read More Read More

WebAssembly – Where is it going?

December 11, 2020 | Cloud, Cloud Native, Kubernetes, Microservices

WebAssembly – Where is it going?

“WebAssembly is a safe, portable, low-level code format designed for efficient execution and compact representation.” – W3C

In this blog, I’ll cover the different applications of Wasm and WASI, some of the projects that are making headway, and the implications for modern architectures and distributed systems.

Read More Read More

Hacking Kubernetes on AWS (EKS) from a Mac

October 29, 2020 | Cloud, Kubernetes, Open Source

Hacking Kubernetes on AWS (EKS) from a Mac

While working with a client recently, we experienced some issues when attempting to make use of NLB external load balancer services when using AWS EKS. I wanted to investigate whether these issues had been fixed in the upstream GitHub Kubernetes repository, or if I could fix it myself, contributing back to the community in the process.

Read More Read More

What is Continuous Verification?

October 15, 2020

What is Continuous Verification?

Continuous Verification is a term that is starting to pop up from time-to-time… but what does it mean? Well… according to Nora Jones and Casey Rosenthal, authors of O’Reilly’s Chaos Engineering books,

 

“Continuous verification (CV) is a discipline of proactive experimentation, implemented as tooling that verifies system behaviors. This stands in contrast to prior common practices in software quality assurance, which favor reactive testing, implemented as methodologies that validate known properties of software. This isn’t to say that prior common practices are invalid or should be deprecated. Alerting, testing, code reviews, monitoring, SRE practices, and the like—these are all great practices and should be encouraged”

 

Over the course of this post, we will unpack this statement: to understand what is behind it and what it might mean for your development process.

Read More Read More

Decision time with AWS Keyspaces

September 22, 2020 | AWS, Blog, Cassandra, Cloud, DevOps, Open Source

Decision time with AWS Keyspaces

With the upcoming Cassandra 4.0 release, there is a lot to look forward to. Most excitingly, and following a refreshing realignment of the Open Source community around Cassandra, the next release promises to focus on fundamentals: stability, repair, observability, performance and scaling.

We must set this against the fact that Cassandra ranks pretty highly in the Stack Overflow most dreaded databases list and the reality that Cassandra is expensive to configure, operate and maintain. Finding people who have the prerequisite skills to do so is challenging.

Read More Read More

Automation of complex IT systems

May 14, 2020 | Blog, DevOps

Automation of complex IT systems

At the time of this post, the UK is making steps to exit from an unprecedented lockdown measures for the Coronavirus. Much of the UK workforce are still making efforts to work-from-home with mainly key workers operating – at risk – in public. Many industries have shut down completely. Consequently, many businesses are reflecting on what happens next and how do we better mitigate future pandemic events?

Read More Read More

It’s 2020, can I have my ML models now?

April 2, 2020 | Machine Learning

It’s 2020, can I have my ML models now?

Recent years have seen many companies consolidate all their data into a data lake/warehouse of some sort. Once it’s all consolidated, what next?

Many companies consolidate data with a field of dreams mindset – “build it and they will come”, however a comprehensive data strategy is needed if the ultimate goals of an organisation are to be realised: monetisation through Machine Learning and AI is an oft-cited goal. Unfortunately, before one rushes into the enticing world of machine learning, one should lay more mundane foundations. Indeed, in data science, estimates vary between 50% to 80% of the time taken is devoted to so-called data-wrangling. Further, Google estimates ML projects produce 5% ML code and 95% “glue code”. If this is the reality we face, what foundations are required before one can dive headlong into ML?

Read More Read More

Security, Usability & Cloud Data Services in Finance

March 20, 2020

Security, Usability & Cloud Data Services in Finance

Traditionally, Usability and Security have been set in opposition to each other: with tight security, we end up with painful user experience. In this blog, Guy focuses on financial services as an exemplar of how we can introduce usability into a vertical with challenging security and compliance requirements.

Read More Read More

Evolutionary challenges faced by VC funded organisations

November 13, 2019 | Software Consultancy

Evolutionary challenges faced by VC funded organisations

Pioneering and pushing technology boundaries – pretty much a given nowadays for the software-driven startup. Here are some insights we’ve observed working with a number of venture capital (VC) companies who have managed to navigate the choppy waters and successfully grow their business including winning further investment along the way.

With our deep hands-on technical expertise and pragmatic focus, OpenCredo has become a natural software acceleration partner for VC funded organisations who are looking to deliver tangible value as effectively as possible. We’ve been brought in to work alongside these innovators at various stages of their journey. As such we’ve gained an appreciation for and acquired, first-hand insight into some of the pressures and challenges faced. From getting and securing that next round of funding, to grappling with the technical decisions and challenges inherent in sensibly evolving offerings to accommodate future growth and scaling.

 

This blog is written exclusively by the OpenCredo team. We do not accept external contributions.

Read More Read More

Happy World Kindness Day

November 13, 2019 | Culture, Software Consultancy

Happy World Kindness Day

Back in August, we shared with you a pro-bono project we had embarked upon – the build of an application that would bring the Mental Health Collective’s vision-of-kindness to life: Technology, Kindness and Bananas.

Since then we have been experimenting with technologies, developing a platform, and implementing a solution that will allow MHC to take their initiative onwards.
(Tech stack employed: React, Amplify – DynamoDb, Lambdas, API Gateway)

Read More Read More

Three Highlights from CloudNative London Conference Day 3

October 8, 2019 | Cloud, Cloud Native, Culture

Three Highlights from CloudNative London Conference Day 3

Following on from the last two blogs by Stuart (who shared highlights for day 1) and Trent (who shared highlights from day 2), I will conclude with mine on CloudNative London 2019 Day 3.

The Cloud Native landscape can be bewildering, and not only for newcomers. As a traveller on the Cloud-native journey, I have sometimes been overwhelmed by the number of products and projects. This is why I took hold of the opportunity to go to Day 3 of the Cloud Native London Conference last month hosted by Skills Matter.

Here are my top highlights from Day 3 of the CloudNative London 2019.

Read More Read More

3 Highlights from CloudNative London 2019 (Day 2)

October 3, 2019

3 Highlights from CloudNative London 2019 (Day 2)

Continuing on from Stuart’s previous blog which covered highlights from CloudNative London conference day 1, I have put together a summary for day 2. 

Being an OCer (OpenCredo employee) has given me the opportunity to fully embed myself in the London technology scene. Alongside our direct engagements with clients, it is a chance to understand and evaluate the trends and lessons that have emerged over the past year.  

For conferences and technical content, London is a very crowded location. Every day it seems like a new conference is being announced and I know I cannot attend them all, no matter how much I want too!  Alongside some of my other colleagues, I was given the option to attend the Skillsmatter CloudNative London conference and with the increase of organisations embracing the dynamic and transformative benefits offered by an ever-growing choice of cloud providers, it seemed like a good fit. 

Read More Read More

Why Upgrading to Terraform 0.12+ Should be a Priority

October 3, 2019 | Cloud, DevOps, Hashicorp, Open Source

Why Upgrading to Terraform 0.12+ Should be a Priority

Terraform 0.12 in recent years has emerged as the de facto standard with regards to defining and managing cloud infrastructure. It is one of four primary tools offered by HashiCorp, (Terraform, Vault, Consul and Nomad) and underpins the workflows that make up their Cloud Operating Model.

Since its first release in 2014, the wider Terraform community has embraced frequent releases and this past year has been no exception. HashiCorp announced the release of Terraform 0.12 in May 2019 and as of writing this post the official release is 0.12.9.

Read More Read More

3 Highlights from CloudNative London 2019 (Day 1)

October 1, 2019 | Cloud, Cloud Native, Culture

3 Highlights from CloudNative London 2019 (Day 1)

One of the benefits we have working at OpenCredo (OC) is the opportunity to both attend and speak (although not on this occasion) at conferences. For some of you, this may be pretty common, but OC was actually the first to offer me this as part of a broader learning and development plan.

Cloud-native development and delivery is a core area of expertise for OC and we are always looking for what’s new and interesting in this space. So when I was offered the chance to go to CloudNative London it seemed like a good place to start. With its diversity in topics and technologies, the conference provided a perfect opportunity to collaborate and hear from others in the industry and what they are doing in this space.

Read More Read More

Evolving Your Architecture Whilst Still Keeping The Lights On

September 12, 2019 | Cloud Native, Microservices, Software Consultancy

Evolving Your Architecture Whilst Still Keeping The Lights On

As a technology leader, you’ll be aware that competitive pressures and shifting business requirements are driving changes in the technical architectures of many organisations. This means you need a new strategic approach based on the ability to continually evolve elements of your systems and architectures.

Read More Read More

Technology, Kindness and Bananas

August 14, 2019 | Culture, News

Technology, Kindness and Bananas

Here, in our little nook of the internet, we usually write about our experiences of emerging technologies, the tricky coding problems we’ve solved and how we have enhanced our clients’ businesses. We do this because we are very proud of this work. It truly matters.

Today is a little different. Today I’d like to share something a little more personal. Something that brings loneliness, kindness and technology together in an oxytocin-generating, slightly awkward embrace. Because hugs matter too.

Read More Read More

Kafka Connect – Source Connectors: A detailed guide to connecting to what you love.

July 30, 2019 | Blog, Kafka

Kafka Connect – Source Connectors: A detailed guide to connecting to what you love.

Writing your own Kafka source connectors with Kafka Connect. In this blog, Rufus takes you on a code walk, through the Gold Verified Venafi Connector while pointing out the common pitfalls

Read More Read More

Securing Kafka using Vault PKI

February 20, 2019 | DevOps, Hashicorp, Kafka, Open Source

Securing Kafka using Vault PKI

Creating and managing a Public Key Infrastructure (PKI) could be a very straightforward task if you use appropriate tools. In this blog post, I’ll cover the steps to easily set up a PKI with Vault from HashiCorp, and use it to secure a Kafka Cluster.

Read More Read More

HA Prometheus – The Thanos Evolution

February 5, 2019 | Cloud Native, DevOps, Kubernetes, Microservices, Open Source

HA Prometheus – The Thanos Evolution

While Prometheus has fast become the standard for monitoring in the cloud, making Prometheus highly available can be tricky. This blog post will walk you through how to do this using the open source tool Thanos.

Read More Read More

[Past event] O’Reilly Software Architecture 2018

We are excited to announce our Senior Consultant, Fahran Wallace is speaking this year at O’Reilly Software Architecture 2018.

View All Past Events Read More

[Past event] CloudNative London 2018

Join us at CloudNative London this year! CloudNative London will be held on the 26th – 28th of September 2018 at Code Node and we are excited to announce that Nicki Watt will also be speaking at the conference on CloudNative Architecture.

View All Past Events Read More

10 Pieces of Borrowed Wisdom for Effective Tech Consultancy

August 29, 2018 | Software Consultancy

10 Pieces of Borrowed Wisdom for Effective Tech Consultancy

My last year or so here at OpenCredo has involved a very well-supported first foray into tech consultancy. Different engagements pose both unique, as well as familiar challenges for me as a consultant, all of which played a part in shaping and moulding the way I understand and approach problems. This blog is a brief collation of wisdom that’s helped me the most during this adventure; gained by learning the hard way, as well as that acquired from mentoring and colleagues who have gone before. The shared wisdom has made me a much more effective consultant, and kept me sane in the process, for which I’m very thankful.

Read More Read More

Data Science on Steroids: Productionised Machine Learning as a Value Driver for Business

July 31, 2018 | Machine Learning

Data Science on Steroids: Productionised Machine Learning as a Value Driver for Business

Machine Learning, alongside a mature Data Science, will help to bring IT and business closer together. By leveraging data for actionable insights, IT will increasingly drive business value. Agile and DevOps practices enable the continuous delivery of business value through productionised machine learning models and software delivery.

Read More Read More

I.T Career Energizer Podcast: Learn Foundational Concepts & Principles First with Nicki Watt
The Power of the Architecture-driven Organisation

July 13, 2018 | Software Consultancy

The Power of the Architecture-driven Organisation

As a consultant I often find myself in situations that require tricky problem solving, typically of a technical nature. Yet although it is common to approach a consultancy engagement in terms of its technical context, not all problems have a purely technical solution.

Read More Read More

[Past event] …Think Software 2018, London

Join us at …think software 2018! Take one afternoon to learn about some of the most important topics of the day, hear from outstanding speakers all with hard-won experience delivering projects.

View All Past Events Read More

Self-testing infrastructure-as-code

May 31, 2018 | DevOps

Self-testing infrastructure-as-code

As traditional operations has embraced the concept of code, it has benefited from ideas already prevalent in developer circles such as version control. Version control brings the benefit that not only can you see what the infrastructure was, but you can also get reviews of changes by your peers before the change is made live; known to most developers as Pull Request (PR) reviews.

Read More Read More

[Past event] O’Reilly; Strata Data Conference

We are excited to announce we are sponsors of O’Reilly Strata Data Conference 2018. Expert speakers from around the world will share their compelling data case studies, proven best practices, effective new analytic approaches, and exceptional skills with an audience of data scientists, analysts, and executives. Conference topics: Data science and machine learning Data engineering […]

View All Past Events Read More

Heuristics for Identifying Service Boundaries

May 16, 2018 | Microservices

Heuristics for Identifying Service Boundaries

To identify service boundaries, it is not enough to consider (business) domains only. Other forces like organisational communication structures, and – very important – time, strongly suggest that we should include several other criteria in our considerations.

Read More Read More

[Past event] Devoxx UK 2018

Join us for Devoxx UK 2018! We are excited to announce that we are sponsoring and speaking at Devoxx UK 2018. Devoxx is a conference by developers, for developers. Conference Tracks include: Cloud, Containers & Infratructure Big Data & AI Architecture Server Side Java Modern Web Programming Languages Security and much more… Multi Env Deploys […]

View All Past Events Read More

[Past event] Kafka Summit London 2018

We are excited to announce that our Lead Consultant, Pergerto Fernandez is presenting at Kafka Summit London 2018! Kafka Summit is the premier event for data architects, engineers, devops professionals, and developers who want to learn about streaming data.

View All Past Events Read More

[Past event] Applied Data Engineering Meet Up #6

Join us for the Applied Data Engineering Meet Up #6 on the 18th of April! For our first meet up of the year we have CTO of Humio, Kresten Thorup joining us and speaking about Data Processing and SecOps at Scale.

View All Past Events Read More

Microservices Anti-patterns: It’s All About the People

April 18, 2018 | Microservices

Microservices Anti-patterns: It’s All About the People

Quite a few of the anti-patterns we observe today on microservices projects are strongly related to how people approach the problem. Given their nature, these anti-patterns tend to be deeply ingrained and self-sustaining. Addressing them starts with increased awareness and by changing ways of approaching the problem, rather than by the introduction of yet another technical tool or framework.

Read More Read More

Google Cloud Functions with Terraform

April 5, 2018 | Cloud, DevOps, Hashicorp, Terraform Provider

Google Cloud Functions with Terraform

Google Cloud Functions is the Google Cloud Platform (GCP) function-as-a-service offering. It allows you to execute your code in response to event triggers – HTTP, PubSub and Storage. While it currently only supports Node.js code for execution, it has proved very useful for running low-frequency operational tasks and other batch jobs in GCP.

Read More Read More

Events and Commands: Two Faces of the Same Coin?

March 14, 2018 | Data Engineering, Microservices

Events and Commands: Two Faces of the Same Coin?

Events are obviously the fundamental building block of event-sourced systems. Commands are equally a common concept in such systems although the distinction between events and commands, if any, is not always clear. There are certainly varying views on what role each one should play.

Read More Read More

Fargate As An Enabler For Serverless Continuous Delivery

February 14, 2018 | Cloud

Fargate As An Enabler For Serverless Continuous Delivery

AWS Announced a few new products for use with containers at RE:Invent 2017 and of particular interest to me was a new Elastic Container Service(ECS) Launch type, called Fargate

Prior to Fargate, when it came to creating a continuous delivery pipeline in AWS, the use of containers through ECS in its standard form, was the closest you could get to an always up, hands off, managed style of setup. Traditionally ECS has allowed you to create a configured pool of “worker” instances, with it then acting as a scheduler, provisioning containers on those instances.

 

Read More Read More

Get your -aas in gear: Privatelink and PaaS democratisation on AWS

February 6, 2018 | Cloud

Get your -aas in gear: Privatelink and PaaS democratisation on AWS

Among the many announcements made at Re:Invent 2017 was the release of AWS Privatelink for Customer and Partner services. We believe that the opportunity signalled by this modest announcement may have an impact far broader than first impressions suggest.

Read More Read More

A Pragmatic Introduction to Machine Learning for DevOps Engineers

January 23, 2018 | Data Engineering, DevOps

A Pragmatic Introduction to Machine Learning for DevOps Engineers

Machine Learning is a hot topic these days, as can be seen from search trends. It was the success of Deepmind and AlphaGo in 2016 that really brought machine learning to the attention of the wider community and the world at large.

Read More Read More

Writing a custom JupyterHub Spawner

January 11, 2018 | Data Engineering

Writing a custom JupyterHub Spawner

The last few years have seen Python emerge as a lingua franca for data scientists. Alongside Python we have also witnessed the rise of Jupyter Notebooks, which are now considered a de facto data science productivity tool, especially in the Python community. Jupyter Notebooks started as a university side-project known as iPython in circa 2001 at UC Berkeley.

Read More Read More

muCon 2017 (Video): Testing Programmable Infrastructure

[Past event] Applied Data Engineering Meetup #4

Join us on the 25th of October for our Applied Data Engineering Meetup with Cockroach Labs who will be talking to us about ‘The Hows & Whys of a Distributed SQL Database.’

View All Past Events Read More

Q&A with Cockroach Labs – creators of CockroachDB

October 24, 2017 | Data Engineering

Q&A with Cockroach Labs – creators of CockroachDB

Cockroach Labs, the creators of CockroachDB are coming to London for the first time since their 1.0 GA Release in May 2017. They will be taking time to talk about “The Hows & Whys of a Distributed SQL Database” at the Applied Data Engineering meetup, hosted and run by us here at OpenCredo.
We have been interested in CockroachDB for a while now, including publishing our initial impressions of the release on our blog. We thought this would be the perfect time to do a bit of a Q&A before the event! I posed Raphael Poss, a core Software Engineer at Cockroach Labs a few questions.

Read More Read More

[Past event] Agile Cambridge 2017

Agile Cambridge is a three day practical agile development conference that allows participants to connect and learn from their peers and leaders in the industry. Join Matt Long, our senior QA consultant on the 29th of September for the third day of Agile Cambridge for a case study on a ‘from the trenches’ experience.

View All Past Events Read More

[Past event] Applied Data Engineering Meetup #2

We’re back with our second meetup with lightning talks from Tareq Abedrabbo, CTO of OpenCredo, David Dawson, Software Engineer and Systems Architect and Allison Wells, Data Engineer of Kobalt Music followed by discussion over beer and pizza!

View All Past Events Read More

Terraform Provider Development

August 9, 2017 | Cloud, DevOps, Terraform Provider

Terraform Provider Development

The recent 0.10.0 release of HashiCorp Terraform, saw a significant change to the way Providers are managed. Specifically, the single open source code repository for Terraform has been divided into core and multiple provider repositories.

 

Read More Read More

Riak, the Dynamo paper and life beyond Basho

August 8, 2017 | Cassandra

Riak, the Dynamo paper and life beyond Basho

Recently, the sad news has emerged that Basho, which developed the Riak distributed database, has gone into receivership. This would appear to present a problem for those who have adopted the commercial version of the Riak database (Riak KV) supported by Basho.

 

This blog is written exclusively by the OpenCredo team. We do not accept external contributions.

Read More Read More

[Past event] Hashicorp Meetup #13

Join us on the 25th of July at the London HashiCorp Meetup and hear from our CTO, Nicki Watt discuss evolving your infrastructure with Terraform!

View All Past Events Read More

[Past event] Applied Data Engineering Meetup #1

Applied Data Engineering is a meetup for all things Data! Join us for our first meetup on the 19th of July

View All Past Events Read More

[Past event] Programmable Infrastructure and Cloud Architecture Training

Join us for the second installment of OpenCredo’s Summer training schedule. On the 21st and 22nd of June we will be running our “Programmable Infrastructure and Cloud Architecture Training” course in Manchester.

View All Past Events Read More

[Past event] Developer Week New York 2017

Join our Lead Consultant at Developer Week 2017 New York; New York City’s Largest Developer Conference & Expo!

View All Past Events Read More

[Past event] Introduction to Agile Testing

Join us for the first installment of OpenCredo’s Summer training schedule. On the 14th and 15th of June we will be running our “Introduction to Agile Testing” course in Manchester.

View All Past Events Read More

CockroachDB: First Impressions

June 15, 2017 | Data Engineering

CockroachDB: First Impressions

CockroachDB is a distributed SQL (“NewSQL”) database developed by Cockroach Labs and has recently reached a major milestone: the first production-ready, 1.0 release. We at OpenCredo have been following the progress of CockroachDB for a while, and we think it’s a technology of great potential to become the go-to solution for a having a general-purpose database in the cloud.

Read More Read More

[Past event] HashiDays London 2017

We are excited to announce that our CTO, Nicki Watt will be speaking at HashiDays London 2017! Hashidays London is a one-day, single track, deeply technical Hashicorp event!

View All Past Events Read More

[Past event] Webinar: Detecting stolen AWS credential usage with Apache Spark

Join us as we conclude our recent Apache Spark series with a webinar that will explore the use case of “Detecting stolen AWS credential usage with Spark”

View All Past Events Read More

[Past event] HashiCorp Meetup #11

The London Hashicorp meetup is back on May the 16th! Hi Everyone! May’s event is confirmed and as always we are in for a cracker! Firstly, thank you to the people at Moo.com who have very kindly offered us a space for the event. Secondly, thank you to the guys and girls at Fastly for […]

View All Past Events Read More

[Past event] Devoxx

Join OpenCredo at Devoxx UK 2017 We are pleased to announce that we are sponsoring and attending Devoxx UK this year The Devoxx Family welcomes annually over 11,000 developers to events in Belgium, France, UK, Poland, Morocco & USA. Devoxx UK returns to London 11th – 12th May, 2017. They will again welcome amazing speakers and attendees for the very best developer content and […]

View All Past Events Read More

Testing a Spark Application

May 9, 2017 | Cassandra

Testing a Spark Application

Data analytics isn’t a field commonly associated with testing, but there’s no reason we can’t treat it like any other application. Data analytics services are often deployed in production, and production services should be properly tested. This post covers some basic approaches for the testing of Cassandra/Spark code. There will be some code examples, but the focus is on how to structure your code to ensure it is testable!

 

This blog is written exclusively by the OpenCredo team. We do not accept external contributions.

Read More Read More

Deploy Spark with an Apache Cassandra cluster

May 2, 2017 | Cassandra, Data Engineering

Deploy Spark with an Apache Cassandra cluster

My recent blogpost I explored a few cases where using Cassandra and Spark together can be useful. My focus was on the functional behaviour of such a stack and what you need to do as a developer to interact with it. However, it did not describe any details about the infrastructure setup that is capable of running such Spark code or any deployment considerations. In this post, I will explore this in more detail and show some practical advice in how to deploy Spark and Apache Cassandra.

Read More Read More

[Past event] London Mesos User Group #16

Join us at the London Mesos User Group next month! Our next meetup will be on the 25th of April and its looking like it’ll be a good one with Founder of Mesosphere, Ben Hindman taking the stage.

View All Past Events Read More

New Blog Series: Spark – The Pragmatic Bits

April 25, 2017 | Cassandra, Data Analysis, Data Engineering

New Blog Series: Spark – The Pragmatic Bits

Apache Spark is a powerful open source processing engine which is fast becoming our technology of choice for data analytic projects here at OpenCredo. For many years now we have been helping our clients to practically implement and take advantage of various big data technologies including the like of Apache Cassandra amongst others.

 

 

Read More Read More

DRYing out Terraform

April 13, 2017 | Terraform Provider

DRYing out Terraform

Recently I’ve been doing a lot with Terraform; having briefly flirted with it in the past, it’s only now with v0.8.x that I’ve been seriously stepping out with it (and Azure, since you asked). In the main I think it’s great, especially as it means I don’t have to yak-shave with the AWS and Azure CLIs. However, I have started to bang my head against some of Terraform’s limitations, specifically around HCL (Hashicorp Configuration Language) – used to define infrastructure in the Terraform .tf files.

Read More Read More

QCON London 2017 (Video): Testing Programmable Infrastructure with Ruby

[Past event] HashiCorp Meetup #10

As always, we are pleased to be a part of the London Hashicorp meetup in London and have a special treat install for you all in April! HashiCorp Founder and CTO is in town for a special presentation, “Exploring Terraform 0.8 and 0.9. A massive thanks goes out to our sponsors, Sainsbury’s who are for providing the venue and beers, and Contino for providing the ever so important pizza!

View All Past Events Read More

Just Cloud It: leading digital business innovation companies team up in cloud consulting joint venture
Data Analytics using Cassandra and Spark

March 23, 2017 | Cassandra, Data Analysis, Data Engineering

Data Analytics using Cassandra and Spark

In recent years, Cassandra has become one of the most widely used NoSQL databases: many of our clients use Cassandra for a variety of different purposes. This is no accident as it is a great datastore with nice scalability and performance characteristics.

However, adopting Cassandra as a single, one size fits all database has several downsides. The partitioned/distributed data storage model makes it difficult (and often very inefficient) to do certain types of queries or data analytics that are much more straightforward in a relational database.

Read More Read More

Automating Your Security Acceptance Tests

March 23, 2017 | Data Engineering, Machine Learning

Automating Your Security Acceptance Tests

On previous blog posts we have provided examples of different types of acceptance tests coverage, UI, API and Performance. One area where automation is often lacking is around validating the security of the application under test. This has been discussed in the post on non functional testing You Are Ignoring Non-functional Testing. With this post we will enhance the automation framework to quickly check for some common security flaws.

Read More Read More

Programmable Infrastructure Needs Testing Too

March 20, 2017 | DevOps

Programmable Infrastructure Needs Testing Too

DevOps has swept the tech landscape. Now, many are discovering the benefits of programmable infrastructure. I have been lucky to work on many projects where we’ve taken advantage of tools such as Terraform, Ansible, or Chef.

 

Read More Read More

Google Cloud Spanner: our first impressions

March 7, 2017 | Data Analysis, GCP

Google Cloud Spanner: our first impressions

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 whitepaper gives a good theoretical introduction into Spanner.

Read More Read More

Some Uses For Type Aliases in Kotlin 1.1

February 28, 2017 | Software Consultancy

Some Uses For Type Aliases in Kotlin 1.1

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 to coroutines, but as I will show in this blog post, they can open up a new programming idiom, particularly when combined with extension functions.

Read More Read More

[Past event] Workshop: Introduction to Agile Testing

Drawing on over 6 years of practical experience from the OpenCredo team, you will explore worked examples and learn clear lessons in test automation and agile development. The workshop is ideal for members of development teams working to integrate testing, as well as product owners and business analysts who need a better way of communicating their business objectives. The results will be clearer requirements, faster test feedback, and increased confidence in software quality.

View All Past Events Read More

Everything you need to know about Cassandra Materialized Views

February 16, 2017 | Cassandra

Everything you need to know about Cassandra 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 query itself (denormalization). Cassandra 3.0 introduces a new CQL feature, Materialized Views which captures this concept as a first-class construct.

Read More Read More

[Past event] London HashiCorp Meetup #8

Join us at the February Hashicorp Meetup in London and hear some great talks from our consultant, Matt Long and HashiCorp Software Engineer, Paul Stack!

View All Past Events Read More

Event Replaying with Hazelcast Jet

February 13, 2017 | Data Engineering

Event Replaying with Hazelcast Jet

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 that could be performed on a single, linear stream of values could also be run in parallel by splitting that stream into multiple sub-streams, and combining the results from processing each sub-stream as they became available.

Read More Read More

The Three ‘R’s of Distributed Event Processing

January 25, 2017 | Cassandra

The Three ‘R’s of Distributed Event Processing

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, and is always in one of these states. When an input arrives, this triggers a transition in the FSM from its current state to the next state. There may be several possible transitions to several different states, and which transition is chosen depends on the input.

Read More Read More

Let’s Encrypt and Terraform – Getting free certificates for your infrastructure

January 24, 2017 | Cloud

Let’s Encrypt and Terraform – Getting free certificates for your infrastructure

This blog aims to provide an end to end example of how you can automatically 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 Read More

What I Don’t Like About Error Handling in Go, and How to Work Around It

January 23, 2017 | Data Analysis

What I Don’t Like About Error Handling in Go, and How to Work Around It

More often than not, people who write Go have some sort of opinion on its error handling model. Depending on your experience with other languages, you may be used to different approaches. That’s why I’ve decided to write this article, as despite being relatively opinionated, I think drawing on my experiences can be useful in the debate. The main issues I wanted to cover are that it is difficult to force good error handling practice, that errors don’t have stack traces, and that error handling itself is too verbose.

Read More Read More

O’REILLY Ebook: CD

January 13, 2017 | Publications

O’REILLY Ebook: CD

In this Ebook, you will find detailed step-by-step instructions on how to containerize your Java apps, fit them into CD pipelines, and monitor them in production. By the end of the report, you will be on your way to deploying containerized Java apps to production.

Read More Read More

How to TDD FizzBuzz with JUnit Theories

January 13, 2017 | Software Consultancy

How to TDD FizzBuzz with JUnit Theories

The notorious FizzBuzz interview test was originally proposed as a way of weeding out candidates for programming jobs who – to put it bluntly – couldn’t program. The task is as follows:

Write a program that prints the numbers from 1 to 100. But for multiples of three print “Fizz” instead of the number and for the multiples of five print “Buzz”. For numbers which are multiples of both three and five print “FizzBuzz”.

It turns out that this problem has just enough subtlety about it to cause headaches to anyone who knows the basics but hasn’t learned how to think in nested structures.

Read More Read More

[Past event] Microservices Manchester Meetup #3

Microservices Manchester – What’s in a name? This month, for Microservices Manchester Meetup #3, we have Peter Rodgers, CEO of 1060 Research, sharing his thoughts on an alternative way to view microservices. If you have something you’d like to share, there are lightning talk slots available on a first come first served basis. Try out a […]

View All Past Events Read More

[Past event] GOTO London 2016

GOTO London is back for the second year running to throw another great conference!   Creating a meeting place for software innovators and thought leaders from startups and enterprises, GOTO London will give you the opportunity to network with people all across different disciplines of software development! With 1 days workshops where attendees can go into depth with […]

View All Past Events Read More

From Java to Go, and Back Again

October 13, 2016 | Data Analysis

From Java to Go, and Back Again

In Lisp, you don’t just write your program down toward the language, you also build the language up toward your program. As you’re writing a program you may think “I wish Lisp had such-and-such an operator.” So you go and write it. Afterward you realize that using the new operator would simplify the design of another part of the program, and so on. Language and program evolve together…In the end your program will look as if the language had been designed for it. And when language and program fit one another well, you end up with code which is clear, small, and efficient – Paul Graham, Programming Bottom-Up

Read More Read More

[Past event] HashiCorp Meetup #6

Join Brett Mack for October’s installment of the London Hashicorp Meetup! The London Hashicorp meetup is back on the 13th of October and will be held at the Holburn Sainsbury office with the usual beers and pizza on offer! Agenda: 6.30pm – Arrive, beers socialising 7pm – Talk 1 – Brett Mack, Consultant @ OpenCredo […]

View All Past Events Read More

Cassandra – The Good, The Bad and the Ugly Webinar Recording

October 10, 2016 | Cassandra

Cassandra – The Good, The Bad and the Ugly Webinar Recording

In the culmination of our blog series on the topic, on October 6th 2016 OpenCredo Consultants Dominic Fox, Alla Babkina and Guy Richardson, and hosted by Marco Cullen, presented the common design and implementation issues that they have come across in real-world Apache Cassandra deployments.

Read More Read More

[Past event] Webinar: Cassandra – The Good, the Bad and the Ugly

Hear from OpenCredo’s experts in this live Webinar working through best practise and common sense approaches to building out a successful Cassandra cluster, gained through experience working with clients in designing and deploying Cassandra across a wide range of business domains. Learn from them how you can make the very best of your cluster in a real world setting. […]

View All Past Events Read More

Announcing GOTO Accelerate 2016: Business Strategy, Situational Awareness and Innovation

October 4, 2016 | Software Consultancy

Announcing GOTO Accelerate 2016: Business Strategy, Situational Awareness and Innovation

As many of you know, OpenCredo are part of the global Trifork family, and as such have access to the combined knowledge and experience of many technology and business leaders throughout the group. Getting public access to all of this expertise and technical leadership can be tricky – until now. GOTO Accelerate is a one-day business focused conference that has emerged from the very successful GOTO technology events.

Read More Read More

Common Problems with Cassandra Tombstones

September 27, 2016 | Cassandra, Data Engineering

Common Problems with Cassandra Tombstones

If there is one thing to understand about Cassandra, it is the fact that it is optimised for writes. In Cassandra everything is a write including logical deletion of data which results in tombstones – special deletion records. We have noticed that lack of understanding of tombstones is often the root cause of production issues our clients experience with Cassandra. We have decided to share a compilation of the most common problems with Cassandra tombstones and some practical advice on solving them.

Read More Read More

Simulating GitHub OAuth2 Login for Tests with JUnit, Webdriver & Hoverfly: Record, Sanitise, Playback and Assert

September 21, 2016 | DevOps

Simulating GitHub OAuth2 Login for Tests with JUnit, Webdriver & Hoverfly: Record, Sanitise, Playback and Assert

Sometimes, it can be difficult to write automated tests for parts of your application due to complexities introduced by an external dependency. It may be flaky or have some sort of rate limiting, or require sensitive information which we don’t want to expose outside of our production environment. To get around this, teams might take the approach of manually stubbing the service or using mocks – but the former is tedious and error prone, whereas the latter doesn’t test collaboration at all.

Read More Read More

How Not To Use Cassandra Like An RDBMS (and what will happen if you do)

September 15, 2016 | Cassandra

How Not To Use Cassandra Like An RDBMS (and what will happen if you do)

Cassandra isn’t a relational database management system, but it has some features that make it look a bit like one. Chief among these is CQL, a query language with an SQL-like syntax. CQL isn’t a bad thing in itself – in fact it’s very convenient – but it can be misleading since it gives developers the illusion that they are working with a familiar data model, when things are really very different under the hood.

Read More Read More

Patterns of Successful Cassandra Data Modelling

September 6, 2016 | Cassandra

Patterns of Successful Cassandra Data Modelling

A growing number of clients are asking OpenCredo for help with using Apache Cassandra and solving specific problems they encounter. Clients have different use cases, requirements, implementation and teams but experience similar issues. We have noticed that Cassandra data modelling problems are the most consistent cause of Cassandra failing to meet their expectations. Data modelling is one of the most complex areas of using Cassandra and has many considerations.

Read More Read More

New Blog Series: Cassandra – What You May Learn the Hard Way

August 26, 2016 | Cassandra

New Blog Series: Cassandra – What You May Learn the Hard Way

At OpenCredo we have been working with Cassandra since 2012 and we are big fans of both open source Apache Cassandra and the capabilities of DataStax Enterprise. Over the years we have collected a great deal of experience throughout the company on how to deliver the benefits of Cassandra in real world projects and have also seen some common pitfalls that businesses have fallen into.

Read More Read More

Kubernetes from scratch to AWS with Terraform and Ansible (part 3)

August 26, 2016 | Kubernetes

Kubernetes from scratch to AWS with Terraform and Ansible (part 3)

This post is the last of a series of three tutorial articles introducing a sample, tutorial project, demonstrating how to provision Kubernetes on AWS from scratch, using Terraform and Ansible. To understand the goal of the project, you’d better start from the first part.

Read More Read More

Kubernetes from scratch to AWS with Terraform and Ansible (part 2)

August 26, 2016 | Kubernetes

Kubernetes from scratch to AWS with Terraform and Ansible (part 2)

This post is the second of a series of three tutorial articles introducing a sample, tutorial project, demonstrating how to provision Kubernetes on AWS from scratch, using Terraform and Ansible. To understand the goal of the project, you’d better start from the first part.

Read More Read More

Kubernetes from scratch to AWS with Terraform and Ansible (part 1)

August 26, 2016 | Kubernetes

Kubernetes from scratch to AWS with Terraform and Ansible (part 1)

This post is the first of a series of three tutorial articles introducing a sample, tutorial project, demonstrating how to provision Kubernetes on AWS from scratch, using Terraform and Ansible.

Read More Read More

Fulfilling the promise of Apache Cassandra performance

August 24, 2016 | Cassandra

Fulfilling the promise of Apache Cassandra performance

At OpenCredo we are seeing an increase in adoption of Apache Cassandra as a leading NoSQL database for managing large data volumes, but we have also seen many clients experiencing difficulty converting their high expectations into operational Cassandra performance. Here we present a high-level technical overview of the major strengths and limitations of Cassandra that we have observed over the last few years while helping our clients resolve the real-world issues that they have experienced.

Read More Read More

[Past event] CTO’s in London Meetup

Join us at the first CTO’s in London Meetup on the 11th of August!   We are pleased to announce that our Managing Director, Jean-Marie Ferdgeue and our Chief Scientist, Daniel Bryant will be presenting at the first CTO’s in London Meetup organised by OliverBernard. The meetup will be held at the Funding Circle offices, starting […]

View All Past Events Read More

[Past event] Software Circus London Kick Off!

Join us at the Software Circus London Kick Off and see OpenCredos Principle Consultants presentation on ‘The Seven Deadly Sins of Microservices.’

View All Past Events Read More

Microservices Manchester (#micromanchester) Conference Recap

July 8, 2016 | Microservices

Microservices Manchester (#micromanchester) Conference Recap

OpenCredo recently co-organised the first Microservices Manchester event with OliverBernard recruitment, and it was a resounding success. Over 100 people showed up at the Victoria Warehouse near Manchester’s trendy Salford Quays for a day discussing the realities of implementing microservice systems.

Read More Read More

[Past event] Microservices Manchester

OpenCredo is going North with Microservices Manchester! We are super excited to announce ourselves as Event Partners and organisers of Microservices Manchester. It will be held on the 5th of July 2016 and is a free single day two-track conference. Microservices Manchester is specifically designed for technical implementers and decision makers who wish to better understand […]

View All Past Events Read More

Key Takeaways from the DevOps Enterprise Summit (#DOES16) EU Conference

July 3, 2016 | DevOps

Key Takeaways from the DevOps Enterprise Summit (#DOES16) EU Conference

Several of us from the OpenCredo team were in attendance at the inaugural EU edition of the DevOps Enterprise Summit conference. We have been big fans of the two previous US versions, and have watched the video recordings of talks (2014, 2015) with keen interest as many of our DevOps transformation clients are very much operating in the ‘enterprise’ space.

Read More Read More

[Past event] Devops Enterprise Summit – DOES16

OpenCredo is going to Devops Enterprise Summit! We’re proud to announce that we will be sponsoring Devops Enterprise Summit

View All Past Events Read More

Many improvements in Java 8 API for Akka

June 24, 2016 | Software Consultancy

Many improvements in Java 8 API for Akka

Akka has been designed with a Java API from the very first version. Though widely adopted, as a Java developer I think Akka has been mainly a Scala thing… until recently. Things are changing and Akka is moving to a proper Java 8 support.

Read More Read More

You Are Ignoring Non-­functional Testing

June 15, 2016 | Software Consultancy

You Are Ignoring Non-­functional Testing

It’s as simple as that – and as a consultant, it’s a problem I see all the time. Testing is always focused on functional testing. Non-functional testing, by comparison, is treated like a second class citizen. This means that functional requirements get refined, and non-functional requirements are ignored until the very end.

Read More Read More

[Past event] ContainerSched 2016 – The Container & Scheduler Conference

Taking place on the 8th and 9th of June in the heart of London at CodeNode, ContainerSched 2016 will focus on the current interest around both containers and schedulers, exploring the core technologies and associated areas of interest such as networking, storage and security.

View All Past Events Read More

The Seven Heavenly Virtues a Project Manager needs

June 7, 2016 | Software Consultancy

The Seven Heavenly Virtues a Project Manager needs

In my previous blog post I explained to you the Seven Deadly Sins of Project Managers. With that post in mind, I would like to share with you my views on what a project manager needs to overcome these sins and become a valuable member of the team, and ultimately helping to achieve success on the project.

Read More Read More

The Destructor Pattern

June 3, 2016 | Software Consultancy

The Destructor Pattern

Complexity warning

In this post, I’m going to take something extremely simple, unfold it into something disconcertingly complex, and then fold it back into something relatively simple again. The exercise isn’t entirely empty: in the process, we’ll derive a more powerful (because more generic) version of the extremely simple thing we started with. I’m describing the overall shape of the journey now, because programmers who don’t love complexity for its own sake often find the initial “unfolding” stage objectionable, and then have trouble regarding the eventual increase in fanciness as worth the struggle.

Read More Read More

Introducing KubeFuse: A File System for Kubernetes

May 31, 2016 | Kubernetes

Introducing KubeFuse: A File System for Kubernetes

Do you ever wake up and think to yourself: oh geez, Kubernetes is awesome, but I wish I could browse and edit my services and replication controllers using the file system? No? Well, in any case, this is now possible.

Read More Read More

The Seven Deadly Sins of Project Managers

May 27, 2016 | Software Consultancy

The Seven Deadly Sins of Project Managers

People make mistakes. People can improve. People need to be told of their mistakes. Surprisingly project managers are people too… I know… in some cases it is really hard to believe it; and then they can improve too! Shocking! I have more than 15 years working in IT, occupying different roles from software development to project management in three different countries. I’ve seen really bad project managers and some really good project managers; Yes, they DO exist!

Read More Read More

Complex Kotlin

May 25, 2016 | Software Consultancy

Complex Kotlin

In this post I’m going to demonstrate the implementation of Complex, a Kotlin class handling complex numbers, which uses operator overloading to provide the usual arithmetic operations for those numbers. In the process, I’ll also demonstrate a Kotlin pattern which I call “complicit conversion”, and show how to implement complicit conversion between two types: Double and Complex.

Read More Read More

Concursus: Event Sourcing for the Internet of Things

May 10, 2016 | Data Engineering, White Paper

Concursus: Event Sourcing for the Internet of Things

In this technical report, we present Concursus, a framework for developing distributed applications using CQRS and event sourcing patterns within a modern, Java 8-centric, programming model. Following a high-level survey of the trends leading towards the adoption of these patterns, we show how Concursus simplifies the task of programming event sourcing applications by providing a concise, intuitive API to systems composed of event processing middleware.

Read More Read More

The Concursus Programming Model: Kotlin

April 29, 2016 | Software Consultancy

The Concursus Programming Model: Kotlin

In this post, I’ll demonstrate an alternative API which uses some of the advanced language features of the new Kotlin language from Jetbrains. As Kotlin is a JVM-based language, it interoperates seamlessly with Concursus’s Java 8 classes; however, it also offers powerful ways to extend their functionality.

Read More Read More

The Concursus Programming Model: Under the Hood

April 29, 2016 | Software Consultancy

The Concursus Programming Model: Under the Hood

In the previous two posts (part 1, and part 2), we looked at how Concursus uses method mapping to generate events from method calls on proxies, and to dispatch events to matching methods on event handlers and state class instances. This approach provides a concise, convenient client API to the Concursus event system; however the core of the system defines events and event-handling mechanisms without reference to any of the reflection-based machinery used to implement this API. It is perfectly possible (if comparatively cumbersome) to use a Concursus event store to read and write events without using reflection. In this post I’ll show how this is done, continuing with the “lightbulb” example introduced previously.

Read More Read More

The Concursus Programming Model: State

April 28, 2016 | Software Consultancy

The Concursus Programming Model: State

In a conventional RDBMS-with-ORM system, we are used to thinking of domain objects as mapped to rows in database tables, and of the database as a repository where the current state of every object exists simultaneously, so that what we get when we query for an object is the state that object was in at the time the query was issued. To perform an update, we can start a transaction, retrieve the current state of the object, modify it, save it back again and commit. Transactions move the global state of the system from one consistent state to another, so that the database transaction log represents a single, linear history of updates. We are therefore able to have a very stable, intuitive sense of what it means to talk about the “current state” of any domain object.

Read More Read More

The Concursus Programming Model: Events

April 27, 2016 | Software Consultancy

The Concursus Programming Model: Events

Concursus is an open source Java 8 framework for building distributed systems using CQRS and event sourcing patterns. One of its major differences from other such frameworks (such as Jdon, Axon and ES4J) is that it eschews a programming model where each event type is represented by a separate Java class, instead mapping event types to methods on interfaces.

 

Read More Read More

Test Automation Concepts – Test Data and Aliases

April 5, 2016 | Software Consultancy

Test Automation Concepts – Test Data and Aliases

This post is part of a series which introduce 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 Read More

Securing Terraform state with Vault

April 2, 2016 | Terraform Provider

Securing Terraform state with Vault

When it comes to automating the creation of infrastructure in cloud providers, Terraform (version at time of writing 0.6.14) has become one of my core go to tools in this space. It provides a fantastic declarative approach to describing the resources you want, and then takes care of making it so for you, keeping track of the state in either a local file or a remote store of some sort. Various bits of sensitive data is often provided as input to terraform.

Read More Read More

Test Automation Concepts – Automated email testing

March 29, 2016 | Software Consultancy

Test Automation Concepts – Automated email testing

Raise your test coverage with automated email testing

Acceptance test suites generally are used for UI and API testing, and we have covered both these approaches in our Test Automation Quickstart project. However, an application may, for example, send registration or expiration warning emails. Often, tests related to this are left to manual testing, instead of putting them into an automated test suite.

However, there’s no need to check emails manually: it suffers from all the same problems as other manual testing. It’s slow, expensive, and inconsistent. There are many libraries available to interact with email through code – this post will focus on how to use them within an automated test suite.

Read More Read More

Easy API Simulation with Hoverfly JUnit Rule

March 17, 2016 | Software Consultancy

Easy API Simulation with Hoverfly JUnit Rule

In order to be able to regularly release an application, your automated tests must be set up to give you fast and reliable feedback loop. If bugs are only found during a long and expensive multi-service or end-to-end test run, it can be a hinderance to fast delivery. Unfortunately I have often seen this problem in development environments: a huge suite of clunky, flaky and slow end-to-end tests which test the full functionality of the application as opposed to being more lightweight and reflecting basic user journeys. This produces the “ice cream cone” anti-pattern of test coverage, where unit tests aren’t providing the kind of coverage and feedback they need to.

Read More Read More

[Past event] HashiConf EU 2016

HashiConf is the chance to share and gain knowledge about delivering applications at scale! This year we are happy to announce that OpenCredo is sponsoring the HashiConf EU 2016, with our Lead Consultant Nicki Watt also presenting! Bringing together the most passionate HashiCorp users in Amsterdam, the conference will run consecutively over three full days from the 13th […]

View All Past Events Read More

Test Automation Concepts – Parallel test execution

March 14, 2016 | Software Consultancy

Test Automation Concepts – Parallel test execution

Test automation provides fast feedback on regressions. In order to achieve this tests need to execute quickly, something which becomes more of a problem as test suites grow. This is especially true of tests which exercise a user interface where the interaction with the system is slower.

A good way to address this is to have your tests execute in parallel rather than consecutively. Given sufficient resources this allows your execution time to remain low almost indefinitely as more scenarios are added to the suite.

Read More Read More

[Past event] Hyper CaaS, Kubernetes/Google and Service Virtualisation Meetup!

Join us this Thursday at the OpenCredo Head Office in London for the Hyper CaaS, Kubernetes/Google and Service Virtualisation Meetup!

View All Past Events Read More

Product Development Is Science

March 7, 2016 | DevOps

Product Development Is Science

Businesses exist to make money; their purpose isn’t just to generate revenue, but to create profits, now and in the future. Generating profits means delivering products or services that people want to buy. The creation of what people want is the entire purpose of delivery pipelines. (NB: The rest of this article will use ‘product’ to refer to both products and services.)

Read More Read More

React/Redux boilerplate

March 3, 2016 | Software Consultancy

React/Redux boilerplate

In this post, I’ll be sharing some React/Redux boilerplate code that Vince Martinez and I have been developing recently. It’s primarily aimed at developers who are familiar with the React ecosystem, so if you are new to React and/or Redux, you might like to have a look at Getting Started with React and Getting Started with Redux.

Read More Read More

Kotlin: a new JVM language you should try

March 3, 2016 | Software Consultancy

Kotlin: a new JVM language you should try

JetBrains (the people behind IntelliJ IDEA) have recently announced  the first RC for version 1.0 of Kotlin, a new programming language for the JVM. I say ‘new’, but Kotlin has been in the making for a few years now, and has been used by JetBrains to develop several of their products, including Intellij IDEA. The company open-sourced Kotlin in 2011, and have worked with the community since then to make the language what it is today.

Read More Read More

Is it Time for Your ‘Microservices Checkup’?

March 2, 2016 | DevOps, Microservices

Is it Time for Your ‘Microservices Checkup’?

Many of our clients are currently implementing applications using a ‘microservice’-based architecture. Increasingly we are hearing from organisations that are part way through a migration to microservices, and they want our help with validating and improving their current solution. These ‘microservices checkup’ projects have revealed some interesting patterns, and because we have experience of working in a wide-range of industries (and also have ‘fresh eyes’ when looking at a project), we are often able to work alongside teams to make significant improvements and create a strategic roadmap for future improvements.

Read More Read More

Versioning a Microservice System with git

March 2, 2016 | Microservices

Versioning a Microservice System with git

Microservice-style software architectures have many benefits: loose coupling, independent scalability, localised failures, facilitating the usage of polyglot data persistence tools or multiple programming languages.

However, they also introduce other challenges. A major one is the fact that the end-user functionality of the system will ultimately emerge as a composition of multiple services. This significantly increases the complexity of deploying the system. In addition, because we lose the concept of “versions” of the system, it becomes harder to answer questions like “what capabilities are in production?” and “when is a new feature considered ‘done’?”.

Read More Read More

First London HashiCorp User Group Event

[Past event] London HashiCorp User Group Meetup #1

OpenCredo is excited to announce the new London HashiCorp User Group, with founder and CEO of HashiCorp, Mitchell Hashimoto presenting at the first meetup!

View All Past Events Read More

DevOps and IT Operations

January 29, 2016 | DevOps

DevOps and IT Operations

DevOps is 2016’s tech holy grail – unified development and operations, both working to deliver what the business needs, quickly, reliably, and adaptably. Done well, DevOps transforms the way organisations work; it helps break down barriers between tech teams, and between technology and the rest of the business. Good DevOps is the antidote to increasing segmentation and specialisation within companies. With the promised benefits, is it any wonder that senior managers are pushing for it in organisations spanning all sizes and industries?

Read More Read More

Hazelcast and Spring-managed Transactions: A Sample Integration

January 26, 2016 | Data Engineering

Hazelcast and Spring-managed Transactions: A Sample Integration

In this second post about Hazelcast and Spring, I’m integrating Hazelcast and Spring-managed transaction for a specific use case: A transactional Queue. More specifically, I want to make the message polling, of my sample chat application, transactional.

Read More Read More

[Past event] Java Community Meetup

Come along and see the Consultant’s Guide to Consulting Craftily in DevOps by OpenCredos’ Daniel Bryant. Have the chance to learn how the Crafty Consultant makes his money by consulting craftily in DevOp!

View All Past Events Read More

[Past event] London μServices (Microservices) User Group

Building for the cloud with Microservices can be an excellent way to modularise. Join for OpenCredos, Bart Spaans discussion on microservices and service discovery.

View All Past Events Read More

[Past event] London μServices (Microservices) User Group

Microservices, People and Business Reating and maintaining a Microservices architecture can’t be done in a vacuum. It requires buy in from many levels of an organisation which can be anything from changing development processes to enable modular delivery, enabling the larger deployment and monitoring setup needed. Other areas of the business outside the technical may also need, or […]

View All Past Events Read More

[Past event] GOTO Conference Amsterdam

For Team Leaders, Architects and Project Managers Working Within Software GOTO Conference Amsterdam is a practitioner-driven enterprise software development conference designed for team leads, architects, and project management and is organised “for developers by developers”. As software developers and architects ourselves, we wanted to craft the ultimate conference. With a 360 degree perspective, GOTO conferences always present new […]

View All Past Events Read More

[Past event] Software Circus London Kick Off!

Join us at the Software Circus London Kick Off and see OpenCredos Principle Consultants presentation on ‘The Seven Deadly Sins of Microservices.’

View All Past Events Read More

[Past event] Code Mesh 2015

Code Mesh 2015 brings together a wide range of alternative technologies and programming languages and the wonderful crazy people who use them to solve real-world problems.

View All Past Events Read More

[Past event] London OpenShift User Group

Beers, pizza, socialising and more beers, OpenCredo will be hosting the first OpenShift User Meetup. To join in, click here!

View All Past Events Read More

Akka Typed brings type safety to Akka framework

January 18, 2016 | Software Consultancy

Akka Typed brings type safety to Akka framework

Last time in this series I summarised all the Akka Persistence related improvements in Akka 2.4. Since then Akka 2.4.1 has been released with some additional bug fixes and improvements so perhaps now is a perfect time to pick up this mini-series and introduce some other new features included in Akka 2.4.x.

Read More Read More

Facebook’s React, and the Signal:Noise Ratio

January 15, 2016 | Software Consultancy

Facebook’s React, and the Signal:Noise Ratio

So, you’ve started to hear a lot about React, the Javascript library developed by Facebook, but is it something you need to investigate? It’s time to distil the signal from the noise, position React amongst its rivals, and provide an indication of where it currently would – and would not – be a suitable fit.

Read More Read More

The Seven Deadly Sins of Microservices (Redux)

January 8, 2016 | Microservices

The Seven Deadly Sins of Microservices (Redux)

Many of our clients are in the process of investigating or implementing ‘microservices’, and a popular question we often get asked is “what’s the most common mistake you see when moving towards a microservice architecture?”. We’ve seen plenty of good things with this architectural pattern, but we have also seen a few recurring issues and anti-patterns, which I’m keen to share here.

Read More Read More

Improving Flow

January 7, 2016 | DevOps, Software Consultancy

Improving Flow

Good consulting is, by its nature, an act of collaboration. We recently helped a company with a variety of challenges – some architecture, some coding, some systems, some people, some process (normal consultancy challenges) – unique to this client. During the project, we formalised some things we had thought before, but which had never crystallised – all the work we did was transformative. Whether it’s a code review, process review, DevOps implementation, or outright transformation, the primary goal is the same – improving flow. Flow (sometimes known as throughput) is the movement of raw materials through a system to become finished goods. It’s analogy in the service industry is the movement of customer requirements through to usable solution. And we help improve it.

Read More Read More

[Past event] BCS Software Practice Advancement Talk: The Seven Deadly Sins of Microservices

Join Daniel for a brief introduction to the topic of microservices, and also a tour of the nastiest sins (anti-patterns) he has seen in his journey as a consultant on the 6th of April at BCS London.

View All Past Events Read More

CloudCredo acquired by Pivotal
The Risk of DevOps Tools: Automated Failure

December 16, 2015 | Cloud, DevOps

The Risk of DevOps Tools: Automated Failure

The Promise of DevOps Tools

In the rush to embrace DevOps, many organisations seek out tools to help them achieve DevOps nirvana; the magical tools that will unify Development and Operations, stop the infighting, and ensure collaboration. This search for tools to solve problems exists in many domains, but seems particularly prevalent in IT (it may be real, or a reflection of my exposure to IT). The temptation to embrace new tools as a panacea is high, because the problems in IT seem so pervasive and persistent.

Read More Read More

[Past event] OOP Konferenz

The Conference for Software Architectures, with many outstanding sessions, tracks, and keynotes, covering the essentials of modern software development.

View All Past Events Read More

[Past event] Deploying HashiCorp Vault for Secure Cloud Deployments Webinar

Listen to a user case story by OpenCredo: Boot my (secure) (gov) cloud and find out more about Vault from HashiCorp.

View All Past Events Read More

[Past event] µCon 2015

Join us at µCon 2015, the conference on Microservices, REST, dddesign & SOA. Network, share and learn with world leading architects and microservices experts.

View All Past Events Read More

[Past event] Scala Exchange 2015

Scala Exchange is Europe’s largest community conference on Scala. The world’s leading experts from around the world will be travelling to London to give insights and share skills with Europe’s growing Scala community.

View All Past Events Read More

Defining DevOps (and Driving the Transformation)

December 1, 2015 | DevOps

Defining DevOps (and Driving the Transformation)

I was privileged to be invited to speak on the topic of “Defining DevOps” by the London Technology Transformation Network, alongside a long-time friend and Devoxx conference contributor Dan Hardiker. I had a great time presenting at the event, and the questions and feedback we received after the main talks was superb – I took away lots to think about, and I believe the audience did too.

Read More Read More

(Spring) Booting Hazelcast

December 1, 2015 | Software Consultancy

(Spring) Booting Hazelcast

This post introduce some of the basic features of Hazelcast, some of its limitations, how to embed it in a Spring Boot application and write integration testings. This post is intended to be the first of a series about Hazelcast and its integration with Spring (Boot). Let’s start from the basics.

Read More Read More

RAML 1.0 promotes reusability and standardisation

November 25, 2015 | Microservices

RAML 1.0 promotes reusability and standardisation

In May a 1.0 release of RAML (RESTful API Markup Language) has been announced delivering a few much welcome additions in the RAML 1.0 specification. This major release marks an important milestone in the evolution of RAML and indicates the team behind the specification is confident this release delivers the comprehensive set of tools for developing RESTful APIs. I’ve been using RAML 0.8 for several months now and have enjoyed the simplicity and productivity it offers for designing and documenting APIs. I must say I’m quite pleased with the changes introduced in the new release and would like to review those I consider particularly useful.

Read More Read More

Webinar invite: Deploying HashiCorp Vault for secure cloud deployments
The Business Behind Microservices (Redux)

November 24, 2015 | DevOps, Microservices

The Business Behind Microservices (Redux)

It was once again a privilege to present at the annual ‘muCon 2015‘ microservices conference held in London (at the shiny new Skillsmatter CodeNode venue). Based on feedback fro talks I gave earlier in the year, I presented a completely new version of my ‘The Business Behind Microservices‘ talk, which focuses on the organisational and people side of implementing a microservice-based application.

Read More Read More

Ruby Web Acceptance Testing Framework

November 23, 2015 | Software Consultancy

Ruby Web Acceptance Testing Framework

Over a year ago, my colleague Tristan posted on the OpenCredo blog about a test automation quick start framework. It’s a prepackaged framework you can clone and get going with testing instantly, rather than wasting your time rebuilding your framework every single project. We have used this framework successfully used on many of our internal projects, and it relies upon a Java, Cucumber-JVM and Selenium stack.

Read More Read More

Reusing ansible roles with private git repos and dependency management

November 4, 2015 | Software Consultancy

Reusing ansible roles with private git repos and dependency management

Writing reusable roles for Ansible is not an easy task but one that’s worth doing. This post should walk you through the basics of writing reusable roles with dependencies backed by public and private git repositories.

Read More Read More

JavaOne: Debugging Java Applications Running in Docker

November 3, 2015 | Software Consultancy

JavaOne: Debugging Java Applications Running in Docker

My JavaOne experience was rather busy this year, what with three talks presented in a single day! The first of these talks “Debugging Java Apps in Containers: No Heavy Welding Gear Required” was delivered with my regular co-presenter Steve Poole, from IBM, and we shared our combined experiences of working with Java and Docker over the past year.

Read More Read More

Implementing HAL hypermedia REST API using Spring HATEOAS

November 1, 2015 | Microservices

Implementing HAL hypermedia REST API using Spring HATEOAS

To use or not to use hypermedia (HATEOAS) in a REST API, to attain the Level 3 of the famous Richardson Maturity Model. This is one of the most discussed subjects about API design.
The many objections make sense (“Why I hate HATEOAS“, “More objections to HATEOAS“…)
. The goal of having fully dynamic, auto-discovering clients is still unrealistic (…waiting for AI client libraries).

However, there are good examples of successful HATEOAS API. Among them, PayPal.

Read More Read More

JavaOne: Building a Microservice Development Ecosystem (Video)

October 31, 2015 | Microservices

JavaOne: Building a Microservice Development Ecosystem (Video)

Microservices: Some Assembly Required

Over the past few weeks I’ve been writing an OpenCredo blog series on the topic of “Building a Microservice Development Ecosystem”, but my JavaOne talk of the same title crept up on me before I managed to finish the remaining posts. I’m still planning to finish the full blog series, but in the meantime I thought it would be beneficial to share the video and slides associated with the talk, alongside some of my related thinking. I’ve been fortunate to work on several interesting microservice projects at OpenCredo, and we’re always keen to share our knowledge or offer advice, and so please do get in touch if we can help you or your organisation.

Read More Read More

JavaOne: Thinking Fast and Slow with Software Development

October 30, 2015 | Software Consultancy

JavaOne: Thinking Fast and Slow with Software Development

Think More About Thinking…

Having completed my marathon 3-talks-in-one-day at JavaOne on Wednesday, I’m now in a position to share all of the slides and supporting material. First up is the content associated with my “Thinking Fast and Slow with Software Development” talk. I’ve already blogged about an earlier version of this presentation on the OpenCredo blog, and so won’t go into more detail here. However, I will include the video recording (thanks to the JavaOne team for this!), the latest version of the slides, and a much requested reading list!

Read More Read More

Shadow IT

October 30, 2015 | Cloud, DevOps

Shadow IT

In some companies, the inevitable rapidly became accepted as the way to do things, and both development and IT operations worked together to figure out how to collaborate on building systems that satisfied development’s desire for change, and operations desire for stability. Outsourcing infrastructure, and all it implied, gave rise to Devops – the unification of business needs, developer delivery, and operational capacity – but it also gave rise to something else, in companies where the operations teams weren’t quite as quick to move – Shadow IT.

Read More Read More

What’s new in Akka Persistence 2.4

October 28, 2015 | Software Consultancy

What’s new in Akka Persistence 2.4

Let’s have a quick look at the most interesting changes and new features that are now available to Akka users. As there are many new features to highlight in the new Akka release I will focus on those related to Akka Persistence first and cover other areas in a separate post.

Read More Read More

Our Thoughts on DevOps and Cloud at JAX London

October 18, 2015 | Cloud, DevOps

Our Thoughts on DevOps and Cloud at JAX London

DevOps, Cloud and Microservices: “All Hail the Developer King/Queen”

Last week Steve Poole and I were once again back at the always informative JAX London conference talking about DevOps and the Cloud. This presentation built upon our previous DevOps talk that was presented last year, and focused on the experiences that Steve and I had encountered over the last year (the slides for our 2014 “Moving to a DevOps” mode talk can be found on SlideShare, and the video on Parleys).

Read More Read More

Join us at the Inaugural ContainerSched Conference

October 16, 2015 | Software Consultancy

Join us at the Inaugural ContainerSched Conference

Interested in Containers and Schedulers?

OpenCredo is helping Skillsmatter with the organisation of the inaugural ContainerSched conference, and we were last night in attendance at CodeNode, working our way to finalising the program alongside the Skillsmatter team. I’m pleased to say that the provisional lineup looks great (speaker acceptance emails are being sent out over the next few days), and so I wanted to share the details of some of the great content we have confirmed already.

Read More Read More

DevOps is Transformative

October 12, 2015 | DevOps

DevOps is Transformative

The Pre-DevOps Environment

DevOps is transformative. This (hopefully) won’t be true forever, but it is for now. While the modern management practices of separating development and operations (and to a lesser extent, everyone else) prevail, the tearing down of the walls that separate them will remain transformative. In company after company, management and front-line staff are coming to realise that keeping functions separate, which are inherently interdependent, is a model for blame, shifted responsibility, and acrimony. It’s easy to divvy-up a company up based on function. To many people, it seems the most logical way to do it. Ops does operations, Dev does development, Marketing markets, etc. It seems much harder to do it any other way. So why do it?

Read More Read More

The curse of correlation

October 7, 2015 | Software Consultancy

The curse of correlation

How correlated estimates make prediction in IT hard.

It’s well known that predicting how long a project/task will take in IT is hard. In this post I’ll address one aspect of this (correlation) and ask what insights a data science perspective can give us about how correlations can make prediction difficult. I’ll explain the problems that correlation poses, give some practical advice for teams & project managers and investigate possible innovations to tooling that might improve matters.

Read More Read More

Introduction to Akka Streams – Getting started

October 1, 2015 | Data Engineering

Introduction to Akka Streams – Getting started

Going reactive

Akka Streams, the new experimental module under Akka project has been finally released in July after some months of development and several milestone and RC versions. In this series I hope to gently introduce concepts from the library and demonstrate how it can be used to address real-life stream processing challenges.

Akka Streams is an implementation of the Reactive Streams specification on top of Akka toolkit that uses actor based concurrency model. Reactive Streams specification has been created by the number of companies interested in asynchronous, non-blocking, event based data processing that can span across system boundaries and technology stacks.

Read More Read More

The Underrated Value of Listening

September 24, 2015 | Software Consultancy

The Underrated Value of Listening

Unhappy Staff

You’ve implemented a change in how things work, and people aren’t happy. You spent time investigating the problem, and putting serious thought into what the issue was, and you’ve put a fix in place that you were sure people would be happy with. They aren’t. Why not?

Read More Read More

The Business Behind Microservices Webinar (Video and Slides)

September 24, 2015 | Microservices

The Business Behind Microservices Webinar (Video and Slides)

Unless you’ve been living under a (COBOL-based) rock for the last few years, you will have no doubt heard of the emerging trend of microservices. This approach to developing ‘loosely coupled service-oriented architecture with bounded contexts’ has captured the hearts and minds of many developers. The promise of easier enforcement of good architectural and design principles, such as encapsulation and interface segregation, combined with the availability to experiment with different languages and platforms for each service, is a (developer) match made in heaven.

Read More Read More

Change is coming to IT

September 21, 2015 | DevOps

Change is coming to IT

The drive for change comes from, everywhere. Within IT departments, developers are asking for more control, and want faster response times than can be provided by traditional gatekeeper IT services. Management hears about new technologies allowing more rapid deployments, better ROI, reduction in costs, increased efficiency, and increased scalability, and they want it for their customers. On top of that, systems age, technologies lose their lustre, and technical debt builds up, while it simultaneously gets harder to recruit people from a shrinking talent pool, all of which creates a case for change from within the technology itself.

Read More Read More

Microservice Platforms: Some Assembly [Still] Required. Part Two

September 20, 2015 | Microservices

Microservice Platforms: Some Assembly [Still] Required. Part Two

Working Locally with Microservices

Over the past five years I have worked within several projects that used a ‘microservice’-based architecture, and one constant issue I have encountered is the absence of standardised patterns for local development and ‘off the shelf’ development tooling that support this. When working with monoliths we have become quite adept at streamlining the development, build, test and deploy cycles. Development tooling to help with these processes is also readily available (and often integrated with our IDEs). For example, many platforms provide ‘hot reloading’ for viewing the effects of code changes in near-real time, automated execution of tests, regular local feedback from continuous integration servers, and tooling to enable the creation of a local environment that mimics the production stack.

Read More Read More

“The Business Behind Microservices” – Upcoming Webinar

September 18, 2015 | Microservices

“The Business Behind Microservices” – Upcoming Webinar

Microservices: Organisation, Architectural and Operational Challenges

We’re pleased to begin our series of OpenCredo webinars with “The Business Behind Microservices”, which takes a look at the some of the business and organisational challenges that come along with the decision to implement microservices.

Read More Read More

SaltStack – Using Consul as an External Pillar Source

September 14, 2015 | DevOps, Hashicorp, Open Source

SaltStack – Using Consul as an External Pillar Source

Recently I was working on a project that was using SaltStack for configuration management and Consul for service discovery. It occurred to me that using Consul’s key/value store would be great place to store data needed for my Salt runs, but unfortunately Consul was not supported in SaltStack as an official data store at that point in time. Being an open source project however, this provided an excellent opportunity to contribute back and this blog post looks to provide some details on how this works, as well as a practical demo on how you can take advantage of Consul as an external data store.

Read More Read More

Terraform Infrastructure Design Patterns

September 14, 2015 | Cloud, DevOps

Terraform Infrastructure Design Patterns

If you are operating in the programmable infrastructure space, you will hopefully have come across Terraform, a tool from HashiCorp which is primarily used to manage infrastructure resources such as virtual machines, DNS names and firewall settings across a number of public and private providers (AWS, GCP, Azure, …).

Read More Read More

Software Circus: Thinking Fast and Slow with Software Development

September 13, 2015 | DevOps

Software Circus: Thinking Fast and Slow with Software Development

Making Good Decisions within Software

Last week I was privileged to be able to present my “Thinking Fast and Slow with Software Development” talk at the inaugural Software Circus conference in Amsterdam. The conference was amazing, and I’ll write more about this later, but in this post I was keen to share the presentation slides and the thinking behind this talk…

Read More Read More

[Past event] Software Circus 2015

Imagine half way between a software conference and a music festival and you’re going in the right direction. Think amazing speakers, circus tents, BBQs, live music and craft beers at the spectacular location ‘Roest’ in the center of Amsterdam!

View All Past Events Read More

Microservice Platforms: Some Assembly [Still] Required. Part One

August 26, 2015 | Cloud

Microservice Platforms: Some Assembly [Still] Required. Part One

The challenges of building and deploying microservices

Unless you’ve been living under a rock for the last year, you’ll undoubtedly know that microservices are the new hotness. An emerging trend that I’ve observed is that the people who are actually using microservices in production tend to be the larger well-funded companies, such as Netflix, Gilt, Yelp, Hailo etc., and each organisation has their own way of developing, building and deploying.

Read More Read More

Lambda memoization in Java 8

August 19, 2015 | Software Consultancy

Lambda memoization in Java 8

Memoization is a technique whereby we trade memory for execution speed. Suppose you have a function which

  • Is costly to execute.
  • Always returns the same output for the same input.
  • May be called many times with the same input.

In this scenario, it may make sense to “remember” the output returned for each distinct input in a hash map, and replace function execution with a lookup in the hash map.

Read More Read More

New Tricks With Dynamic Proxies In Java 8 (part 3)

August 18, 2015 | Software Consultancy

New Tricks With Dynamic Proxies In Java 8 (part 3)

In this post, the last in the New Tricks With Dynamic Proxies series (see part 1 and part 2), I’m going to look at using dynamic proxies to create bean-like value objects to represent records. The basic idea here is to have some untyped storage for a collection of property values, such as an array of Objects, and a typed wrapper around that storage which provides a convenient and type-safe access mechanism. A dynamic proxy is used to convert calls on getter and setter methods in the wrapper interface into calls which read and write values in the store.

Read More Read More

ContainerSched 2015 – Call for Papers Now Open!

August 16, 2015 | Kubernetes

ContainerSched 2015 – Call for Papers Now Open!

ContainerSched 2015

ContainerShed 2015Over the last few years there has been exponential growth in the interest of containers and schedulers – technology such as Docker, rkt, Mesos, and Kubernetes are now commonplace within the IT domain, and with the rise of microservices, these technologies are set to become even more popular. Skillsmatter are keen to drive forward the discussions and knowledge sharing within this area of technology, and have created a conference focused exclusively on containers and schedulers: ContainerSched!

Read More Read More

Designing a REST API with fine-grained resources, HATEOAS and HAL

August 12, 2015 | Microservices

Designing a REST API with fine-grained resources, HATEOAS and HAL

Over the last few months one of my main projects at OpenCredo has involved creating various microservices which are interacted with via REST. We’ve been working with a relatively rich domain model, which in turn has presented a lot of challenges in how to design our various resources. This blog post aims to summarise various techniques and practices which I’ve found helpful in overcoming these challenges.

Read More Read More

Boot my (secure)->(gov) cloud

August 10, 2015 | Cloud, Software Consultancy

Boot my (secure)->(gov) cloud

As a company, we at OpenCredo are heavily involved in automation and devOps based work, with a keen focus on making this a seamless experience, especially in cloud based environments. We are currently working within HMRC, a UK government department to help make this a reality as part of a broader cloud broker ecosystem project. In this blog post, I look to provide some initial insight into some of the tools and techniques employed to achieve this for one particular use case namely:
With pretty much zero human intervention, bar initiating a process and providing some inputs, a development team from any location, should be able to run “something”, which, in the end, results in an isolated, secure set of fully configured VM’s being provisioned within a cloud provider (or providers) of choice.

Read More Read More

The Past, Present and Future of Kubernetes

August 7, 2015 | Kubernetes

The Past, Present and Future of Kubernetes

Learning about the benefits of Kubernetes from the Kismatic Team

As part of my writing for InfoQ, I recently had the pleasure of sitting down and chatting with Joseph Jacks and Patrick Reilly from Kismatic Inc, a company offering enterprise Kubernetes support, and asked about their thoughts on the recent Kubernetes v1.0 launch, the history of the project, and how this container orchestration platform may impact the future of microservice deployment.

Read More Read More

GOTO London 2015 “Agile, Lean and Rugged”
#MesosCon comes to Europe
Building a Google analytics dashboard with Python3, Tornado and deploying it on OpenShift (for free)

August 5, 2015 | Data Analysis, Data Engineering

Building a Google analytics dashboard with Python3, Tornado and deploying it on OpenShift (for free)

A few weeks ago, we thought about building a Google analytics dashboard to give us easy access to certain elements of our Google Analytics web traffic. We saw some custom dashboards for bloggers, but nothing quite right for our goal, since we wanted the data on a big screen for everyone in the office to view.

Read More Read More

ContainerSched: The Container & Scheduler Conference – Call for Papers

July 28, 2015 | Microservices

Documenting REST APIs – a tooling review

Recently I co-presented a talk at Goto Amsterdam on lessons learnt whilst developing with a Microservices architecture; one being the importance of defining and documenting your API contracts as early as possible in the development cycle. During the talk I mentioned a few API documentation tools that I’d used and, based on feedback and questions from attendees, I realised that this topic merited a blog post. So, the purpose of this is to introduce 5 tools which help with designing, testing and documenting APIs.

Read More Read More

New Tricks with Dynamic Proxies in Java 8 (part 2)

July 14, 2015 | Software Consultancy

New Tricks with Dynamic Proxies in Java 8 (part 2)

Building simple proxies

In the previous post I introduced Java dynamic proxies, and sketched out a way they could be used in testing to simplify the generation of custom Hamcrest matchers. In this post, I’m going to dive into some techniques for implementing proxies in Java 8. We’ll start with a simple case, and build up towards something more complex and full-featured.

Read More Read More

New Tricks with Dynamic Proxies in Java 8 (part 1)

July 13, 2015 | Software Consultancy

New Tricks with Dynamic Proxies in Java 8 (part 1)

Why Use Dynamic Proxies?

Dynamic proxies have been a feature of Java since version 1.3. They were widely used in J2EE for remoting. Given an abstract interface, and a concrete implementation of that interface, a call to some method on the interface can be made “remote” (i.e. cross-JVM) by creating two additional classes. The first, a “marshalling” implementation of the interface, captures the details of the call in the source JVM and serializes them over the network. The second, an “unmarshalling” endpoint, receives the serialized call details and dispatches the call to an instance of the concrete class on the target JVM.

Read More Read More

A deep dive into Angular 2.0

July 8, 2015 | Software Consultancy

A deep dive into Angular 2.0

I was quite excited around autumn last year when Google started to work on a new version of Angular (Angular 2.0) which promised to revolutionise web development. There were rumours that Angular 2.0 wouldn’t be backward compatible with its predecessor, and would be written in Google’s AtScript which is a JavaScript based language on top of Microsoft’s TypeScript. The lack of backwards compatibility raised some concerns, especially for the clients that we had used Angular at. But, lets not get ahead of ourselves here….

Read More Read More

The business behind microservices: Exploring the organisational, architectural and operational challenges
Asynchronous Cloud bootstrapping with Terraform, Cloud-Init & Puppet

June 23, 2015 | Cloud, DevOps, Terraform Provider

Asynchronous Cloud bootstrapping with Terraform, Cloud-Init & Puppet

Working with OpenCredo clients, I’ve noticed that even if you are one of the few organisations that can boast ‘Infrastructure as Code’, perhaps it’s only true of your VMs, and likely you have ‘bootstrap problems’. What I mean by this, is that you require some cloud-infrastructure to already be in place before your VM automation can go to work.

Read More Read More

Speaker Deck: Things I wish I’d known before I started with Microservices
Watch ‘Elastic Analytics with Spark, Mesos and Docker’

May 13, 2015 | Software Consultancy

Watch ‘Elastic Analytics with Spark, Mesos and Docker’

Listen to Brenden Matthews discuss Elastic Analytics with Spark, Mesos and Docker as filmed at the most recent London Mesos User Group Meetup.

In this talk, Brenden Matthews discusses how he provided elastic analytics to Airbnb and how the Mesosphere DCOS can easily bring the same type of infrastructure to your own environments.

Read More Read More

Round up from the Kubernetes London meetup / Vol.2
Join the London Mesos User Group to find out more about Elastic Analytics
Locally Developing Micro-Services with Docker Compose

March 11, 2015 | Microservices

Locally Developing Micro-Services with Docker Compose

Docker ComposeOne of the pain points experienced with developing microservices is that it often proves too cumbersome to replicate an environment for local development. This usually means the first time an application talks to its “real” dependencies is when it gets deployed to a shared testing environment. A relatively laborious continuous integration process usually precedes this deployment, making our feedback cycle longer than we would like. In this post I describe a workflow that aims to improve that, using Docker and Docker Compose (formerly known as fig).

Read More Read More

Supporting the G-Cloud 6 framework …
How to Write Your Own Apache Mesos Framework?

February 16, 2015 | Software Consultancy

How to Write Your Own Apache Mesos Framework?

Apache Mesos is often explained as being a kernel for the data-centre; meaning that cluster resources (CPU, RAM, …) are tracked and offered to “user space” programs (i.e. frameworks) to do computations on the cluster.

Read More Read More

Traits with Java 8 Default Methods

January 30, 2015 | Software Consultancy

Traits with Java 8 Default Methods

When I first started programming in Scala a few years ago, Traits was the language feature I was most excited about. Indeed, Traits give you the ability to compose and share behaviour in a clean and reusable way. In Java, we tend deal with the same concerns by grouping crosscutting behaviour in abstract base classes that are subsequently extended every time we need to access shared behaviour in part or in total.

Read More Read More

Visit us at QCon London 2015
Neo4j in Action

December 21, 2014 | Publications

Neo4j in Action

Neo4j in Action is a comprehensive guide to designing, implementing, and querying graph data using Neo4j. Using hands-on examples, you’ll learn to model graph domains naturally with Neo4j graph structures. The book explores the full power of native Java APIs for graph data manipulation and querying.

Read More Read More

What’s the point of Test Automation?

November 21, 2014 | White Paper

What’s the point of Test Automation?

In our latest white paper we cover the high level fundamentals of test automation, discuss the primary problems test automation solves and take a look at the steps required to implement this within your development process – all aimed at improving software delivery.

Read More Read More

November 19, 2014 | Microservices

The 7 Deadly Sins of Microservices

Undeniably, there is a growing interest in microservices as we see more organisations, big and small, evaluating and implementing this emerging approach. Despite its apparent novelty, most concepts and principles underpinning microservices are not exactly new – they are simply proven and commonsense software development practices that now need to be applied holistically and at a wider scale, rather than at the scale of a single program or machine. These principles include separation of concerns, loose coupling, scalability and fault-tolerance.

Read More Read More

Test Automation Framework – Quick start

November 4, 2014 | Software Consultancy

Test Automation Framework – Quick start

When starting a project, teams often spend their time re-inventing the ‘automated testing wheel’.  While every project has it’s own challenges and every team it’s own needs, many things exist as common requirements of a flexible test automation framework.

This post introduces an effective Java test framework that can be used to quickly get started with test automation on a Java project.

Read More Read More

October 23, 2014 | Cassandra

Spring Data Cassandra Overview

Spring Data Cassandra (SDC) is a community project under the Spring Data (SD) umbrella that provides convenient and familiar APIs to work with Apache Cassandra.

Read More Read More

Experiences with Spring Boot

February 24, 2014 | Cloud Native, Microservices

Experiences with Spring Boot

Last year some of us attended the London Spring eXchange where we encountered a new and interesting tool that Pivotal was working on: Spring Boot. Since then we had the opportunity to see what it’s capable of in a live project and we were deeply impressed.

Read More Read More

New features in Cassandra 2.0 – Lightweight Transactions on Update

February 17, 2014 | Cassandra

New features in Cassandra 2.0 – Lightweight Transactions on Update

In our previous posts we gave an overview of Cassandra’s new compare-and-set (lightweight transaction) commands and a more detailed look into the API for using them when inserting new rows into the database.

In this third post, we are going to cover update statements. We recommend reading the previous posts, as there are some details which are the same for inserts and updates which are not repeated here.

Read More Read More

Cucumber Android vs Appium with cucumber jvm

January 28, 2014 | Software Consultancy

Cucumber Android vs Appium with cucumber jvm

A while ago I published this blog post about writing tests for mobile applications using Appium and cucumber-jvm.

In this post, I will look at an alternative approach to testing an Android native application using Cucumber-Android.

Throughout the post I will draw comparisons between Appium and Cucumber-Android, the goal being to determine the best approach for testing an android application using Cucumber. I will focus on the ease of configuration and use, speed of test runs and quality of reporting.

Read More Read More

First impressions: Cucumber Pro

January 7, 2014 | Software Consultancy

First impressions: Cucumber Pro

Cucumber Pro from a technical point of view

The team over at Cucumber Pro recently posted a sneak peek on their blog, demonstrating some key features of their offering.

As more of a technical user of Cucumber, there isn’t much that’s new or ground-breaking for me – almost every feature is already available through your preferred IDE combined with a few plugins.

Read More Read More

New features in Cassandra 2.0 – Lightweight Transactions on Insert

January 6, 2014 | Cassandra

New features in Cassandra 2.0 – Lightweight Transactions on Insert

The team over at Cucumber Pro recently posted a sneak peek on their blog, demonstrating some key features of their offering.

As more of a technical user of Cucumber, there isn’t much that’s new or ground-breaking for me – almost every feature is already available through your preferred IDE combined with a few plugins.

Read More Read More

Object Graph Mapping / GraphConnect videos
New features in Cassandra 2.0 – More on Lightweight Transactions

December 2, 2013 | Cassandra

New features in Cassandra 2.0 – More on Lightweight Transactions

Perhaps the most important of Cassandra’s selling points is its completely distributed architecture and its ability to easily extend the cluster with virtually any number of nodes. Implementing a classical RDBMS-style transaction consisting of “put locks on the database, modify the data, then commit the transaction”-style operations are simply not feasible in such an architecture (i.e. that doesn’t scale well).

Read More Read More

GOTO Conferences. NoSQL Roadshow on surviving data in large doses
New features in Cassandra 2.0 – Lightweight Transactions and Triggers

November 14, 2013 | Cassandra

New features in Cassandra 2.0 – Lightweight Transactions and Triggers

Cassandra 2.0 was released in early September this year and came with some interesting new features, including “lightweight transactions” and triggers.

Despite the rising interest in the various non-relational databases in recent years, there are still numerous use-cases for which a relational database system is a better choice. The latest major release of Cassandra (version 2.0) provides some interesting features that aim to close this gap, and offers its fast and distributed storage engine enhanced with new options that will make users’ lives easier.

Read More Read More

Validating your test strategy

November 6, 2013 | Software Consultancy

Validating your test strategy

In many organisations, development and test teams have a ready answer for this, and that answer is usually wrong. Commonly, teams use test counts and code coverage statistics, which alone are not enough to validate a test approach and run the risk of giving a false sense of security to stakeholders. In practice, we are not able to fully prove the efficacy of our test strategy until after a release. Once software is in use, new defects highlight where our tests are failing to validate the software and where we need to invest effort to improve coverage. This is where many teams fail to learn and improve.

Read More Read More

Tareq Abedrabbo will talk at NoSQL Roadshow London 2013 on Designing Applications for the Data World
Cross platform test automation with Appium, WebDriver and Cucumber-JVM

September 19, 2013 | Software Consultancy

Cross platform test automation with Appium, WebDriver and Cucumber-JVM

This post will give an overview of mobile testing using Appium. We will integrate tests for a native Android application into an existing Cucumber-JVM based set of acceptance tests and demonstrate multi platform testing from a single set of BDD scenarios. The sample code for this can be found here.

Read More Read More

Configuration Management with Flexible Contexts

August 2, 2013 | Software Consultancy

Configuration Management with Flexible Contexts

Configuration management was born in the pre-cloud era. Remember the days when acquiring a super powerful multi core server felt like winning the jackpot? Infrastructure was a slightly different place back then. Yet for all the recent developments in DevOps, its legacy is still with us.

Read More Read More

Big Data Webinar now available to view
Spring Data Hadoop – Contextual Analysis

July 4, 2013 | Software Consultancy

Spring Data Hadoop – Contextual Analysis

In which situations Spring Data Hadoop (SDH) can add value, and in which situations would it be a poor choice? This article follows on from an objective summary of the features of SDH.

Read More Read More

Running Cucumber JVM tests in parallel

July 2, 2013 | Software Consultancy

Running Cucumber JVM tests in parallel

This blog post will address the issue of slow test runs when using Cucumber JVM with web automation tools such as WebDriver to perform acceptance testing on a web application.

If your team is using continuous integration this becomes especially noticeable, forcing teams to either wait for acceptance tests to complete before deploying or having to ignore the bulk of the tests.

The sample code and description in this post will show you how to convert your suite to running tests in parallel, something which has historically been problematic with unanswered questions and outstanding Cucumber-JVM bugs on the subject. Tying the described approach in with Selenium Grid2 will allow you distribute your testing across several machines if your suite is especially large or slow.

Read More Read More

Spring Data Hadoop – Objective Overview

June 30, 2013 | Software Consultancy

Spring Data Hadoop – Objective Overview

Spring Data Hadoop (SDH) is a Spring offshoot project that allows the invocation and configuration of Hadoop tasks within a Spring application context. It offers support for Hadoop jobs, HBase, Pig, Hive, Cascading and additionally JSR-223 scripting for job preparation and tidy-up.

It is most suited for use in organisations with existing Spring applications or investment in Spring expertise. Some SDH features replicate functionality of tools in the Hadoop ecosystem that DevOps engineers who maintain a Hadoop cluster will be more familiar with.

 

Read More Read More

Graph Cafe London
Ospero Partners With VMware And CloudCredo
Model Matters: Graphs, Neo4j and the Future

February 25, 2013 | Neo4j

Model Matters: Graphs, Neo4j and the Future

As part of our work, we often help our customers choose the right datastore for a project. There are usually a number of considerations involved in that process, such as performance, scalability, the expected size of the data set, and the suitability of the data model to the problem at hand.

This blog post is about my experience with graph database technologies, specifically Neo4j. I would like to share some thoughts on when Neo4j is a good fit but also what challenges Neo4j faces now and in the near future.

Read More Read More

Ospero Partners With VMware And CloudCredo On Cloud Solutions That Accelerate Developer Productivity
Withstanding the test of time – Part 2

February 19, 2013 | Software Consultancy

Withstanding the test of time – Part 2

How to create robust tests for Spring based applications

This blog post continues on from Part 1 which discussed types of tests and how to create robust tests. Part 2 will examine techniques to help whip a test suite in to shape and resolve common issues that slow everything down. The approaches in this post will focus on spring based applications, but the concepts can be applied to other frameworks too.

Read More Read More

Introducing CloudCredo!
API Testing with Cucumber

February 4, 2013 | Software Consultancy

API Testing with Cucumber

This API will in future be used by a mobile client and by third parties, making it important to verify that it is functionally correct as well as clearly documented.

An additional requirement in our case is for the tests to form a specification for the API to allow front and back end developers agree on the format in advance. This is something that BDD excels at, making it natural to continue to use Cucumber. This post will focus on the difficulties of attaining the appropriate level of abstraction with Cucumber while retaining the technical detail required for specification.

Read More Read More

A dive into saltstack

January 10, 2013 | DevOps

A dive into saltstack

Recently I have started looking into SaltStack as a solution that does both config management and orchestration. It is a relatively new project started in 2011, but it has a growing fanbase among Sys Admins and DevOps Engineers. In this blog post I will look into Salt as a promising alternative, and comparing it to Puppet as a way of exploring its basic set of features.

Read More Read More

The factors pushing many organisations towards Continuous Delivery with Infrastructure as Code and what’s next…

January 7, 2013 | Software Consultancy

The factors pushing many organisations towards Continuous Delivery with Infrastructure as Code and what’s next…

The practice of continuous integration in which build servers are used to build and perform testing of code is now widespread and mainstream.

While not all teams have adopted continuous integration effectively, its increasing adoption has led many to start to look for additional opportunities to improve the cost, quality and speed of delivery with which software targeted to meet business needs can be released into production environments.

Traditionally Continuous Integration addresses the question of “does the software build and pass our unit and integration test suites?”. This is often insufficient.

Read More Read More

Withstanding the test of time

December 18, 2012 | Software Consultancy

Withstanding the test of time

The first thing most people think of when they start a project with the good intentions of test driven development is: write a test first. That’s great, and something I would fully encourage. However, diving in to writing tests without forethought, especially on large projects with a lot of developers can lead to new problems that TDD is not going to solve. With some upfront thinking (but not big upfront design!) a large team can avoid problems later down the line by considering some important and desirable traits of a large and rapidly changing test suite.

Read More Read More

Overriding Puppet resources with class inheritance

October 25, 2012 | DevOps

Overriding Puppet resources with class inheritance

A common issue with Puppet manifests is a clash of resource definitions that appears in the Puppet log file as: ‘Duplicate definition: File[resource-name] is already defined; cannot redefine at…’

This issue is likely to occur when building a service stack from reusable Puppet modules and you try to alter a resource that has already been defined in modules that the service depends on.

Building a service from reusable Puppet modules has a couple of benefits. It saves you time when you don’t have to write new modules every time you build a new service. It also improves the quality when you build your service from modules that are trusted, tried and tested.

Read More Read More

Spring Integration in Action is now available
Deploying Neo4j Graph Database Server across AWS regions with Puppet

August 16, 2012 | Neo4j

Deploying Neo4j Graph Database Server across AWS regions with Puppet

neo4jIt’s been more than a year now since I rolled out Neo4j Graph Database Server image in Amazon EC2.

In May 2011 the version of Neo4j was 1.3 and just recently guys at Neo Technology published version 1.7.2 so I thought now is the time to revisit this exercise and make fresh AMIs available.
Last year I created Neo4j AMI manually in one region then copied it across to the remaining AWS regions. Due to the size of the AMI and the latency between regions this process was slow.

Read More Read More

Recording of Neo4J webinar in The Trenches
Neo4J in the trenches webinar Thursday the 14th June
Neo4J In Action Now Available Through Manning Early Access Program
Neo4J Tales from the Trenches: A Recommendation Engine Case Study @ Skills Matter eXchange
Esper Extensions – Implementing Custom Aggregation Function

March 21, 2012 | Software Consultancy

Esper Extensions – Implementing Custom Aggregation Function

Event processing Language (EPL) enables us to write complex queries to get the most out of our event stream in real time, using SQL-like syntax.

EPL allows us to use full power of aggregation of the high volume event stream to get required results with the minimal latency. In this blog we are going to explore some aspects of numerical aggregation of data with high precision BigDecimal values. We will also demonstrate how you can add you own aggregation function to Esper engine and use them in EPL statements.

Read More Read More

Deploying Lift Applications to Cloud Foundry

February 15, 2012 | Cloud

Deploying Lift Applications to Cloud Foundry

As part of a recent project, I have been working on a number of Scala/Lift applications that we are hosting on a private Cloud Foundry instance.

In this blog post I would like to talk about some practical aspects of developing and deploying Lift applications to Cloud Foundry.

Out of the box, Cloud Foundry is able to run simple Lift applications smoothly. Things however become more interesting if your application needs to talk to one of the available services on Cloud Foundry, such as a relational or a NoSql store.

Read More Read More

48 hours – The Pursuit of Proper Performance

February 13, 2012 | Software Consultancy

48 hours – The Pursuit of Proper Performance

Recently we were approached by a client to do some performance testing of the web application they had written. The budget allowed two days for this task. Ok. No problem. Yes, we can. Naturally I had one or another question though…

Read More Read More

A Simple Introduction to Complex Event Processing – Stock Ticker End-to-End Sample

February 8, 2012 | Data Analysis, Data Engineering

A Simple Introduction to Complex Event Processing – Stock Ticker End-to-End Sample

Most of the important players in this space are large IT corporations like Oracle and IBM with their commercial (read expensive) offerings.

While most of CEP products offer some great features, it’s license model and close code policy doesn’t allow developers to play with them on pet projects, which would drive adoption and usage of CEP in every day programming.

Read More Read More

Practical behaviour driven development – Maintainable Acceptance Tests

February 3, 2012 | Software Consultancy

Practical behaviour driven development – Maintainable Acceptance Tests

Behaviour driven development (BBD)

Creating maintainable acceptance test

In this post we will look at the creation of a suite of maintainable acceptance tests, identifying some key issues as encountered on real projects and suggesting solutions.This post assumes some knowledge of behaviour driven development (BDD). If you are new to this concept, I’d recommend Dan North’s blog as a starting point, particularly his post introducing the concept of BDD.The idea of human readable acceptance testing championed by BDD enthusiasts is one that continues to grow in popularity, and it’s easy to see why.

Read More Read More

Neo4j Super Nodes and Indexed Relationships, Part II

November 4, 2011 | Neo4j

Neo4j Super Nodes and Indexed Relationships, Part II

 Neo4j Super Nodes

In the previous post we compared the performance of fetching relationships from densely populated nodes using Neo4j native store and using lucene index.

We’ve seen that we can fetch the small subset of relationships from a super-node (containing ~1M relationships in total) directly from the Lucene index, the performance of the first run (cold-caches) is better then using the Neo store directly. The subsequent runs with caches warmed up show comparable performance, slightly in favor of direct Neo store fetching, sue to low level cache optimizations.

Read More Read More

Neo4j: Super-Nodes and Indexed Relationships, Part I

June 3, 2011 | Neo4j

Neo4j: Super-Nodes and Indexed Relationships, Part I

Neo4J is one of the first graph databases to appear on the global market. Being open source, in addition to its power and simplicity in supporting graph data model it represents good choice for production-ready graph database.

However, there has been one area I have struggled to get good-enough performance from Neo4j recently – super nodes.

Read More Read More

Russ Miles and Jonas Partner Speak at JAX London 2011