AWS github

Coding

Build

Suppose we have a very simple, stateless web application. Here’s a simple one based on the Hello World application from:

https://github.com/pdurbin/maven-hello-world (or use any hello world code base to generate the war file)

Implement a build system that constructs a deployable package for this code.

Configure

Implement a configuration management system that deploys your build package along with any necessary requirements. Use any tool you’re comfortable with: ansible, chef, puppet, salt, etc. Arrange for the service to start up when the instance does. Test to make sure you can change the listener port and the “Hello world” message.

Deploy

Write scripts or configurations to deploy this minimal application on AWSGCP using Linux. Use any tools, languages, or APIs you think are appropriate, but automate everything you can. We suggest using a tool like Terraform or CloudFormation.

Be sure to include the following features:

Launch Configuration

Auto Scaling Group

Elastic Load Balancer

Health Check

Expose any configuration, such as the instance type, as template parameters.

You should be able to do all that using the AWSGCP “free tier”. Document setup of all tools that are needed, so we can try it.

Discussion

With more time and resources, how could you improve on this deployment? Consider the following topics, along with anything else that you consider important.

How reliable and available is your deployment? What could affect this?

How automated is your answer? How suitable is the process to maintenance and updates? What changes would you make to improve the deployment process or improve maintainability?

How scalable is your answer? What would you do allow the deployment to handle more traffic?

How secure is your answer? Would seeing your template expose any sensitive information?

How could you preserve log data from these instances, even if they terminate

This question has been answered.

Get Answer