Need to learn microservices developed with spring boot+spring cloud and to be deplpoyed on AWS , where to start from ? as of know I know spring boot but I know nothing about spring cloud and AWS
Is there any specific api given AWS to write spring microservices and deploy it on AWS or spring cloud is enough ?
Thanks,
Vasu
This is... not a great question as it's suppper broad. Entire books have been written about this topic.
Having said that, I'm going to point you at some of the books written about this topic: reading those should help you understand some of your currently unkwown unknowns and be able to get this done (and give you the background to ask more specific questions in the future).
The Spring Cloud AWS Documentation <-- discovered this about 6 months ago for some other stuff, it's suupppperr good
Manning's Spring Microservices In Action book. The Cloud and microservices is actually kind of hard, and requires some infrastructure you may not have thought about
Baeldung's Spring Cloud AWS - EC2 Introduction article. Their stuff is reaaallly good, you'll run into it a lot on the web when hunting for Spring questions.
Good luck!
You can dockerize the spring boot/cloud applications.
1. Run on EC2 machine via a docker-compose (group of microservices).
2. Elastic Container Service.
Hope this helps.
Related
I have been reading for few weeks for different approaches for ML in production. I decided to test Kubeflow and I decided to test it on GCP. I started to deploy Kubeflow on GCP using the guiidline on official kubeflow website(here https://www.kubeflow.org/docs/gke/). I run into a lot of issues and it was quit hard to fix them. I started to look into a better approach and I noticed that GCP AI platform now offers deploying Kubeflow pipelines with just few simple steps. (https://cloud.google.com/ai-platform/pipelines/docs/connecting-with-sdk.)
After easily setting up this, I had few question and doubts. If it is this much easy to set up and deploy Kubeflow why we have to go through such a cumbersome way as suggested in the kubeflow official website. Since creating Kubeflow pipeline on GCP means basically I am deploying Kubeflow on GCP, does that mean I can access other Kubeflow services like Katib?
Elnaz
The kubeflow official website provides the required information in detailed way and where as in google cloud it directly provides you the services with possible ready solution.
Referring to will fuks document it says YES, you can able to access katlib on GCP
The GCP managed service of Kubeflow Pipelines is just that. You won't have a lot of access to the cluster to make changes. I've deployed a Kubeflow cluster that can still reach the AI Hub as well.
I believe they have plans to expand what can be deployed in the AI Platform but if you don't want to wait, the self-deployment is possible (but not easy) IMO.
I finally got my first django project and I need help in deploying it in GCP with kubernetes.
I've never deployed any project before so it's a bit frustrating for me with the client nagging on my head.
it's an E-learning platform so I want to use GCP with kubernetes (for CI/DI since there will be a lot of updates for the project) and Google cloud storage for storing media files.
i'd love to have some help concerning deployment, things to do/don't, and some useful links to start with.
ps: this is my first question so be easy on me
Your question is too wide, try starting first and then asking a question - as we won’t be able to explain an universal way of deploying Django applications in GCP. I recommend starting from getting familiar with GCP services.
There is a really cool but paid course on Coursera platform ("Getting Started with Google Kubernetes Engine") with practical hands-on labs on how to use Kubernetes on GCP in pair with CI/CD tool like Jenkins. You can also find more about Jenkins in GCP in here.
You will also find there how to:
Use different deployment strategies with Kubernetes (Rolling Updates,
Canary and Blue-Green Deployments) with simple hello-world app.
Create a continuous delivery pipeline using Jenkins
You can enroll into this course with free trial account.
Why we need Spring cloud? What is the difference between AWS and Spring Cloud?
It might help to think of a division between infrastructure, applications and platform. Think of infrastructure as hardware - servers, disk, compute, network routing etc. that you can use. Let's call 'application' the executables that you build from your code in order to implement business logic and satisfy your end users. Then platform is a connecting layer - tools and standards to help your applications make use of infrastructure.
AWS is most famous for providing cloud infrastructure but it also provides a lot of services that could fall under platform. For example, it provides an API gateway service and container orchestration services with ECS or EKS (kubernetes) - these are more platform-level services as they are services that help your applications to scale and to talk to each other in the cloud.
Spring Cloud is a set of tools that help you address common problems faced by cloud applications. Concerns like how to get applications to talk reliably to each other in the cloud (eureka, hystrix and ribbon for http, streams for messaging) how to provide a single entry-point for consumers to access a set of microservices (zuul and spring cloud gateway) and how to manage configuration across microservices (spring cloud config). Mostly I would put these concerns under 'platform' but there are grey areas. You normally add the spring cloud libraries to components you build, which is a bit more 'application'-like. Some of the same concerns are addressed by certain services available in AWS (especially ECS and EKS(kubernetes)).
So the core areas of concern are very different for AWS (primarily infrastructure) and spring cloud (platform or platform-application bridge). But there can be some overlap at the platform level because AWS and spring cloud both offer so many options. It is tricky to find any direct comparisons because there are so many options but if you focus on EKS(kubernetes) in particular a good article comparing it with spring cloud is https://dzone.com/articles/deploying-microservices-spring-cloud-vs-kubernetes
Spring Cloud is a programming API that is used to develop an application by following a microservices design.
Spring Cloud speaks about development. Cloud Platforms like AWS are used to deploy the application.
Spring Cloud is just a set of tools (software) commonly used in the cloud, AWS is one of many cloud options, a place where you can deploy your apps.
My question is specifically related to Azure OR AWS, ie. a cloud provider. So, please do not downvote.
I want to ask how can I deploy a commdn line program like:
https://github.com/rhiever/reddit-twitter-bot
which is written in python.
to the cloud?
I want the program to just run indefinitely, ie.e it will post data from reddit to twitter.
Can it be done with Azure, i know Azure provides for website deployment.
But for this, I think is there any service?
Or if I have to setup a Virtual machien and set up the code, how to configure my machine so that it posts data to twitter (are any networking issues associated)?
Sorry if the question is beginner, I have just started using cloud.
If you were to choose AWS, you could run this easily within a docker container within Elastic Container Service (ECS). Look here for more information: AWS ECS Features
You can probably get what you want in the free tier.
I am a beginner in creating micro-services using springboot with aws. What is the best way to start?
To start with microservices in spring boot, you can go through the this tutorial.
This should help you get started with Rest services.
Later you can cover topics related to data modules.
Once you get hold of the concept of how app are developed and how they execute you can go to aws and pick up a ec2 to setup the container (like tomcat) and deploy you app on it. They are multiple ways you can deploy your app on it.
You can then explore Elastic beanstalk or multi containers( similar to docker)
You can read this as well
There are just too many things to cover here. Microservices are collection of many services and you will need to provide many helper modules to help you deploy and manage these services.