Dollar Tree Boosts E-Commerce Capabilities Through New Automated, Responsive Infrastructure

Challenge

Dollar Tree wanted to build a custom eCommerce application, which required four hosting environments

Solution

ClearScale designed and developed a solution that leveraged AWS tools for automation, CI/CD, and microservices

Benefits

Dollar Tree now has a flexible and reliable environment to support its new eCommerce application that can scale with demand

AWS Services

AWS Config, AWS CloudTrail, AWS Direct Connect, Amazon Elastic File System, Amazon EC2, AWS API Gateway, AWS Key Management Service (KMS), AWS Identity & Access Management, AWS Lambda

Executive Summary

Dollar Tree is an American chain of discount variety stores that sells items for $1 or less. Headquartered in Chesapeake, Virginia, it is a Fortune 150 company and operates 15,000+ stores throughout the 48 contiguous U.S. states and Canada. Its stores are supported by a nationwide logistics network of eleven distribution centers. The company operates $1 stores under the names of Dollar Tree and Dollar Bills. The company also operates a multi-price point variety chain under Family Dollar which was acquired by Dollar Tree in 2015.

Dollar Tree offers a wide choice of name-brand merchandise at low prices, including health and beauty items, home decor, furnishings, and groceries. Many items in each store are priced at $1 or less, and most items cost less than $10. Dollar Tree prides itself on offering great values on trusted products in clean, well-organized stores staffed by helpful, community-minded employees.

The Challenge

Recently, Dollar Tree commissioned a custom ecommerce application, which required a series of four environments to host it.

This application needed a cloud-based architecture that would reliably support critical components, including pricing, tax, fulfillment, shipping, payment services, and API gateway. It also required excellent levels of performance as well as full scalability, security, automation, redundancy, and high availability.

To create the new environment, Dollar Tree needed a vendor with a long history and proven track record of successful Amazon Web Services (AWS) projects. After doing the necessary due diligence the company turned to ClearScale.

The ClearScale Solution

ClearScale designed and developed the four-environment solution for Dollar Tree, using a variety of AWS products.

After initial project planning and management, the team set up dependencies, included providing access to AWS, along with enabling AWS Config for assessing, auditing, and evaluating the configurations of AWS resources. They also enabled AWS CloudTrail, which provides governance, compliance, operational auditing, and risk auditing of AWS accounts, as well as actions across the AWS infrastructure.

Finally, AWS Direct Connect, which links the data center network to an AWS Direct Connect location over a standard 1-gigabit or 10-gigabit Ethernet fiber-optic cable, was verified.

Automation

Once the architecture had been designed, automation was created to deploy all components on AWS. The team used Packer, an open-source tool that creates identical machine images for multiple platforms from a single-source configuration. In addition, they used Jenkins, a Continuous Integration (CI) server that builds application code and deploys it into an Elastic Beanstalk environment. For non-Beanstalk services, Jenkins integrates with Packer to create an Amazon Machine Image (AMI), then uses it to update auto-scaling groups.

CI/CD Flow

CI/CD Flow

The new infrastructure was deployed using Terraform, an open-source tool for creating, managing, and manipulating infrastructure resources and improving production infrastructure.

The new ecommerce application consists of a set of microservices that are launched as AWS Elastic Beanstalk applications. Elastic Beanstalk is an easy-to-use service for deploying, scaling, and managing web applications and services. It takes the worry out of dealing with AWS infrastructure.

These microservices use MongoDB Replica Set and Amazon Elastic File Service (EFS) as data sources. MongoDB is a scalable, flexible document database that provides querying and indexing. It stores data in flexible, JSON-like documents. Amazon EFS provides easy-to-use, scalable file storage for creating and configuring file systems quickly and easily.

Amazon EFS is used with Amazon Elastic Compute Cloud (EC2) instances in the AWS Cloud. Each EC2 instance is joined to a Simple AD domain, which provides centralized SFTP user management for remote access. Simple AD is deployed in a Shared/Sec Virtual Private Cloud (VPC) in the Master Account.

Requests from clients are delivered through AWS API Gateway. This fully-managed service provides a management console for creating, publishing, maintaining, monitoring, and securing APIs at any scale. The Log messages from microservices are aggregated using AWS CloudWatch Logs services, a monitoring service for AWS Cloud resources and applications. CloudWatch collects and tracks metrics, collects and monitors log files, sets alarms, and automatically reacts to changes in AWS resources.

The architecture also included Environment and Shared VPCs, which are virtual networks dedicated to each AWS account and logically isolated from other AWS virtual networks. They enable AWS resources to be launched into a predefined virtual network.

Logical Diagram

Logical Diagram

In addition, API Gateway Private Integrations are used to create API endpoints that are integrated with each VPC. This way, users can access HTTP(S) resources within the VPC without being exposed to the public internet. A single, common Network Load Balancer (NLB) sends requests to multiple destinations in each VPC, including all API Gateway Private Integrations. The link between each VPC and the NLB is provided by Elastic Load Balancing.

API Gateway Private Integrations

API Gateway Private Integrations

AWS Key Management Service (KMS) creates and controls data encryption keys using Hardware Security Modules (HSMs) to protect their security. In addition, AWS IAM gives authenticated users temporary, limited privilege credentials, which are then used to access AWS resources. And EC2 Systems Manager Parameter Store provides secure, hierarchical storage for managing configuration data and secrets.

With the new environment in place, AWS Lambda is used for scheduling development and test environment run times, with functions for stopping and starting the environment.

The Benefits

Dollar Tree gained a flexible, secure, highly available environment to host its ecommerce application. The company benefited from having a trusted AWS partner, ClearScale, who has deep expertise in handling even the most complex requirements and accelerating the speed of innovation.

Through ClearScale, Dollar Tree now benefits from a highly responsive, auto-scalable, automated, and redundant cloud infrastructure. The company can focus on running the business and improving the ecommerce application, knowing that ClearScale provided an AWS infrastructure built on proven best practices.