Migrating Dress4Win's On-Premises Architecture to the Cloud: Key Considerations

Migrating Dress4Win's On-Premises Architecture 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.

What change in the on-premises architecture should you make?

Answers

Explanations

Click on the arrows to vote for the correct answer

A. B. C. D.

C.

The on-premises architecture of Dress4Win is currently running on a single data center location and is comprised of various servers, storage appliances, and databases running Ubuntu LTS v16.04. The company has decided to migrate to the public cloud to accommodate its rapid growth, increase business agility, and improve security by defining and adhering to a set of security and IAM best practices for the cloud.

To begin the migration process, Dress4Win is moving its development and test environments to the cloud and building a disaster recovery site. The company is unsure which components of their architecture they can migrate as-is and which components they need to change before migrating them.

Based on the business and technical requirements, the change that should be made in the on-premises architecture is to containerize the micro-services and host them in Google Kubernetes Engine. This would address several requirements, including the need to improve business agility and speed of innovation through rapid provisioning of new resources and easily create non-production environments in the cloud.

Containerizing the micro-services would also allow Dress4Win to implement an automation framework for provisioning resources in the cloud, as well as a continuous deployment process for deploying applications to the on-premises datacenter or cloud. By using Kubernetes, the company can automate the deployment, scaling, and management of containerized applications, reducing the amount of manual effort required.

Furthermore, Kubernetes has built-in features for failover and disaster recovery, making it easier for Dress4Win to support failover of the production environment to the cloud during an emergency. Kubernetes also supports multiple private connections between the production data center and cloud environment, addressing another technical requirement.

While replacing RabbitMQ with Google Pub/Sub or downgrading MySQL to v5.7 may provide some benefits, these changes do not address the majority of the business and technical requirements stated in the scenario. Resizing compute resources to match predefined Compute Engine machine types may be helpful, but containerizing the micro-services and hosting them in Kubernetes would provide a more comprehensive solution for Dress4Win's needs.