Dress4Win is a web-based company that helps their users organize and manage their personal wardrobe using a web app and mobile application.
The company also cultivates an active social network that connects their users with designers and retailers.
They monetize their services through advertising, e-commerce, referrals, and a freemium app model.
The application has grown from a few servers in the founder's garage to several hundred servers and appliances in a colocated data center.
However, the capacity of their infrastructure is now insufficient for the application's rapid growth.
Because of this growth and the company's desire to innovate faster, Dress4Win is committing to a full migration to a public cloud.
Solution Concept - For the first phase of their migration to the cloud, Dress4Win is moving their development and test environments.
They are also building a disaster recovery site, because their current infrastructure is at a single location.
They are not sure which components of their architecture they can migrate as is and which components they need to change before migrating them.
Existing Technical Environment - The Dress4Win application is served out of a single data center location.
All servers run Ubuntu LTS v16.04
Databases:MySQL.
1 server for user data, inventory, static data: - MySQL 5.8 - 8 core CPUs - 128 GB of RAM - 2x 5 TB HDD (RAID 1)Redis 3 server cluster for metadata, social graph, caching.
Each server is: - Redis 3.2 - 4 core CPUs - 32GB of RAM Compute:40 Web Application servers providing micro-services based APIs and static content.
" - Tomcat Java - - Nginx - 4 core CPUs - 32 GB of RAM20 Apache Hadoop/Spark servers: - Data analysis - Real-time trending calculations - 8 core CPUs - 128 GB of RAM - 4x 5 TB HDD (RAID 1)3 RabbitMQ servers for messaging, social notifications, and events: - 8 core CPUs - 32GB of RAMMiscellaneous servers: - Jenkins, monitoring, bastion hosts, security scanners - 8 core CPUs - 32GB of RAM Storage appliances:iSCSI for VM hostsFiber channel SAN " MySQL databases - 1 PB total storage; 400 TB availableNAS " image storage, logs, backups - 100 TB total storage; 35 TB available Business Requirements -Build a reliable and reproducible environment with scaled parity of production.Improve security by defining and adhering to a set of security and Identity and Access Management (IAM) best practices for cloud.Improve business agility and speed of innovation through rapid provisioning of new resources.Analyze and optimize architecture for performance in the cloud.
Technical Requirements -Easily create non-production environments in the cloud.Implement an automation framework for provisioning resources in cloud.Implement a continuous deployment process for deploying applications to the on-premises datacenter or cloud.Support failover of the production environment to cloud during an emergency.Encrypt data on the wire and at rest.Support multiple private connections between the production data center and cloud environment.
Executive Statement - Our investors are concerned about our ability to scale and contain costs with our current infrastructure.
They are also concerned that a competitor could use a public cloud platform to offset their up-front investment and free them to focus on developing better features.
Our traffic patterns are highest in the mornings and weekend evenings; during other times, 80% of our capacity is sitting idle.
Click on the arrows to vote for the correct answer
A. B. C. D.A.
The best answer to this question is B. Deploy Nginx and Tomcat using Cloud Launcher. Deploy a MySQL server using Cloud Launcher. Deploy Jenkins to Compute Engine using Cloud Deployment Manager scripts.
Here is a detailed explanation of why:
First, let's examine the existing technical environment. Dress4Win's application is currently served out of a single data center location, and all servers run Ubuntu LTS v16.04. The databases are MySQL, and there is one server for user data, inventory, and static data. The Redis 3 server cluster is used for metadata, social graph, and caching. There are 40 web application servers providing micro-services based APIs and static content, and they run Tomcat Java and Nginx. There are also 20 Apache Hadoop/Spark servers for data analysis and real-time trending calculations, 3 RabbitMQ servers for messaging, social notifications, and events, and miscellaneous servers for Jenkins, monitoring, bastion hosts, security scanners. The storage appliances include iSCSI for VM hosts, a Fiber channel SAN for MySQL databases, and a NAS for image storage, logs, backups.
Next, let's examine the business requirements. Dress4Win wants to build a reliable and reproducible environment with scaled parity of production. They want to improve security by defining and adhering to a set of security and IAM best practices for cloud. They also want to improve business agility and speed of innovation through rapid provisioning of new resources. Dress4Win wants to analyze and optimize architecture for performance in the cloud.
Based on these requirements, Dress4Win needs to move to the cloud, and they need to do it in a way that is reliable, secure, and agile. They also need to optimize their architecture for performance.
Now, let's examine the technical requirements. Dress4Win wants to easily create non-production environments in the cloud. They want to implement an automation framework for provisioning resources in the cloud. They want to implement a continuous deployment process for deploying applications to the on-premises datacenter or cloud. They also want to support failover of the production environment to cloud during an emergency. They want to encrypt data on the wire and at rest. Finally, they want to support multiple private connections between the production data center and cloud environment.
Based on these requirements, Dress4Win needs a solution that will allow them to easily create non-production environments, automate resource provisioning, and support continuous deployment. They also need a solution that will support failover of the production environment to the cloud during an emergency and encrypt data on the wire and at rest. Finally, they need a solution that will support multiple private connections between the production data center and cloud environment.
Now, let's examine the options:
Option A: Deploy Nginx and Tomcat using Cloud Deployment Manager to Compute Engine. Deploy a Cloud SQL server to replace MySQL. Deploy Jenkins using Cloud Deployment Manager.
This option involves deploying Nginx and Tomcat to Compute Engine using Cloud Deployment Manager. It also involves deploying a Cloud SQL server to replace MySQL and deploying Jenkins using Cloud Deployment Manager.
This option does not meet all the technical requirements. It does not provide an automation framework for provisioning resources in the cloud, and it does not support failover of the production environment to the cloud during an emergency. It also does not provide multiple private connections between the production data center and cloud environment.
Option B: Deploy Nginx and Tomcat using Cloud Launcher. Deploy a MySQL server using Cloud Launcher. Deploy Jenkins to Compute Engine using Cloud Deployment Manager scripts.
This option involves deploying Nginx and Tomcat to Compute Engine using Cloud Launcher. It also involves deploying a MySQL server using Cloud Launcher and deploying Jenkins to Compute Engine using Cloud Deployment Manager scripts.
This option meets all the technical requirements. It provides an automation framework for provisioning resources in