AWS networking fundamentals: A simple guide for software engineers.

Have you ever been into the AWS console and been completely baffled about all the concepts and jargon? You’ve got: Security Groups, Inbound rules, VPC’s, Subnets, Internet Gateways, NAT, ENI’s and all of them are related to networking somehow. Put simply: there’s a lot to AWS networking. So if you’re going to break into it somehow you need to know what to focus on: the fundamentals.

Today we’re going to be going through the main networking components you should be familiar with in AWS. We’ll talk you through why you’d need the component, what it is and how you’d use it. Throughout the article we’ll be building up an example of running a web server in a public subnet as part of our own VPC.

By the end of this article you’ll understand the main networking concepts: Private IP’s, Virtual Private Cloud (VPC), Classless Inter Domain Routing (CIDR), Subnets, Internet Gateways and Security Groups and use these to implement a basic network design. 

3 Terraform Features to Help You Refactor Your Infrastructure Effortlessly

Ever created an app, like a website? You create the app and get everything working. But when you go to make a change the thought scares you to death.

Does this sound like you? I’ve been in that very same position, too. Writing code that’s flexible and malleable to change isn’t easy. When it comes to writing infrastructure that’s flexible that’s where a tool like Terraform can help us out.

Terraform

If you’re not already familiar with Terraform, don’t worry, you’re in safe hands! Terraform is an Infrastructure as Code  tool with some awesome features that allow us to write infrastructure code that’s flexible to change.

By the end of this article, you’ll understand what Terraform is, why it’s a great first infrastructure-as-code tool to learn and how the main features help you to write infrastructure that’s easy to refactor. 

4 Signs You Should Break Your App Into Microservices

Microservices have been talked about a lot in the last few years. And it’s commonly accepted practice that applications should start as monolithic applications before being broken down into Microservices. In fact that’s exactly how we made Splitoo.

Earlier in 2019 I made a commitment to improve some technical aspects of Splitoo. One of which aspect you could call Microservices. At Splitoo since we’re a small team, we made some fairly intuitive decisions to break down the application into Microservices based on some tell-tale signs that it needed it.

What we realised is that our decisions to break down the app came from getting more intuitive about the tell-tale signs that an application is getting too big, and could benefit from being broken down into microservices. And that’s what we’ll be talking about today.

By the end of this article you should know four tell-tale signs that an application could benefit from being architected with a Microservice approach.

Your personal AWS setup (and how to not get hacked)

Avoid huge bills and getting locked out of your account

In 2016 hackers compromised my personal AWS setup. Within a matter of hours I received an AWS bill for $3000 dollars 😱😱.😱.😱.

When you’re a Cloud Native Engineer one of the best ways we can learn is through experimenting directly on cloud platforms, like AWS. But, doing so can be fraught with difficulties if you’re not careful when you setup and use your cloud account. An incorrectly setup account is vulnerable to hackers and you could even end up with a massive bill!

By the end of this article you’ll know all the steps to take before accessing your AWS cloud account so that you can experiment and learn about AWS. 

The 6 Concepts You Need To Know Before Trying Serverless

What you need to know before building serverless applications with confidence.

So you’ve been hearing a lot about Serverless? Maybe you’ve started to see some tell-tale signs your app could be broken down into microservices?

Serverless is a really awesome technology in the realms of Cloud Native Software Engineering. But, it can be a bit of a hard concept to get your ahead around if you’re not already familiar with many concepts of serverless.

Serverless computing as a principle is fairly easy to understand. But in order to effectively work with Serverless there are some other concepts that you should know about before you get going. And today we’re going to cover some of these unknown unknowns for working with serverless.

Today we’re going to discuss the following 6 concepts you need to know in order to get going with Serverless: Cloud Provider Knowledge, Microservices, Distributed Systems, Deployments, Monitoring & Observability and Infrastructure as Code.

By the end of this article you should know the main concepts related to serverless and you should be confident in developing your own Serverless application!

Infrastructure As Code: A Quick And Simple Explanation.

One of the most essential topics when you’re a Cloud Native Software Engineer is a concept called Infrastructure as Code. Infrastructure As Code continues to be an essential topic for Cloud Native technology especially alongside concepts like Serverless.

Just like many concepts in technology, infrastructure as code sounds scary. But in reality it’s a simple concept that any software engineer (or would be software engineer) can easily understand. I promise. Once you get over the first few hurdles you’ll wonder why you didn’t explore it sooner.

By the end of this article you will understand what Infrastructure as Code is, why you need it and why you should ALWAYS create infrastructure in code and not manually. 

What is a Cloud Native Software Engineer?

And what it means for a Software Engineers Career.

Knowing just the basics of Software Engineering isn’t enough to thrive in today’s market. Many Software Engineers need to have drastically more knowledge of cloud platforms than they currently do.

Why? That’s today’s question. We’re going to be discussing what a Cloud Native Software Engineer is, why they exist, what their skills are and ultimately what that means for you as a Software Engineer.

By the end of this article you should know exactly what a Cloud Native Software Engineer is and why that matters for your career in Software Engineering.

ACloudGuru Review: AWS SysOps Exam Prep.

Have you thought about taking an AWS certification? If you have you might have stumbled across a learning platform called ACloudGuru?

I had thought about taking an exam for quite some time to help with various projects. But I finally got around to it and I’m currently about half way through my preparation for the AWS SysOps administrator exam using a site called ACloudGuru.

Today I wanted to talk you through some of my initial impressions using the ACloudGuru product and my motivations for taking an exam. Lastly I’ll give you some insight into the whole process to help you better understand if taking an AWS exam could be for you and whether ACloudGuru could help.

Setting up a REST API on Serverless Framework

Part 1: The Monolith to Serverless Series

Hello all and welcome to the first in an in-depth multi-part series on breaking down a monolithic application into a Cloud Native Lambda-based architecture!

Can you say #buzzword!?

Only kidding — we’ll be low on jargon but high on details today. I’ve not (yet) done a real series on this site, so I’m pretty excited!

By the end of this article you’ll know how to get setup and running with the Serverless Framework on AWS to create an HTTP Lambda-based API.

2018: A Year In Review

A look back over 2018, and a look forward to 2019.

Last year when I put out content around the new year about my plans I got a spike in traffic. I guess something about the personal nature of the post was attractive. Based on how much people seemed to like those posts, I thought I’d do another.

A round up of 2018 — and a goal set for 2019.