Migrating Dress4Win's Infrastructure to the Cloud: Solutions and Best Practices

Key Considerations for Dress4Win's Cloud Migration

Question

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.

What should you do?

Answers

Explanations

Click on the arrows to vote for the correct answer

A. B. C. D.

D.

The given scenario is about Dress4Win, a web-based company that helps users manage their personal wardrobe through a web app and mobile application. They have grown significantly from a few servers to several hundred servers and appliances in a colocated data center, which is insufficient for their rapid growth. Hence, Dress4Win has decided to migrate to the cloud and build a disaster recovery site for their development and test environments.

The Dress4Win application is served out of a single data center location and uses Ubuntu LTS v16.04 as the operating system, MySQL for databases, Redis 3 server cluster for metadata, social graph, and caching, and has 40 Web Application servers, 20 Apache Hadoop/Spark servers, and 3 RabbitMQ servers for messaging, social notifications, and events. It also has miscellaneous servers for Jenkins, monitoring, bastion hosts, security scanners, and uses iSCSI for VM hosts and Fiber channel SAN for MySQL databases.

The business requirements of Dress4Win are to build a reliable and reproducible environment with scaled parity of production, improve security by adhering to a set of security and IAM best practices for the cloud, improve business agility and speed of innovation through rapid provisioning of new resources, and analyze and optimize architecture for performance in the cloud.

The technical requirements are to easily create non-production environments in the cloud, implement an automation framework for provisioning resources in the 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, and support multiple private connections between the production data center and cloud environment.

The executive statement mentions that investors are concerned about Dress4Win's ability to scale and contain costs with the current infrastructure. They are also worried that a competitor could use a public cloud platform to offset their up-front investment and free them to focus on developing better features. The traffic patterns of Dress4Win are highest in the mornings and weekend evenings, and during other times, 80% of their capacity is sitting idle.

Based on this information, the best answer would be D, which is to use the Activity page in the GCP Console and Stackdriver Logging to provide the required insight. This is because the Activity page in the GCP Console and Stackdriver Logging can provide detailed insights into the cloud infrastructure, including audit logs, usage logs, and error logs. By analyzing these logs, Dress4Win can identify areas of inefficiencies, opportunities for optimization, and areas for cost savings. They can also use these logs to monitor and troubleshoot their infrastructure and applications, and ensure compliance with their security and IAM best practices.

Option A, which is to use Stackdriver Trace to create a Trace list analysis, is not relevant to the given scenario as Trace is a distributed tracing system that helps diagnose performance issues in microservices-based applications. However, Dress4Win's application does not seem to be microservices-based, and hence, Trace is not useful here.

Option B, which is to use Stackdriver Monitoring to create a dashboard on the project's activity, is a relevant option. However, it is not the best answer as Stackdriver Monitoring provides insights into the health and performance of the cloud infrastructure, whereas the question is asking for insights into areas of inefficiencies, opportunities for optimization, and areas for cost savings.

Option C, which is to enable Cloud Identity-Aware Proxy in all projects and add the group of Administrators as a member, is not relevant to the given scenario. Cloud Identity-Aware Proxy is a service that provides identity-based access control for applications running on Google Cloud. However, Dress4Win's concern is not with access control but with scalability, cost containment, and performance optimization.