We have worn the developer hat to develop the blog API. We will now wear the operator hat to containerise and run our application on Kubernetes. I love everything beautiful, clean and simple. And the awesomeness just took on a whole new level. Go is not only a sleek and great language for development it appears to play very well with a good number of remarkable cloud native technologies too.

Lets containerise our application, push to docker hub. Clone the repository change directory into blogapi then run the commands below:

docker build -t blogapi:v1.0.0 . # to build an image off the Dockerfile
docker tag blogapi:v1.0.0 <dockerhub username>/blogapi:v1.0.0 # to tag the image for push to docker hub repository.
docker login # enter your docker hub account username and password
docker push <dockerhub username>/blogapi:v1.0.0

This is sort of a must write article for me as I wanted to signed off 2019 with some practical showcase of the beauty of Go. I will do my best to share a walk through of building a seemingly simple — even though nothing in software development is ever simple — blog API in Go.

API stands for Application Programming Interface the trendy way of exposing the functionalities of a given application such that other entity can tap into it in ways that enable them develop their own custom and unique programs. To illustrate with an example. Say I figured out one thousand interesting and unique features which has some visceral impact on humans when reading a particular article— please just think of anything abstract here. Now different entities may have various user interfaces and most likely didn’t want to go same route of developing these functionalities themselves but simply tap into my back-end. …

Image for post
Image for post

When I first set up a go local development environment while it didn’t feel so much of a hassle, the workspace was cluttered and I for one like everything clean and beautiful. I have not worked with so many programming languages but I can see that go draws largely from python. The zen of python, lots of keyword and primitive shows up here.

This will be a short but incisive read on getting started with go. I was particularly intentional about it and if you have a passion for DevOps I may suggest you pickup Golang. Let’s Dive In

To be sure that things worked fine. I have made a lot of assumption here. Amongst which are that you have an ubuntu distros or windows subsystem for linux with an ubuntu distro setup. And that you have installed visual studio code. Feel free to use any distro of your choice though and whichever editor clicks with you. …

Alot of persons whom I have either worked with or even heard me speak at any meetup or developers community would clearly identify with how passionate I am about everything HashiCorp and Kubernetes. Well what is there not to love about effective technologies doing the work efficiently. By the way I just have an unflinching attraction to everything beautiful and elegant — Python, Go, Terraform, Ansible … Hmmm I will stop at that so I do not bore you with my list. Oh! …

The sole purpose of every business is to serve a need, make profit and save cost in operations. One of the questions I am asked from attendees at my talks is “Why should I go the automation route?”. And I always respond with “A dozen reasons”. So DevOps is here and is no buzz. Companies are truly savouring the many benefits of doing software development using this methodology. Aside the culture and sharing tenets of DevOps. This methodology is strongly hinged on Automation and Measurement.

In Werner Vogel’s words everything fails all the time. Every operator must have had cases of fire fighting an incident which usually leaves them burned out. And ultimately deprive them from focusing on higher level tasks that adds value to them and the company — It is a constantly shifting domain, companies must stay relevant or risk packing up. …

One of the first component of the cloud we must understand to ensure success when moving to the cloud is the VPC — Virtual Private Cloud. Today’s businesses both small and large are migrating to the cloud and it has become very important to have a good understanding of key components and services to ensure a smooth transitioning and maximise the benefits of the cloud both from a cost and operational stance.

Planning, designing and implementing your cloud environment well is foundation to an operational excellence and cost effective systems. And with “services as code” as the new way of software delivery, unanimously accepted as a standard and best practice there is no reason not to describe your infrastructure and services as code. And if you just asked the gains for you and your company? …

An acquaintance rightly advised that while one may understand complex subjects, they must always strive to be clear and precise conveying same to another. For this walk-through we aimed to keep it simple, short and succinct.

Up until now operators, system administrator, and site reliability engineers carry out their tasks clicking through a graphical user interface or writing some scripts on the fly. Why always do the same thing prone to human error going through a procedure that could be automated? …

This will be a technical article for the review of Senior DevOps Engineers and Cloud Architects and a tutorial to the beginner seeking to fast track their transition into a DevOps Career Path.

The modern approach to software development and delivery has evolved into an automated process I love to call service as code. There is so much buzz about DevOps, Cloud Computing and Infrastructure as a Code (IAC). I seek to showcase a walk through of delivering software in an automated fashion.

The toolkit we will be using include:

  1. Vagrant — The tool for creating our development environment
  2. AWS — The cloud platform on which to provision the resources. …

You finally launched a cloud account on AWS and now you have access to dozens of services they offer through your root user — which is the registered email address and password you signed up with. However it is best not to give access to everyone in your organisation with this root user. Thus the need to create different users with different permissions and privileges.

In this technical article we will create an Administrative User with permissions to all the managed AWS services. Let’s Begin:

Log onto https://aws.amazon.com and sign with you earlier created root account.

Click on “My Account” and choose the “AWS Management Console” from the drop down menu. Once you have signed in with your root user and password type “iam” in the search bar and select the suggested result. …

Cloud Computing has become so prevalent in today’s technology that companies and individuals are said to be in the stone age if they are not yet exploiting the potentials of the cloud.

But what is cloud computing? It is simply a conglomeration of computing resources — routers, network interface cards, processors, memory, cables etc — existing elsewhere and made use of by one or more organisation. Okay now that sounds too generic. Perhaps we could give a practical instance and show by example.

So let’s say you have a startup seeking to solve a solution in the education sector. You have seen a need in improving school administrators and teachers work process, and went to work putting together thousands of lines of code to solve this need. Now you are done and need to make it publicly available so the admins, teachers and students can access it from anywhere. Then comes the need for cloud computing. A platform that would rent out at a minimal cost all the resource needed to get the application to the public. This platform would lease some parts of its servers, routers, network address translators, load balancers and many more and as well ensure they communicate seamlessly. The good part? You rent any of these resources based on what the application requires at any point in time saving the cost of paying for resources not used. This simply means if the users accessing the school app exceeds the handling capacity of what is provisioned as a default? Another resource would be spurned up to meet their needs. No running helter-skelter. …


Samuel Nwoye

I’m a value oriented professional all about automation of software delivery. I have an affinity for Terraform, Kubernetes, AWS, Prometheus, Elastic and Jenkins.

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