2020-03-20

Spring Application with Amazon Web Services (AWS)

Amazon Web Services offers multiple ways to install Spring Boot-based applications.
The options include:
• AWS Elastic Beanstalk
• AWS Code Deploy
• AWS OPS Works
• AWS Cloud Formation
• AWS Container Registry

AWS Elastic Beanstalk

As described in the official Elastic Beanstalk Java guide, there are two main options to deploy a Java
application. You can either use the “Tomcat Platform” or the “Java SE platform”.

Using the Tomcat Platform

This option applies to Spring Boot projects that produce a war file. No special configuration is
required. You need only follow the official guide.

Using the Java SE Platform

This option applies to Spring Boot projects that produce a jar file and run an embedded web
container. Elastic Beanstalk environments run an nginx instance on port 80 to proxy the actual
application, running on port 5000. To configure it, add the following line to your
application.properties file: server.port=5000


Boxfuse and Amazon Web Services

Boxfuse comes with deep integration for
Spring Boot and uses the information from your Spring Boot configuration file to automatically
configure ports and health check URLs. Boxfuse leverages this information both for the images it
produces as well as for all the resources it provisions (instances, security groups, elastic load
balancers, and so on).

You can deploy your Spring Boot application to AWS with a command similar to the following:
$ boxfuse run myapp-1.0.jar -env=prod


Google Cloud - Spring Boot

Google Cloud has several options that can be used to launch Spring Boot applications.

To run in App Engine, you can create a project in the UI first, which sets up a unique identifier for
you and also sets up HTTP routes. Add a Java app to the project and leave it empty and then use the
Google Cloud SDK to push your Spring Boot app into that slot from the command line or CI build.
App Engine Standard requires you to use WAR packaging. Follow these steps to deploy App Engine
Standard application to Google Cloud.
Alternatively, App Engine Flex requires you to create an app.yaml file to describe the resources your
app requires.

you put this file in src/main/appengine.

service: default
runtime: java
env: flex
runtime_config:
jdk: openjdk8
handlers:
- url: /.*
script: this field is required, but ignored
manual_scaling:
instances: 1
health_check:
enable_health_check: False
env_variables:
ENCRYPT_KEY: your_encryption_key_here

No comments:

Post a Comment