This web application allows users to register, log-in and post images to the feed and process photos using image-filtering microservice. This monolith application is refactored into microservices using stragler pattern. The backend API is decomposed into two independent microservices 'feed' and 'users'. The bolier plate code consisted of backend api which was refactored into two independent microservices.
Therefore, the project consists of:-
- Frontend client: An ionic client which consumes the RESTful backend
- Backend user api microservice: A node-express backend service which manages the user profiles
- Backend feed api microservice: A node-express backend service which manages the image feed
Start with creating dockerfiles for each independent application- frontend, backend user api, backend feed api and reverseproxy.
- Set up the github account to integrate TravisCI.
- Set up the github repository with.travis.yml for build pipeline to be generated.
- Create Amazon EKS cluster on AWS
- Create worker nodes in EKS cluster
- Bind AWS EKS cluster with kubectl using aws eks --region {region} update-kubeconfig --name {clusterr_name}
- Create the kubernetes resources for backend feed api, backend user api, frontend and reverseproxy by kubectl apply -f {service & deployment_filename}.yml
- Navigate to Deployment folder --> Docker folder
- Build the images: docker-compose -f docker-compose-build.yaml build --parallel
- Push the images: docker-compose -f docker-compose-build.yaml push
- Run the container: docker-compose up
Snehal Mundhe