With the release of AWS AppSync we finally have the ability to create realtime serverless apps on AWS. Previously you were forced to spin up EC2 instances in order to create websocket connections as they are not supported by AWS Lambda.

In the tutorial you’ll learn how to build a simple GraphQL API using AWS AppSync. Then you’ll write a client app in vanilla javascript (no frameworks) that receives realtime updates via websockets. Let’s get started!

1. Setup

Go ahead and install the serverless framework cli which we will be using to deploy our AppSync GraphQL API and create a new directory…

My guide to building a GeoSearch GraphQL API using AWS Appsync & Elasticsearch has just been published on the Serverless Framework blog.

In the tutorial you’ll learn how to build a GraphQL location search service similar to AirBnB’s using a fully serverless stack on AWS. Check out the full article over at the Serverless Framework blog.

If you’re interested in learning more about AWS AppSync then find out more about the training course I offer.

Originally published at andrewgriffithsonline.com.

When you go to startup communities like r/startups or indie hackers you often see non-technical founders asking for advice about which tech they should use to build their app. Invariably these end up in flame wars about development languages and frameworks. For me, this is totally missing the point. Yes ensure you are using experienced, talented developers. But the language or frameworks they use matters far less than the cloud platform you build your foundations on. That platform should be serverless.

What is serverless?

Serverless1is the umbrella term for the new breed of cloud services which do not require management of servers by…

I’m going to step you through the process converting an existing Go API to serverless and deploying it to to AWS Lambda & API Gateway with AWS Severless Application Model (SAM). The whole process should take under 10 minutes. Let’s get started!

1. Setup

Our example API uses the HttpRouter package so let’s install that first.

$ go get github.com/julienschmidt/httprouter

We have a single HTTP handler defined that will return a 200 HTTP response with the body ok.

# handlers.go
package main
import "net/http"func HealthHandler(w http.ResponseWriter, r *http.Request) {

Our entrypoint to the application, the main function, attaches…

I’m going to demonstrate how to make a Flask app serverless without locking you into any tooling or cloud platforms. It doesn’t require any application code changes or serverless frameworks so you can continue to develop locally like you always have.

Ideally you should re-architect your application into small discrete functions to take full advantage of serverless. However, if you want to migrate a legacy application or just a quick way to get started with serverless then this is a good approach to take.

1. Create Flask Application
2. Make the Application Serverless
3. Package Application into Zip for Lambda
4. Deploy with…

This guide will take you through setting up a machine running ubuntu/debian as a lightning network node.

1. Install Bitcoind

$ sudo add-apt-repository -y ppa:bitcoin/bitcoin
$ sudo apt-get update
$ sudo apt-get install -y bitcoind

2. Install C-Lightning

c-lightning is blockstream’s lightning network daemon.

$ sudo apt-get install -y
\ autoconf automake build-essential git libtool libgmp-dev
\ libsqlite3-dev python python3 net-tools
$ cd /opt
$ git clone https://github.com/ElementsProject/lightning.git lightningd $ cd lightningd
$ make

3. Configure Bitcoind and C-Lightning

Create a file at ~/.lightning/config with the following contents.

# network=testnet # uncomment to run on testnet instead of mainnet

Create a file at ~/.bitcoin/bitcoin.conf with the following contents.

# testnet=1 #…

In this guide I’m going to walk you through making a payment using Bitcoin’s Layer 2 Lightning Network using testnet to demonstrate. We will be using the command line as I’ve found this to be the most reliable way to use the network and doing so gives you a deeper understanding of how the network operates.


You have access to a lightning node that: 1. is running bitcoind and lightningd and is synced to the testnet blockchain, 2. has blockstream’s c-lightning cli tool, lightning-cli, installed and accessible in its $PATH.

Check out my guide to setting up a lightning network…

Andrew Griffiths

Technology consultant helping companies build and scale using serverless technology https://andrewgriffithsonline.com/

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store