The popularity of Golang has been increasing since its launch. A survey shows 76% of the users are using Golang at work and 66% are using it outside the workplace.
A lot of developers are considering Golang for Web development these days. There are several frameworks available for the language. It could be a nightmare to choose the framework you want to start your new app with.
There are two very popular MVC frameworks Beego and Revel. These frameworks are largely self-sufficient to develop a web app. …
The primary idea behind this architecture is to securely access EC2 instances over SSH. There are two parts to this:
Entities involved in the setup:
Many developers start with Rails and as the application grows they start writing code in other languages like Golang. Generally, Sidekiq is used for background jobs Rails. Why not use Sidekiq for Golang!
Run the following command.
go get github.com/jrallison/go-workers
AddJob method provides a mechanism to queue a new job in the Sidekiq queue.
The method can be used to add a job in the queue as follows:
Here is the sample worker:
The above code creates a worker. We still have to run it. For running various workers we created an executor. It looks like this:
Build the executor and run the it. This runs the worker.
The popularity of Golang has been increasing since its inception. The recent survey shows 76% of the users are using Golang at work and 66% are using it outside the work.
There are many developers who are transitioning from other languages and frameworks to Golang for better performance. Many are moving their existing applications to Golang or developing their new apps in Golang.
Like many others, our application was written in Ruby on Rails. We started working on a new application, we started considering Golang for it. …
Many years ago, we got to know our AWS bill has gone up. We started digging and realize on 2 days in a month the EC2 cost spiked. Our analysis concluded that somehow my machine was hacked and hackers got my Access Keys.
I was a power user of AWS access keys. I used to love the command-line interface of AWS Client. All the EC2 instances, I was running had the keys. Keys were in the code of a few of the services we were running.
I was traveling and I used various public WiFi access points. Not sure how…
When your product is launched, you are expected to collect analytics of the usage of various features. It’s important for the entire company to have access to analytics to refine the existing features and predict the behavior of the users.
In the beginning, you might ask yourself “How do others build their data pipelines?”. You will come across many solutions that are being used in organizations having tons of users and a lot of traffic. It’s hard to implement and incorporate these designs when you are just starting with few users. …
AWS provides many tools to monitor its own services. You can add alarms on various CloudWatch events. As you host more and more services on AWS it becomes difficult and important to make sure these services are running. You can use CloudWatch to find the state of your services by creating new Metrics. This process becomes expensive and difficult to manage after a point.
A Lambda function monitors all the services running on EC2 instances securely. Here is the proposed architecture:
Design is an important part of the software development process. Yet many of us do not pay much attention to the design of the product and start coding directly. There are many conscious ways to improve your design skills every day. Results will start showing up over time. Eventually, a realization comes, better design helps in fewer bugs and better code structure, and ease of scalability.
I recommend the following approaches and tasks which if incorporated in the daily design process will improve your design skills.
There is always scope of doubt.
If you are not going to question yourself…
It's hard to manage the configuration of a project if it resides in the code. When working in a team, developers keep adding various configurations across the project.
I always move it out to an external file to keep all the configuration in one place. This makes it slightly easy to maintain and has one executable for all environments.
We are going to move the configuration out to a YAML file for a Golang project build with Revel and GORM.
This scheme can be…
There are many cool IDEs available to developers these days. Command-line editors are lagging behind. However, a developer should learn one of these. There are cases when you need to remotely log in to a machine or a server where X-server is not running, these editors come in handy.
There are many other reasons these editors are a great choice for your daily development activity.
At least one of these editors is installed on practically most Linux Distros. I can’t remember ever logging into a system and not being able to use the Vi editor. Nano or Emacs, may or…
Cloud Software Engineer | Product Development | Cloud Infrastructure | I write about Tech, History and Travel