Dress4Win Cloud Migration Plan

Migrating Dress4Win's Infrastructure to the Cloud

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.

Answers

Explanations

Click on the arrows to vote for the correct answer

A. B. C. D.

D.

The best option for Dress4Win to migrate their infrastructure to the cloud is option C: Implement managed instance groups for Tomcat and Nginx. Migrate MySQL to Cloud SQL, RabbitMQ to Cloud Pub/Sub, Hadoop to Cloud Dataproc, and NAS to Compute Engine with Persistent Disk storage.

Explanation:

  1. Migrate Web application layer: The web application layer should be migrated to Compute Engine, which provides VM instances for hosting the application. App Engine is a good option for simple, stateless web applications, but since Dress4Win's application is complex, Compute Engine would be more suitable.

  2. Migrate MySQL to Cloud SQL: Cloud SQL is a managed database service that is compatible with MySQL. This will provide Dress4Win with a scalable, highly available database solution that is easy to manage.

  3. Migrate RabbitMQ to Cloud Pub/Sub: Cloud Pub/Sub is a fully managed messaging service that provides reliable, asynchronous messaging between applications. Migrating RabbitMQ to Cloud Pub/Sub will simplify the messaging architecture and provide a scalable, reliable solution.

  4. Migrate Hadoop to Cloud Dataproc: Cloud Dataproc is a fully managed Hadoop and Spark service. Migrating Hadoop to Cloud Dataproc will simplify the data analysis architecture and provide a scalable, reliable solution.

  5. Migrate NAS to Compute Engine with Persistent Disk storage: NAS should be migrated to Compute Engine, which provides persistent disk storage that is scalable and highly available. This will provide Dress4Win with a scalable and reliable solution for storing images, logs, and backups.

  6. Implement managed instance groups for Tomcat and Nginx: Managed instance groups will enable Dress4Win to automatically provision and manage VM instances for Tomcat and Nginx. This will simplify the management of the web application layer and provide a scalable, reliable solution.

  7. Implement automation framework for provisioning resources in cloud: An automation framework such as Deployment Manager or Terraform should be used to automate the provisioning of resources in the cloud. This will simplify the management of the infrastructure and enable rapid provisioning of new resources.

  8. Implement continuous deployment process: A continuous deployment process should be implemented to enable rapid deployment of new features and updates. This will improve business agility and speed of innovation.

  9. Support failover of production environment to cloud: Dress4Win should implement a disaster recovery solution that supports failover to the cloud in the event of an emergency. This will provide Dress4Win with a highly available solution that can be quickly activated in the event of a disaster.

  10. Encrypt data on the wire and at rest: All data should be encrypted on the wire and at rest to improve security.

  11. Support multiple private connections: Multiple private connections should be supported between the production data center and the cloud environment to ensure secure communication between the two environments.

In conclusion, option C is the best option for Dress4Win as it provides a scalable, reliable, and secure solution that meets their business and technical requirements.