Affinion is a leader in loyalty and customer engagement solutions with more than 250 million customers and operations in more than 20 countries. VirtusaPolaris was engaged to assess and migrate one of their customer loyalty solutions in the Webloyalty Line of Business. The final solution also had to provide measures to improve agility in the release management process, for quicker time to market.
We engaged with the Affinion Webloyalty group in a very collaborative manner. Senior stakeholders from the Webloyalty provided vision and guidance on specific aspects of how the AWS infrastructure should be implemented. The Webloyalty team also did prior experimentation with AWS services and laid the ground rules for adopting AWS services such as AWS CodeCommit, AWS CodeDeploy and AWS WorkSpaces.
We employed a two phase approach based on VirtusaPolaris cloud assessment and migration model.
- Micro Analysis of the loyalty solution
- Design and Implementation of cloud architecture
The loyalty solution we analyzed consists of more than 100 small, medium, large applications including Web Apps, Web Services and content management systems. The on premise physical infrastructure was not well aligned to support business growth in new and emerging markets such as Europe and South America. Subsequently, we found that the existing deployment process was manual with extended downtimes and had the chances of human error it was dependent on manual intervention. Additionally, we found that a traditional patch management process was being followed.
Micro Analysis consisted of review and analysis of current infrastructure, application and deployment landscape to come up with a secure, reliable, scalable and cost effective cloud architecture for Infrastructure and build management.
Design and Implementation
In the Design and Implementation phase we further refined our cloud design and also articulated an automated continuous integration and deployment pipeline using cloud native tooling.
Some of the key characteristics of the AWS architecture we implemented are;
- Auto-scalable by design for scalability and elasticity
- Highly available and disaster tolerant by using multi AZ and multi Region architecture
- Secure to meet stringent data protection, security and compliance requirements
- Fully automated to meet infrastructure provisioning on an as-needed basis
Security on the Cloud
Some applications within the scope of the loyalty solution stores and process PII (Personally Identifiable Information) and data that falls within PCI/DSS and therefore have stringent security and compliance mandates attached. VirtusaPolaris used a multitude of security measures offered by AWS services such as VPC, NACL, Security groups, Private Subnets, SSL/TSL, encrypted volumes, IAM, MFA to implement a compliant architecture. We also used a multitude of 3’rd party and AWS Marketplace services to implement additional security ranging from hardened images to advanced threat management and reduction features.
Continuous Integration and Deployment
During the Design and Implementation phase, we also designed a continuous integration framework and full workflow to support;
- Automated build deployment for multiple lower environments (i.e. Dev, Test) and Production
- Rolling deployment to minimize downtime
- Multi region deployment
The continuous Integration framework was implemented utilizing AWS services to the maximum degree possible. We adopted solutions like Jenkins to implement more complex deployment scenarios.
- AWS CodeCommit for code repository
- AWS CodeDeploy for rolling deployment
- S3 for storing build and inter region replication
- Jenkins for Automation
Increased Agility through AWS WorkSpaces
Our provisioning model also factored in using AWS WorkSpaces as developer workstations. This allows Affinion to reduce the time in on-boarding new resources, reduce dependence on corporate VPNs for connectivity and also to reduce overall cost of managing developer workstations.
Iterative Approach to Cloud Provisioning
VirtusaPolaris used a proven iterative approach to designing and building the multiple environments necessary to support the loyalty solution. The lower, non-production class environments were built based on a single AZ pattern to minimize cost. The higher production class environments were built on a multi-AZ pattern for high availability and failover. Our approach was ground-up automation and was based on a set of highly parameterized and scalable CloudFormation scripts. This allowed us to maximize reuse and maintainability for further refinements and tuning.
The iterative approach also let us align more efficiently with Affinion’s internal goals and milestones by being able to deliver lower environments first and on-board the development teams quicker.
Benefits of Our Solution
Using our methodologies and established approaches, we were able to deliver cloud enablement for the loyalty solution within a short time meeting Affinion’s requirements. Some of the benefits we were able to deliver include;
- Increased agility in application transformation – Affinion was able to transform the loyalty application to leverage higher order AWS services in record time once the development was switched over to cloud with the new CI/CD pipeline
- Reducing possibility of injecting errors due to manual intervention
- Streamlined scaling of development capacity enabled by AWS WorkSpaces
- Improved time to market – By leveraging the scalable automated provisioning model, Affinion is able to deploy the solution in new geographies to capture new and emerging markets
- Improved response times – Multi-region deployments by virtue of being closer to the consumer is able to deliver improved user experience