Cloud is the way to go. And AWS is the most popular cloud service. So it is natural that everyone wants to migrate to AWS. But often that is not as simple as it sounds. The bigger and older your legacy system, the harder it is to migrate.

Amazon suggests a step by step process for performing such a migration. Here are my two cents on that.

Why Migrate?

The benefits of being on the cloud have been repeatedly advertised over and over in the technical community. I don’t want to repeat them all over again. …

Data security is a major concern for anyone and everyone. And its importance is growing everyday. AWS understands this and provides several features to secure the data. In the spirit of the Shared Responsibility Model, we have several possible techniques to secure the data we save on AWS.

S3 is perhaps the largest data store in the world. Encryption of data stored on S3 is of paramount importance for the security. AWS provides us different modes of encryption for this data — allowing us to choose the one most relevant to our requirement.

The final decision lies with the architect…

Responsiveness is one of the most important parameters for the success of any web application. And asynchronous processing is The Solution for attaining this responsiveness. A server request from the browser should return immediately — without wait for completion. The data flow should be designed in a way that it does not depend upon an immediate response from the server.

There are several architecture patterns to do this. But a major problem with asynchronous processing is error handling. How would the client know if the request failed? We should not lose data in the process. In fact, a fire and…

Lambda functions stormed the world of computation, followed by Lambda @ Edge. But beyond the edge, AWS recently introduced the Cloud front Functions. They can do wonders on the content we serve through the Cloud Front. We can do wonders with such functions.

What is Cloud Front Function

Cloud Front distributions have to perform a level of computation when they serve out traffic to our requests. This includes caching, URL routing to the right origin, etc. The Cloud Front functions allow us to play with this. Now it is not just choosing a managed caching model or predefined origin policy. …

“Everything fails all the time”

The famous words of Werner Vogels, remind us again and again — never take things for granted.

Every experienced IT professional has hurt herself at some time or other. All the experts across the globe have reminded us in many different ways. Everyone knows that error handling is absolutely important. Yet, this understanding does not translate into code. It is unfortunate that most of our applications have a very bad error handling mechanism — if any.

Root Cause

I have seen new developers learn from a variety of tutorials. And I feel the root of the problem is right there. Most of…

In a wonderful keynote presentation, Andy Jassy stressed over and over on the importance of reinventing yourself. Based on Gartner’s statistics, he pointed out that very few companies have ever stayed on top. And this is because they stop re-inventing themselves.

Aptly said, “re-invent when you can — not when it is necessary”. Re-invention should be a culture and a way to go, and not a fallback solution. He stressed on a few patterns and anti patterns to re-inventing.

  • You cannot fight gravity. Anything will go down unless you pull it up. …

A web application often needs a central counter. We have several simple use-cases like the member id for a registration application. Or the amount collected on a sales application — there are many that we all have seen. We have to make sure the concurrent updates do not clash, and the no data is lost in the process. This problem increases further when our application scales larger on the cloud — with millions of concurrent users.

It is best to avoid such a use case — in large scale applications. It is always advisable that we use a design that…

Any decent web application has to communicate with users on multiple levels. Simply displaying information is not enough, web apps should also be able to send emails, SMS messages, and more, to ensure good user engagement.

The PHP Mailer is a full-featured email creation and transfer class for PHP. It is an open-source library — available on Github — that is easy to install and even easier to use. We can use it in a web application to easily send out emails using a configured SMTP server.

This article walks through the steps for using the PHP Mailer to send…

LAMP (Linux, Apache, MySQL and PHP). This has been a winning combination for decades, and is widely used even today. These provide for all the required layers for a high performing full stack web application. It is good to have LAMP server ready on your OS, for rapid prototyping and for running common utilities.

The installation process requires independent steps for installing each of these components.


The Apache HTTP Server is simple to install. It is available in the Metapackage apache2. So it can be installed directly using the apt command.

sudo apt install apache2

This installs and starts the…

SES (Simple Email Service) is, as the name suggests, a very simple service to enable programmatic access to sending and receiving emails. Here is a simple step by step guide to do that in Python — using the Console, AWS CLI, AWS Boto3, as well as a simple Vanila Python script.

Choose the one you like and add it to your own application.


Of course, the first and foremost requirement is, an AWS account. If you are reading this blog, I am sure you already have it. If not, please go ahead and create one. …

Vikas Solegaonkar

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