Our problem with micro-services using AWS ECS

We are into a startup and as a trending technology our predecessors used micro-services for our new website.

It is a good move if we see the benefits of micro-services like

  • scaling a website gets much easier
  • loosely coupled
  • easy for developing
  • deployment can focus on each service
  • can be used different technologies for each service
  • testing can be concentrated on one service

Here we are considered the problems we may face in future and developed the application thinking about the benefits of micro-services.

Point to be noted: We also have to think about – does these problems will be a big issue for us compared to the disadvantages of the micro-services?

NOTE: Our Website is a less traffic website and we are getting our clients one by one. It is not a heavily used website. Keep this in mind while reading this article.

We faced issues following issues with micro-services:

  • Complexity – more complex for deployment and maintenance
  • Cost – AWS ECS costs more for all the micro-service hosting for a less traffic website
  • Even though these are micro-services it has some dependency between them that we cannot avoid. Be ready to deal with this.
  • Sometimes one service (AWS Container) goes offline and starting over! So we get the No Service issue in the website.
  • Very difficult to go back to monolith application even clubbing 3-4 services together, as they use different software or software versions.

So be careful if you are planning to use micro-service architecture for a less used website or as a starting of your business. Take your time and think if micro-service architecture suits your business and your current situation.

The fact: It should not take that much cost for a website which has less traffic. Be ready to pay minimum amount for hosting with micro-services.

Set up:

  • Used AWS ECS (ec2 launch type) with services and task definitions defined
  • 11 Micro-services, 11 containers are spinning
  • Cost: Rs.12k ($160) per month

Workaround:

  • Consider using AWS Fargate type but not sure these issues get resolved
  • Deploy all the services in one EC2 Instance without using ECS
Advertisement

Author: Abhilash

Hey! This is Abhilash - Ruby developer, specialised on web development. Experienced with frameworks such as Rails, Angular, Sinatra, Laravel, NodeJS etc. I am working on Ruby on Rails platform since 2010. This blog is about Ruby, Ruby On Rails and other subjects that I have had experienced with. You can contact me here: abhilash.amballur@gmail.com LinkedIn: www.linkedin.com/in/abhilashak

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

%d bloggers like this: