Basic Software installation| Moving micro-services into AWS EC2 instance – Part 1

As I mentioned in the previous post, I should move out of micro-services. Solving this I am taking an AWS EC2 instance and configuring every micro-services in this instance. Here I use Ubuntu 16.04 machine, because my application setup is little old. You can take Ubuntu 20.04 if you have newer versions of Rails, Ruby etc.

Our setup includes Ruby on Rails (5.2.1) micro-services (5-10 nos), NodeJS application, Sinatra Application, Angular 9.1 Front-End Application.

Go to AWS EC2 home page and select ubuntu 16.04 machine with default configurations and ssh enabled.

https://ap-south-1.console.aws.amazon.com/ec2/v2/home

Now login to this new instance and install all the packages we needed for our setup.

Software Installation

Update the package list.

sudo apt-get update

Install Ruby dependencies.

sudo apt-get install ruby-dev
sudo apt-get install libxml2-dev
sudo apt-get install libxslt-dev
sudo apt-get install graphviz

Install NodeJS

curl -sL https://deb.nodesource.com/setup_10.x | sudo -E bash -
sudo apt-get install -y nodejs
node -v

Install yarn and other dependencies.

curl -sS https://dl.yarnpkg.com/debian/pubkey.gpg | sudo apt-key add -
echo "deb https://dl.yarnpkg.com/debian/ stable main" | sudo tee /etc/apt/sources.list.d/yarn.list
sudo apt-get update
sudo apt-get install git-core zlib1g-dev build-essential libssl-dev libreadline-dev libyaml-dev libsqlite3-dev sqlite3 libxml2-dev libxslt1-dev libcurl4-openssl-dev software-properties-common libffi-dev nodejs yarn

Install Mysql 5.7 (Remember this is for Ubuntu 16.04, 18.04 versions)

sudo apt-get install mysql-server-5.7 mysql-client-core-5.7 libmysqlclient-dev
sudo service mysql status # or
systemctl status mysql
username: <your-username>, password: <your-password>

You can also try
mysql_secure_installation, if you use other mysql version.

Note: If you are setting up Ubuntu 20.04 note that there is a big change in mysql and the version of mysql is 8.0 instead of 5.7. If you have applications running in mysql 5.7 then setup and use Ubuntu 16.04 or 18.04.

Let’s continue the installation in our next post.