Dress4Win Cloud Migration: Business and Technical Requirements

Cloud Migration Strategy for Dress4Win

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.

Considering Dress4Win's business and technical requirements, what should you do?

Answers

Explanations

Click on the arrows to vote for the correct answer

A. B. C. D.

C.

Based on the requirements and technical environment provided, the recommended approach for Dress4Win is to move to the cloud and build a disaster recovery site, while migrating their development and test environments in the first phase.

Regarding the technical requirements, the following actions should be taken:

  1. Easily create non-production environments in the cloud: To achieve this requirement, Dress4Win can use Infrastructure as Code (IaC) tools such as Google Cloud Deployment Manager, Terraform or CloudFormation. These tools allow creating templates for infrastructure components, enabling the rapid creation of new environments.

  2. Implement an automation framework for provisioning resources in cloud: To achieve this requirement, Dress4Win should use Configuration Management tools such as Ansible, Puppet or Chef, or use the native automation tools provided by the cloud provider to automate the provisioning of resources.

  3. Implement a continuous deployment process for deploying applications to the on-premises data center or cloud: To achieve this requirement, Dress4Win should use a continuous integration and deployment (CI/CD) tool such as Jenkins or GitLab CI/CD to automate the deployment of applications to the on-premises data center or cloud.

  4. Support failover of the production environment to cloud during an emergency: To achieve this requirement, Dress4Win should use a multi-region deployment strategy and implement a disaster recovery (DR) plan. The DR plan should include procedures for the failover of the production environment to the cloud during an emergency.

  5. Encrypt data on the wire and at rest: To achieve this requirement, Dress4Win should use Transport Layer Security (TLS) or Secure Sockets Layer (SSL) to encrypt data in transit. For data at rest, Dress4Win should use server-side encryption with customer-managed keys or Google-managed keys.

  6. Support multiple private connections between the production data center and cloud environment: To achieve this requirement, Dress4Win should use a Virtual Private Network ( VPN) or Direct Connect to establish private connections between the production data center and cloud environment.

Regarding the business requirements, Dress4Win should consider the following:

  1. Build a reliable and reproducible environment with scaled parity of production: To achieve this requirement, Dress4Win should use IaC tools such as Google Cloud Deployment Manager, Terraform or CloudFormation to ensure that the infrastructure is consistently deployed across environments.

  2. Improve security by defining and adhering to a set of security and IAM best practices for cloud: To achieve this requirement, Dress4Win should define and enforce IAM policies, implement network security controls, and apply security patches and updates to the infrastructure.

  3. Improve business agility and speed of innovation through rapid provisioning of new resources: To achieve this requirement, Dress4Win should use IaC and automation tools to enable the rapid creation and deployment of new resources.

  4. Analyze and optimize architecture for performance in the cloud: To achieve this requirement, Dress4Win should perform a thorough analysis of their architecture and optimize it for performance in the cloud. This may involve making changes to the infrastructure components, such as adjusting the size of VMs or choosing different storage options.

Based on the above analysis, the recommended answer is C. Assign predefined IAM roles to the Google Groups you created in order to enforce security requirements. Utilize Google's default encryption at rest when storing files in Cloud Storage.

The answer involves assigning predefined IAM roles to Google Groups to enforce security requirements, which meets the business requirement of improving security. Using Google's default encryption at rest when storing files in Cloud Storage meets the technical requirement of encrypting data at rest.

Answer A is incorrect because using customer-supplied encryption keys for files in Cloud Storage does not align with the technical requirement of easily creating non-production environments in the cloud.

Answer B is incorrect because enabling default storage encryption before storing files in Cloud