I have a microservices app with node js and express js and react js .and i m using docker and minikube and skaffold . And i want to deploy it to azure or heroku .
To deploy to Microsoft Azure you need to follow this steps:
Create a Kubernetes cluster flowing this article.
Create your Kubernetes manifests files for each applications or using Helm .
After that deploy your application.
For Heroku you can deploy your image directly without need to Kubernetes .
I hope that this steps can help you to deploy your application.
Related
How to deploy Strapi node Js on AWS. Please Guide me.
How should I deploy strapi application on aws.
Confusion In services and costing with database.
How to deploy the strapi code on AWS and how am I going to publish it on AWS.
I developed a PERN (postgres, express, react, node) app that's running on my local machine and I want do deploy it using AWS. What is the "best" way to go about doing this if I want to be able to continuously deploy changes and handle the potential of scaling?
For Database you can use RDS https://aws.amazon.com/rds/
For Hosting you can use EC2 Instance of your own https://aws.amazon.com/ec2/
You should dockerize your app
And Optionally can set up a continuous deployment pipeline using aws-codepipeline and aws-codedeploy . You can also use github actions for this purpose.
I am developing a angular project with node js as backend. In the backend microservices are used. Frontend and backend are seperate projects. I am trying to deploy both in azure. I was able to deploy the front end properly. I tried to deploy the backend too. But it was not successful. Does anyone know how to deploy a node js project with backend only in azure ?
UPDATE:
The thing is that I don't have a dist folder to build the node project. It just contains a server with microservices. What we do is we will use npm start to run it. When I try to hit the backend from the frontend, I get an saying that "You don't have the permission to view the directory or page".
Iam looking to host a nodejs app on ECS. On local dev i use ngrok to expose port 3000 and it seems to work well. Now i would like to host it. Is dockerizing mandatory? What would be the steps to host it on amazon ecs if the app is dockerized?
I would also like to know if hosting on ecs is possible without dockerizing.
I would suggest you if you want to go this way to start an EB Instance.
http://docs.aws.amazon.com/elasticbeanstalk/latest/dg/create_deploy_nodejs.container.html
And you can deploy your application using CodeShip or use the traditional way in EB where you upload and deploy the code ( I suggest you use CodeShip ).
Another way to do it, and it might end it up being free is Heroku, it's an amazing and easy cloud service where you can deploy your application and build a continuous integration with GitHub, it takes care of everything to you.
This is the walkthrough for Node.Js apps:
https://devcenter.heroku.com/articles/getting-started-with-nodejs#introduction
Dockerizing is not mandatory at all, you can do it if you like, the roadmap to deploy the app won't change.
I'm new to GoogleCloud.
I've followed the tutorial (for Node.js) with these steps:
Build my own My-Hello-World web app
Deploy to AppEngine
It works fine as https://My-Hello-World.appspot.com
Build my own EndPoints APIs with project-id as My-Hello-World
Deploy to AppEngine
It also works fine as https://My-Hello-World.appspot.com/api/test/*
My problem is the moment I deploy EndPoints APIs, my My-Hello-World.appspot.com doesn't run as webapp anymore, it responses as APIs. How to config to make my project run for both webapp and api when deploy to AppEngine?
https://My-Hello-World.appspot.com --> run as webapp
https://My-Hello-World.appspot.com/api/test/* --> run as api
Thank you.
So assuming that
Your Endpoints API and Webapp are in the same GCP project
Each has their own app.yaml
You can deploy them to the same project's app engine and have them run together as separate services. All you will need to do is add a service tag in your app.yaml
service: api
runtime: nodejs
env: flex
env_variables:
NODE_ENV : staging
This is what mine looks like for a ExpressJS RestAPI that I deploy to staging.
You can keep the web-app's app.yaml the same, because it will be used as the default service.
Then you will be able to access
Webapp
https ==> my-hello-world.appspot.com
http ==> my-hello-world.appspot.com
API
https ==> api-dot-my-hello-world.appspot.com
http ==> api.my-hello-world.appspot.com
Reference
How Requests are Routed
Configuring your app with app.yaml