Background and Purpose

The PwC Now Application was born out of the desire to give users seamless access to meaningful enterprise data, informed by daily habits and activities. The ETA Team approached the engagement as a multi-phased implementation of aggregating, structuring, and delivering enterprise data using modern Infrastructure, DevOps, Design, and Development practices.

Project Description

Design and Development

The ETA Team applied our award winning Design and Application Development Methodologies to the development and branding of the PwC Now Application. Challenged with the desire to empower employees ranging from new hires to Executives with quick bytes of data, the team drew inspiration from industry best practices throughout the development lifecycle. Ultimately, the team landed on a card-based application, utilizing Material Design and modern technologies like React and Node.js. To enable serving up topical content, the team helped organize and restructure data through ETL processes from various systems into a PostgreSQL Data Warehouse, delivered to the application via API endpoints based on an Artificial Intelligence engine.

To enable better stakeholder feedback along the way, the team elected to deliver using a streamlined Agile approach, with product iterations and multiple opportunities for feedback within two-week delivery cycles. These cycles allowed for delivering fully-functional code to Production environments in minimal amounts of time, transforming the standard application delivery process.

Infrastructure and Architecture

ETA’s goal is to define the future of application development, delivery, and operations. To enable that, careful consideration and forethought was applied to the overall PwC Now infrastructure. As one of the earliest adopters of Docker Universal Control Plane (UCP), the original implementation was executed entirely on PwC servers in two regionally separated data centers. Due to issues with availability of data centers, the ETA team had to rapidly convert the PwC Now Docker fabric from entirely on-premise to a hybrid cloud implementation spanning private data centers and Google Cloud Platform (GCP). The move to a hybrid cloud offered increased scalability and increased agility for configuration updates. These environments run independent instances of Docker UCP (for security reasons they were kept separate) and utilize an CA API Management gateway to communicate between the on-premise and cloud based components. The on-premise servers are provisioned on top of PwC’s existing VMWare based stack and managed using Ansible, which pushes out configuration updates to the servers and handles installing UCP in new environments.

The GCP based components are managed using autoscaling group launch configurations – as traffic increases more Swarm nodes are provisioned and containers are deployed to the new servers within 60 seconds. This principle is used not only to achieve scale, but to ensure high availability across multiple zones within Google. The team used Docker’s reference architecture as a blueprint for each environment. The team selected Interlock as the proxy layer, exposing application endpoints over SSL connections down to the worker nodes that have no direct exposure to the internet. We implemented a robust monitoring and alerting platform using New Relic, Google Cloud Monitoring, StackDriver Logging, and Pager Duty to alert the operations team of potential issues, as well as automating responses to reduce repetitive tasks by the operations team. Through the above infrastructure, we are able to support over 80,000+ users with a relatively small operations team, deploy application code multiple times per day, and exponentially increase the rate at which value is provided to the business.

Outcome

While changing and evolving can often be met with resistance and obstacles, the ETA and PwC teams worked together in order to prove the value of embracing disruptive technology and processes. The PwC Now Application is a ground-breaking and significant achievement in part due to it’s complexity and the multi-faceted implementation strategy carried out by the ETA Team. Enabled by the different work-streams, we are able to deliver bleeding edge features that span across Design, Development, Architecture, and Operations disciplines within a large enterprise environment. These features all seek to empower users within the Business to make better informed decisions, increasing the firm’s overall competitive advantage.