{"id":22931523,"url":"https://github.com/angudadevops/micro-services","last_synced_at":"2025-04-01T17:27:55.140Z","repository":{"id":182387467,"uuid":"296728156","full_name":"angudadevops/micro-services","owner":"angudadevops","description":"Micro Services with Python and GO Web Applications ","archived":false,"fork":false,"pushed_at":"2020-09-18T22:23:19.000Z","size":52,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-02-07T11:22:58.952Z","etag":null,"topics":["docker-microservice","golang-web-apllication","k8s-micro","k8s-microservices","kubernetes-microservices","microservice","microservices","python-flask-application"],"latest_commit_sha":null,"homepage":"https://angudadevops.github.io","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/angudadevops.png","metadata":{"files":{"readme":"Readme.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null}},"created_at":"2020-09-18T20:56:11.000Z","updated_at":"2021-03-08T22:51:42.000Z","dependencies_parsed_at":"2023-07-19T20:17:18.084Z","dependency_job_id":null,"html_url":"https://github.com/angudadevops/micro-services","commit_stats":null,"previous_names":["angudadevops/micro-services"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angudadevops%2Fmicro-services","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angudadevops%2Fmicro-services/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angudadevops%2Fmicro-services/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angudadevops%2Fmicro-services/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/angudadevops","download_url":"https://codeload.github.com/angudadevops/micro-services/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":246679665,"owners_count":20816539,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["docker-microservice","golang-web-apllication","k8s-micro","k8s-microservices","kubernetes-microservices","microservice","microservices","python-flask-application"],"created_at":"2024-12-14T10:39:30.725Z","updated_at":"2025-04-01T17:27:55.111Z","avatar_url":"https://github.com/angudadevops.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Micro Services\n\nThis document helps you to build Micro Services with Python and Golang web Application on Docker and Kubernetes.\n\nMicroservices is an approach to develop small services that each run in its own process. We should develop microservices instead of one service (a monolithic approach) for a multitude of benefits, including:\n\nMicroservices are smaller in size Microservices are easier to develop, deploy, and debug, because a fix only needs to be deployed onto the microservice with the bug, instead of across the board Microservices can be scaled quickly and can be reused among different projects Microservices work well with containers like Docker Microservices are independent of each other, meaning that if one of the microservices goes down, there is little risk of the full application shutting down\n\n- [Architecture](#Architecture)\n- [Build Micro Services](#Build-Micro-Services)\n- [Deploy Micro Services](#Deploy-Micro-Services)\n- [Access the Micro Services](#Access-the-Micro-Services)\n\n## Architecture \n\nBelow is the Architecutre of micro services with multiple frontend and backend applications. \n\n![Micro_services](MicroServices.png)\n\nHere frontend used as Python Flask Web Application, Mid and Backends are used Go web Applications and Python Flask Applications. \n\n## Build Micro Services\n\nBased on above architecture, you can build the docker images as per below or else you can directly use it from https://hub.docker.com/r/anguda/micro-services\n\n```\n$ git clone https://github.com/angudadevops/micro-services.git\n\n$ cd micro-services\n\n$ docker-compose build \n```\n\n## Deploy Micro Services\n\nRecommended way is using kubernetes, but if you want explore docker images you can use docker-compose\n\n### Using Docker Compose\n\nFirst Build Backend Services of Docker Images as per build \n\n```\n$ git clone https://github.com/angudadevops/micro-services.git\n\n$ cd micro-services\n```\n\nUpdate the host ip in docker-compose with below command and run docker-compose \n```\n$ sed -ie \"s/hostip/$(hostname -I | awk '{print $1}')/g\" docker-compose.yml\n\n$ docker-compose up -d \n``` \n\n### Using Kubernetes \n\nIf you have kubernetes cluster you can use `microservice.yaml` and deploy the Full Stack of Micro services. \n\n```\n$ kubectl apply -f microservice.yaml\n```\n\n## Access the Micro Services\n\nAccess the Micro services with frontend python app as per below\n\n### using docker compose \n\nAccess with FrontEnd application with below url where \u003chost-ip\u003e is your docker host IP\n```\nhttp://\u003chost-ip\u003e:5000/pyweb\n\nhttp://\u003chost-ip\u003e:5000/goweb\n\nhttp://\u003chost-ip\u003e:5000/pyapp\n\nhttp://\u003chost-ip\u003e:5000/goapp\n```\n\n### Using Kubernetes\n\nOnce you deployed the Applications using `microservices.yaml`, run the below commands and access the frontend application\n\n```\n$ kubectl patch svc python-frontend -p '{\"spec\":{\"type\":\"NodePort\"}}'\n\n$ kubectl get svc python-frontend \n\nhttp://\u003chost-ip\u003e:nodePort/goweb\n\nhttp://\u003chost-ip\u003e:nodePort/pyweb\n\nhttp://\u003chost-ip\u003e:nodePort/goapp\n\nhttp://\u003chost-ip\u003e:nodePort/pyapp\n```\n\n## Cleanup\n\nRun the below command to clean up docker-compose images and containers \n```\ndocker-compose down --rmi all\n```\n\nRun the below command to remove all objects on kubernetes \n```\nkubectl delete -f microservice.yaml\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fangudadevops%2Fmicro-services","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fangudadevops%2Fmicro-services","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fangudadevops%2Fmicro-services/lists"}