Announcing the newest Neo4j and AWS Partner Solution

My post on the neo4j blog explains how to get up and running with Neo4j using the AWS partner solution. AWS Partner Solutions (formerly known as AWS Quick Start) are pre-configured reference deployments that work seamlessly with Amazon Web Services (AWS) and follow AWS’s recommended design practices. They provide customers with a variety of deployment options for managing their workloads on AWS. Neo4j’s AWS Partner Solution for AWS is a quick and easy way to deploy a fully-managed Neo4j cluster on the AWS platform....

February 24, 2023 · Ed Randall

Creating a Hugo Website

This post describes how I got this website up and running using Hugo, on cloudflare pages. Install Hugo To install hugo, follow the instructions on the hugo website. If you’re on a mac (and have homebrew installed) the simplest way is: brew install hugo With hugo installed the next stage is to create the new site, which is done locally. The following commands will create the framework for the new website....

January 30, 2023 · Ed Randall

EC2 Instances in Private Subnets behind an application LoadBalancer

Recently, I had to re-visit an old architectural challenge in AWS that I came across a couple of years ago but couldn’t quite remember how to resolve: EC2 instances which have no public IP address (residing in a private subnet) which can accept requests from (and serve responses back to) the internet. The motivation for this particular topology is security focused: The EC2 instances cannot be directly addressed via the internet due to the absence of a public IP, but can serve (web, in this example) content over the internet using the load balancer....

January 26, 2023 · Ed Randall

Notes on Terraform Modules and Variables

In this post, I outline the steps needed to take an input from a terraform parent (or calling) module and pass it to a config file on a target EC2 instance. What are Terraform Modules? Using modules in terraform helps to organise and reuse code, allowing a module to be defined once and used many times. For example, a development team may want to quickly create and destroy a number of EC2 instances....

January 6, 2023

Creating subnets in AWS using terraform with 'count', 'join' and 'element'

The following code snippets show how to create three private subnets in AWS using terraform with ‘count’, ‘join’ and ’element’: To start with the following variables were declared and set: terraform.tfvars base_cidr_block = "192.168.0.0/16" node_count = 3 availability_zones = ["a", "b", "c"] variables.tf variable "base_cidr_block" { description = "The base of the address range to be used by the VPC and corresponding Subnets" } variable "availability_zones" { description = "A list containing 3 AZs" type = list(string) } variable "node_count" { description = "The number of ec2 instances to deploy" type = number } Three subnets are then created using a single resource block....

December 20, 2022 · Ed Randall

Setting up a home VPN using Wireguard on Mikrotik

I wanted to use create a VPN back to my home network which I could use on the road. The idea was that I could interact with resources on my home network but also have a secure tunnel which I could use if I was needed to use an untrusted WiFi hotspot when in hotels, coffee shops etc. I had previously implemented OpenVPN to do this, with the VPN server running on a small linux machine inside my home network....

December 20, 2022 · Ed Randall

4G backup connection for primary ISP

Like most people, my domestic ISP goes down sometimes. I work from home most of the time and the most common solution when this problem occurs is to ’tether’ a phone to use it’s 4G connection. This is OK, but a solution which allowed my entire home network to switch over to a backup internet connection would be much better… As well as my laptop maintaining a connection, movies could still be streamed (backup connection bandwith permitting) and IoT devices would keep working - you get the general idea....

December 19, 2022 · Ed Randall

Neo4j & Docker

This is a very quick script to get a single instance of neo4j running in a docker container. The username and password is set using the NEO4J_AUTH environment variable. #!/bin/bash # # Script: neo4j-docker.sh # Purpose: install neo4j container image after some simple environmentment prep # DOCKER=$(which docker) [ $? == 0 ] || { echo "ERROR: Check if docker is installed (and in your PATH)" ; exit 1; } DATA_DIR="$HOME/docker/neo4j-volumes/data" LOG_DIR="$HOME/docker/neo4j-volumes/logs" IMPORT_DIR="$HOME/docker/neo4j-volumes/import" PLUGINS_DIR="$HOME/docker/neo4j-volumes/plugins" RUNNING_CONTAINER=$($DOCKER ps -a | grep "neo4j:latest" | awk {'print $1'}) [ -z "$RUNNING_CONTAINER" ] || docker rm -f $RUNNING_CONTAINER [ -d $DATA_DIR ] && rm -rf $DATA_DIR/* || mkdir $DATA_DIR [ -d $LOG_DIR ] && rm -rf $DATA_DIR/* || mkdir $LOG_DIR [ -d $IMPORT_DIR ] && rm -rf $DATA_DIR/* || mkdir $IMPORT_DIR [ -d $PLUGINS_DIR ] && rm -rf $DATA_DIR/* || mkdir $PLUGINS_DIR $DOCKER run \ --name testneo4j \ -p7474:7474 -p7687:7687 \ -d \ -v $DATA_DIR:/data \ -v $LOG_DIR:/logs \ -v $IMPORT_DIR:/var/lib/neo4j/import \ -v $PLUGINS_DIR:/plugins \ --env NEO4J_AUTH=neo4j/test1234 \ neo4j:latest

March 11, 2022 · Ed Randall

The Internet of Behavior: What is it and how concerned should we be?

This is an article which I originally wrote for Rackspace Solve , in June 2021 The Internet of Things – a quick recap You no longer need to be a gadget aficionado or even an “early adopter” to be a regular user of Internet of Things (IoT) devices, or even understand what the IoT is. The number of “smart” devices that we use every day continues to steadily increase. Internet doorbells, connected cars, smart speaker devices, security systems and fitness trackers are a few examples of IoT devices that are now considered mainstream and used regularly in our everyday lives....

June 24, 2021 · Ed Randall

Are Employees Tired of the Workplace?

This is an article which I originally wrote for Rackspace Solve , in April 2021 It’s looking like offices may never be the same again. With permanent work-from-home policies being rolled out by the likes of Salesforce, Facebook and Microsoft, it’s looking like offices might never be the same again. Many businesses have closed office locations, adjusted their IT systems to support remote working, and, to their surprise, found they could operate just as well remotely....

April 6, 2021 · Ed Randall