Running Spring apps in the public cloud - spring

Scott here (PM for Azure Spring Apps - formerly named Azure Spring Cloud). I'm looking to understand how Spring developers leverage public cloud for developing, running and managing their Spring apps.
A couple questions for the community:
Do you run your Spring workloads in the public cloud? If so, where?
Are you aware of Azure Spring Apps? If so, why are/aren’t using it?

Related

Warmup of a Spring cloud functions based solution in azure

We are working in a spring cloud functions based solution, this solution will be deployed into azure.
We have implemented several functions but we have some warmup time when we start the spring context that we would like to remove.
I have been following Microsoft documentation (https://github.com/MicrosoftDocs/azure-docs/blob/main/articles/azure-functions/functions-bindings-warmup.md)
I have created trigger that is called when the instances are created but I am unable to load the spring context.
Is there any support for this type of binding in the azure java libraries or in spring cloud functions?

I am trying to connect my spring boot application with Azure service bus. Should I be using JMS or azure spring cloud stream binder?

I found these two docs in Spring Azure Documentation
https://learn.microsoft.com/en-us/azure/developer/java/spring-framework/configure-spring-cloud-stream-binder-java-app-with-service-bus
https://learn.microsoft.com/en-us/azure/developer/java/spring-framework/configure-spring-boot-starter-java-app-with-azure-service-bus
What is the difference between them? If there are other options, please suggest them!

Deploy my spring boot application into google cloud computer engine

I got a query to ask you all. I am looking for guides that help me deploy my spring boot application on google cloud computer engine, I type in my instance IP address when I test my spring boot application I unable to access it in REST API.
May I know do you have any guides or steps for me to follow to deploy successfully in google cloud computing engine. Why do I need to deploy in computer engine is because I deployed my angular at it and I deploy it both it seems that my angular project being replaced by my spring boot application.
Codelabs GCP / Spring series has deployment tutorials:
https://codelabs.developers.google.com/spring/
GCP has some "Getting Started" tutorials you can use here:
https://cloud.google.com/java/docs/
where the specific one for deploying a java app to GCE is here:
https://cloud.google.com/java/docs/tutorials/bookshelf-on-compute-engine
But the basic steps are as follows:
Write your Spring app
Build your Spring app
Run / test your jar locally
Push your jar to a location in Storage
Create a startup script for your GCE instance
Create a new GCE VM which uses your startup script using Console, Deployment API, or gcloud tool
After that, you need to ensure you have the proper network rules in place to be able to access your API publicly. If you do not wish to learn how to use GCE, I would suggest you look into using App Engine instead because then you do not need to learn how to deploy and instead can concentrate on your api. Here is a guide to do that

Deploying micro services to Pivotal Cloud Foundry and establish communication between the micro services

I have multiple .Net core micro services where some of the micro services will talk/communicate with the other micro services. I want to deploy these services to Pivotal Cloud Foundry(PCF) each to a different container and need to establish the communication between them.
I have tried using Registry service in PCF which didn't work out.
I wanted to know the steps which are used to establish the communication between the micro services.
Any existing example with code would help out.
Could anybody help on this?
Thanks
What you need is Steeltoe.
Steeltoe client libraries enable .NET Core and .NET Framework apps to easily leverage Netflix Eureka, Hystrix, Spring Cloud Config Server, and Cloud Foundry services.

how monolith spring 3 application will communicate with microservice?

I have one monolith spring web application developed using spring 3.1 and spring-security 3.1 with Java 7 and it is deployed on tomcat 7.
Now I have a new requirement where I have to create a micro-service for a new module using spring boot with java 8. This micro-service will be deployed separately on different EC2 instance.
I am looking for suggestion/idea to access new microservice from my existing spring web application.
How to perform inter process communication within these two spring application?
Can someone provide me any help/pointer?
You can make use of service discovery pattern, which are mainly of two kinds -
Client-side discovery - This is where clients are responsible for figuring out available service instances. Example - Netflix OSS.
Server-side discovery - In this the service instances are registered on the server-side using a service registry. Example - AWS ELB.
You can read a lot about these on the internet. Just remember the keywords.
Hope this helps !

Resources