I recently decided to build a desktop app to download and archive all my Google Photos. I’m really paranoid about loosing all my pics. Google had a few options but they all had their problems.

If you want to use the app to download and archive all your Google Photos you can download it here OSX and here WIN.

I decided to use Electron and React. This stack was really fun to work on and the application turned out nice.

In this blog I’ll share my setup and discuss a few gotchas I ran into.

I leveraged these blogs when…

Quickly spin up a headless Wordpress CMS on AWS using Docker

Credit — https://www.superdesk.org/news/headless-cms

Headless CMS is very popular at the moment. But what is a headless CMS and why should I start using one?

A headless CMS is a backend that is decoupled from its frontends. The backend is where the content is created and published. Whereas the frontends are where the content is displayed (web, mobile apps, set-top box, Alexa, etc…).

For example, a traditional CMS is a single website. The same website is used to add the content as it is to display the content. The backend and frontend are coupled.

A headless CMS is only used to created and publish…

Is a dev shop, agency, friend, or an offshore team building your product?

If you answered yes, then this article may help you.

Photo by Glenn Carstens-Peters on Unsplash

I recently spoke with a few non-technical founders who were having their products built by others.

I noticed a trend, and my advice to these founders was always the same, so I decided to write it down in hopes that it might help you.

Here are the issues I noticed and the advice I gave.

Own the code

Some of the founders I spoke with didn’t know where their code was and had never seen it. One founder couldn’t even retrieve it from their last developer.

✔ It is important to own and…

Now that AWS EKS is generally available its time to give it a try…

I’ve been using AWS Elastic Container Service (ECS) for a few years now and absolutely love Docker and container management. Rolling deployments, Microservices, CI/CD pipelines, etc… What’s not to love?

Kubernetes seems to be the big winner in Container Management though… and now that AWS EKS is generally available it might be time to give it a try.

So that’s what I did.

In this tutorial I will show you how to quickly spin up an AWS EKS Kubernetes cluster using CloudFormation.

Here is the code:

First lets get the EKS cluster up and then we can deploy…

Check out this awesome Serverless Stack with built-in CI/CD and Blue-Green Deployments

I love building CloudFormation stacks, crazy I know… I also love serverless event-driven architectures, who doesn’t…

I wanted to create a reusable stack that I could easily use to build web applications.

The stack consists of an API, UI, and Async Tasks. This isn’t the cool part.

The cool part is the built-in CI/CD via CodePipeline and Blue-Green deployments of Lambda.

CI/CD and Blue-Green deployments are very important for the stability and health of an application. It is important to deliver often and fail fast.


The code. Check it out, run it, and let me know what you think…



Wouldn’t it be great to just check in your infrastructure and code changes and they get deployed automatically?

Back in October I posted the Services Stack. The Services Stack is a collection of CloudFormation templates, to create a microservices application on AWS. If you haven’t seen it already please go check it out.

After posting the Services Stack I got a lot of great feedback, mostly all good ;). Turns out what was missing was Continuous Integration and Continuous Deployment (CI/CD).

I’ve gone back and added these features and am happy to share them with you today. And without further delay, here is the code…


Everything is a pipeline

I use CodePipeline to continuously update all the CloudFormation…

A Product Hunt Hackathon Build

Continuous Integration for Serverless Functions

I recently built FunctionCI as part of the Product Hunt Global Hackathon to solve a pain point I was having with AWS Lambdas. Specifically with Continuous Integration, deployments, and audit trails. Before I dive too deep into FunctionCI let me explain what Continuous Integration and Serverless Lambda functions are.

Continuous Integration

Continuous Integration is the process of merging, building, testing, and packaging your code on every source control commit.

This is important because it helps catch merge errors quickly.

It can also help in auditing. If your CI tool associates the source control commit ID with the build artifact, you can know…

Quickly spin up a microservices stack on AWS

What is a microservice?

The microservice architectural style [1] is an approach to developing a single application as a suite of small services, each running in its own process and communicating with lightweight mechanisms, often an HTTP resource API. These services are built around business capabilities and independently deployable by fully automated deployment machinery. There is a bare minimum of centralized management of these services, which may be written in different programming languages and use different data storage technologies. Credit Martin Fowler

If you are new to microservices please read Martin Fowler’s article in its entirety.

What is a stack?

A stack is a collection of AWS resources…

AWS Lambda, API Gateway, S3, Event-Driven Tasks

What is serverless?

Serverless architectures refer to applications that significantly depend on third-party services (knows as Backend as a Service or “BaaS”) or on custom code that’s run in ephemeral containers (Function as a Service or “FaaS”), the best known vendor host of which currently is AWS Lambda. Credit Martin Fowler

What is a stack?

A stack is a collection of AWS resources that you can manage as a single unit. In other words, you can create, update, or delete a collection of resources by creating, updating, or deleting stacks. All the resources in a stack are defined by the stack’s AWS CloudFormation template.

What is the Serverless Stack?

The serverless stack

CIM takes the pain out of Infrastructure as Code and CloudFormation!

CIM is a simple command line utility that bootstraps your CloudFormation CRUD operations, making them easier to execute, repeatable, and less error-prone. CIM separates out the stack template (YAML file) from the stack configuration (CLI options) so both can be stored safely in your project and executed again-and-again for stack updates.

CIM is not a CloudFormation abstraction. Writing CloudFormation templates directly, in the YAML format, is the best practice anyway.

So what’s the problem? Why did you build CIM? The problem I was having was with the AWS CloudFormation cli and remembering the exact cli options used in previous executions…

Randy Findley

Software Engineer & Entrepreneur

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