Any technology company that has been around for a couple of decades, and grew from a start-up to becoming a world-wide key platform provider, sees opportunities to improve their technology at some point. ATP is not an exception, and moving into 2020 the Engineering team will be focusing their efforts on ensuring that our platform is highly scalable, lower in maintenance, and even faster moving in terms of capability enhancements.
In this new series, we will explore the exciting work underway by the Software Engineering team. This team is led by Vinay Kumar who joined the company in April of 2019 as Vice President of Software Engineering. Having brought with him many years of experience leading large-scale transformation programs in the financial services industry, Vinay is an avid techie always keeping up to date on the latest technology trends. Laser-focused on driving efficiencies and improving our business agility, Vinay and his team are allowing us to move at a pace our customers will greatly benefit from. Vinay studied Computer Science at the University of Ottawa and is now based at our new Toronto-area software development offices.
Many key initiatives are already in play with Vinay and his team with projects focused on Scalability, End-User Insights, Common Codebase, and Data Management.
What Our Team Is Working on To Improve The ATP Experience
We’ve all heard this before: “Improve performance…? Add servers, memory, CPU…” In today’s world, where infrastructure provisioning enables us to automatically activate a server, switches, or other components to make them immediately available to users, we can do better than that.
ATP’s end goal is to ensure a consistent user experience across all channels, at all times. With this in mind, we are leveraging the Docker and Kubernetes containers and services, to ensure that products run reliably in different computing environments. We offer both a cloud-native and an on-premise solution for customers who require it. Scaling has never been more seamless and everyone on the team is focused on making it even more so. With automation, we are able to meet higher-power demand in split seconds or scale down usage and lower operating costs.
Later in 2020, during the second phase implementation, the team will be moving to serverless compute options to further reduce the need to manage provisioning, and to truly pay for use without compromising on performance.
As our platform expands, it becomes more important to understand user behaviour for usability enhancements and support. This is to ensure that our platform adapts to its users and that support related issues are handled swiftly, with fewer interactions with the users.
We continue to expand on our Pendo investment, which helps us view and better understand user-behaviour. How users are clicking through our system, which features are more commonly used, and which paths they take to navigate our applications are just some of the great insights we use to improve the product. Pendo also has the ability to capture direct feedback from the users in the form of short surveys.
In phase two, our objective will be to identify and rectify issues before users call support. We will be adding the necessary pieces so that support personnel will be alerted to long-running or erroneous sequences of information exchanges (transactions). If call-ins do happen, support will be able to understand exactly what the user was doing, and how each technology component played a role.
To achieve this, all components of our platform will be shipping logs to a central log management system. With the help of Correlation IDs, we will map all component interactions with the transaction that they belong to as well as the medium as to which they were initiated, and perform transactional analytics to create thresholds of abnormal system behaviour.
ATP offers solutions that can be used in a web browser, as a desktop application, or as a mobile App, and we pride ourselves in offering our customers flexibility. At the same time, we are cognizant that ever-changing source codes being used to build applications (codebases) while adding a feature in one channel may be simple, there may be difficulties having it work in another one.
To minimize the impact of dealing with different codebases, we are now experimenting with Progressive Web Apps (PWAs). PWAs will provide us with the following key benefits:
- A single responsive user interface (UI) shared across all channels, while maintaining a native experience across devices.
- Improvements in maximum capabilities of the platform, with or without connectivity to the internet.
- Easily taking advantage of channel specific capabilities such as cameras on devices, and the ability to receive push notifications.
Aside from that, ATP has already started to create a central repository of libraries that is shared across the platform. This enables an internal open source environment where developers enhancing one application can benefit another. In 2020 we will further extend these libraries and retrofit them into new applications, moving towards a build-once and reuse paradigm.
At ATP, we deal with large volumes of data and we are on a journey to streamline how data is managed in our environments. Phase one covers three aspects: Information Retrieval, Orchestration, and Data Delivery.
Apache Solr Cloud has been selected as the tool to manage all information retrieval. Apache Solr consists of a NoSQL database, Lucene, and native support for HDFS. The NoSQL database will be used to bring together key data from multiple data sources, Lucene will be used for its powerful search capabilities, and HDFS will be used to manage data availability and performance.
Apache Camel is being used to stitch all services and components together. It supports routing and generation of APIs with ease and is a great way to manage data flows.
To enhance and guarantee our data delivery and processing capabilities for large-volume transactions we use Apache Kafka. In phase two we will continue to work on disconnected client deployments. Apache Kafka will ensure 100 percent delivery, even if the device is disconnected for long periods of time.
These initiatives, underway and well-planned in our road map for 2020, will help ATP further build upon their platform and greatly enhance the customer experience within all products and services. We look forward to providing you with updates as we continue along this journey.