AWS, Cloud Computing, Docker

4 Mins Read

Implementation of Microservices with Spring Boot on AWS and in Docker – Part 1


Are you still bound with the platform dependent, large monolithic applications? It is time to get over the legacy applications and to taste the fruit of microservices. You are at the right place to get started with Microservices.

The times of struggling with platform dependent, large monolithic applications have become outdated. Now are the days to start with services that helps us to deploy the same application on various platforms. Here we go with uncovering the edge of Microservices with this article.

Although monolithic application is simple to build, it has huge limitations. Application grows over time and become huge. Every week or month, the development team implements few more lines of code. As time moves, application becomes huge & complicated. It is difficult for a single developer to understand the whole application. Thus, implementing new features and removing bugs is extremely difficult and time consuming. The enormous size of the application holds back the pace of development.

Latest applications are designed in such a way that user can push changes into production multiple times in a day. It is very difficult to do the same with a complex monolithic application.

The basic idea of microservices is to breakdown an application, so that it becomes easier to build, maintain and scale.

Advantages Of Working With Microservices

  • Microservices are small and focused on specific requirement
  • It can be developed by small teams
  • They are loosely coupled that means services are independent of each other in terms of development as well as deployment
  • Scaling microservices is very easy
  • Microservices allow many ways to integrate automatic deployments by using tools like Jenkins, Bamboo, etc.
  • It gives the advantage to use new cutting-edge technologies
  • High performance and flexible application

Now we shall go ahead & create a web application which is for compressing images. In this application, first you must register yourself with the application to upload the image for compressing. We will create three microservices: WebMicroservice, RegistrationMicroservice and S3Microservice.

The below diagram will help you to understand the flow of Microservices Application:

Microservices Application

  • Cloud Migration
  • Devops
  • AIML & IoT
Know More


  • AWS Account with Access Key and Secret Key
  • Java 1.8
  • STS
  • WinSCP

Task 1: Create WebMicroservice

  1. Download the WebMicroservice present at
  2. Open STS and click on File, from the drop-down click on Import, as shown in image below:webmicroservices
  3. Click on General, from the dropdown. Select Existing Projects into Workspace and then click Next as shown below:existing webmicroservices projects
  4. Click on Select archive file, Select the downloaded archive file, and add this to STS and click on
  5. Open the file. Enter Server port for WebMicroservice. Enter RegistrationMicroservice url and S3UploadMicroservice url.

    Port number for RegistrationMicroservice and S3UploadMicroservice must be on which you are going to run these services.
  6. In WebMicroservice, it contains only HTML templates and related class.
  7. Open and check the registerUser() method. In this method, we are sending the RegisterModel object to the RegisterMicroservice Microservice using RestTemplate’s postForObject Http Method.
  8. Right click on WebMicroservice project and run as a Spring Boot App. Type localhost:<port number> in web browser. Again, you can see registration page.
    When you enter all details and click on sign up button you will see the connection refused error because RegistrationMicroservice is              not running.

Task 2: Create RegistrationMicroservice

    1. Download the RegistrationMicroservice present at 

  1. Import RegistrationMicroservice into STS. Follow step 2 to step 7 from Task 1.
  2. Open the Enter Access Key, Secret Key, Endpoint, Dynamodbtable name and port.

    Note: server.port
    number must be which you have given in WebMicroservice’s file’s registration.urlapplication properties
  3. Open class. You are getting the data from WebMicroservice in registeruser() method. Using @ReqestBody you will pass the data in DynamoDBModel class.Register User

Task 3: Create S3Microservice project

  1. mport S3UploadMicroservice project present at

  1. Import S3UploadMicroservice into STS. Follow step 2 to step 7 from Task 1.
  2. Open the properties file. Enter Access Key, Secret Key, Endpoint, bucket name and port.

    Note: server.port
    number must be which you have given in WebMicroservice’s file’s s3.urlApplication Properties
  3. Open S3UploadMicroservice and Open In imageUpload method you are getting the data from WebMicroservice and Implementing the logic to compress the image.
    upload webservice
  4. Right click on WebMicroservice project and run as Spring Boot App. Run RegistrationMicroservice and S3UploadMicroservice as Spring Boot App.
    spring boot app
  5. Open browser and type http://localhost:WebMicroservicePortNumaber/ then click Enter. Enter Email ID and Password for signup.
    sign up
  6. Upload any .jpg image.
    upload image
  7. Click on Download to download the compressed image.
    download image

Get your new hires billable within 1-60 days. Experience our Capability Development Framework today.

  • Cloud Training
  • Customized Training
  • Experiential Learning
Read More

Stay tuned to learn how to deploy these microservices in Docker Containers in my next blog article i.e. Implementation of Microservices with Spring Boot on AWS and in Docker – Part 2

Please feel free to post your views in the comment section below, I will be happy to discuss.

To know more about our training services, visit and for consulting services, visit

WRITTEN BY Bhavesh Goswami

Bhavesh Goswami is the Founder & CEO of CloudThat Technologies. He is a leading expert in the Cloud Computing space with over a decade of experience. He was in the initial development team of Amazon Simple Storage Service (S3) at Amazon Web Services (AWS) in Seattle. and has been working in the Cloud Computing and Big Data fields for over 12 years now. He is a public speaker and has been the Keynote Speaker at the ‘International Conference on Computer Communication and Informatics’. He also has authored numerous research papers and patents in various fields.



  1. Kate

    May 27, 2018


    Thanks, Megha. Nice article!
    I’m eager to read the second part of the article.

  2. MGovind

    Mar 31, 2018


    Could you please share the link for Implementation of Microservices with Spring Boot on AWS and in Docker – Part 2

    • Jesus macias

      Jul 29, 2018


      Could you share us the part 2 pelase ?

      • Himanshu Sachdeva

        Aug 7, 2018


        Hello MGovind & Jesus,

        There is going to be some delay in posting part-2. We’ll update you once it is live.

        • Ashish

          Feb 28, 2020


          Please sir, Upload part 2, It would be very helpful for us. We are waiting for part 2.

  3. Vinod

    Mar 30, 2018


    Thanks, nice article to understand microservices

  4. Click to Comment

Get The Most Out Of Us

Our support doesn't end here. We have monthly newsletters, study guides, practice questions, and more to assist you in upgrading your cloud career. Subscribe to get them all!