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.
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.
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…
If you answered yes, then this article may help you.
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.
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…
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?
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…
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…
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…
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 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…
The microservice architectural style  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.
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
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.
The serverless stack…
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.
Software Engineer & Entrepreneur