The Case: Blue Rose Water Cabins
You have been hired as a consultant by the IT organization at Blue Rose LLC, an Oregon based company who manufacturers and sells Water Cabins. Their Water Cabins are movable cabins designed for digital nomads looking to make a life for themselves in unconventional places, whether it’s a lake, a river, or the caribbean. As part of their service, they track the cabins they sell so in the event of an emergency, rescue teams can be directed to the last known location of the cabins. To do this, they have an application server that receives api calls over https from the various cabins at a regular interval (every 5 mins). That server then connects to a MySQL database to record the location and timestamp of the last communication. If the application doesn’t hear from the cabin for a period of 15 minutes, it sends a signal back, this time to their custom app listening on port 9876, which then triggers a status check to certain smart devices in the home (thermostat, router, etc.) to determine if there are any noticeable issues that would be causing the cabin to not communicate. If the cabin doesn’t respond, a text is sent to the owner’s phone asking them to verify if everything is alright, and several checks are sent out to other services to look up weather and news reports near the last known location. All these services the app communicates with over https. Based on an assessment of all these factors, alerts to local authorities can be sent out within an hour to request assistance.
Currently, they have this application running in a small datacenter in their Oregon location, but given their desire to serve customers on both coasts as well as the Great Lakes area, they have decided to migrate to AWS. What you are tasked with is creating a recommended solution for running this application in AWS. Currently the application runs on two linux servers. One for the application, and one for the MySQL database. An internal team has gathered all the details they believe will be necessary for you to put together your recommendation. They are listed in the following sections.
• Their current application runs on a server with 16 GB of RAM and 2 CPUs and 20 GB of Disk storage. Based on the utilization they’ve seen so far, they estimate that they will need 4 GB of RAM and 1 CPU for every 10 cabins running.
• The MySQL server they currently have has 64 GB of RAM, 16 CPUs and 200 GB of storage. They similarly estimate that this server will need 16 GB of RAM, 4 CPU’s and 50 GB of storage for every 10 cabins.
• Based on their expansion goals, they want to have one set of these servers in each of their 3 target markets (Pacific Northwest, Great Lakes and Northeast Atlantic).
• They are hoping to take advantage of AWS flexibility to allow them to scale their hardware with their growth, instead of having to purchase all the resources up front that they’ll need for the next 2 years.
• As mentioned before, Blue Rose would like to have multiple deployments of their applications in various AWS regions. Each region should have its own VPC with it’s own unique IP address range so that the applications in each region can still talk to each other.
• Because of the sensitivity of the data in the MySQL server, they would also like to have that segmented from the application server so they can apply special security policies to each.
• They also want to be sure that the servers can only receive and send communications out over the specific protocols that they need and restrict the hosts that can be sent communications as much as possible.
• Blue Rose currently has 40 cabins that are actively running. They anticipate that number to quadruple over the next 2 years based on some new marketing campaigns they are getting ready to kick off.
• Currently all 40 customers are in the Pacific Northeast, which they see as their highest growth potential market. They anticipate they will at least double their customer size there.
• To support disaster recovery objectives, they want any 2 of the regions to be able to support the full load of traffic in the event one region experiences an outage.
The Case: Blue Rose Water Cabins