Infrastructure migration & online login revamp POC

June has been all about putting things into action. In May, we partnered with LSD Open as part of our infrastructure redesign initiative. This month, we’ve successfully migrated to Kubernetes and Terraform in our non-production environment. This deployment allows us to thoroughly test and optimise the system before moving to production. We’re also pleased to share that three banks are now participating in our POC for the online login revamp initiative. Our goal is to enhance the usability, reliability, and performance of our solution, ensuring a more seamless and dependable experience for both users and clients. 

We sat down with our lead engineers on both of these releases to better understand the progress we’ve made. 

Infrastructure Migration 

The primary motivations behind migrating to Kubernetes and Terraform were to enhance scalability, improve infrastructure management through automation, and increase deployment efficiency, we’ve migrated over in a non-production environment.  

How does the migration improve efficiency and scalability? 

  • Automated Infrastructure Management: Streamlines management through automation, reducing manual intervention and potential human error. 
  • Dynamic Scaling: Kubernetes provides dynamic scaling capabilities, allowing the system to adjust resources based on demand, ensuring optimal performance during peak times and cost savings during low demand. 
  • Infrastructure as Code (IaC): Terraform enables infrastructure to be managed as code, allowing for version control, repeatable deployments, and easy rollbacks, enhancing environment consistency and reliability. 
  • Resource Efficiency: Karpenter optimises resource usage, reducing costs while running a system that scales on demand. 

What challenges did the team face during the migration process? 

The team encountered a complex learning curve with Kubernetes, Terraform, and Karpenter, requiring significant time and effort to become proficient. However, we are learning fast, and ready to go live any minute – watch this space.  

What are the benefits of deployment in a non-production environment?

Using a fully replicated environment increases the likelihood of detecting shortcomings and possible failures before deploying the changes to production, reducing the risk of negatively impacting our current customers. The replication also ensures transparency when making system improvements.

  • Validation of Configurations: Ensures that the setup and configurations are correct and function as expected before deployment to production. 
  • Risk Mitigation: Identifies and addresses potential issues in a controlled environment, mitigating risks before deploying to production. 

What are the next steps after this? 

  • Monitor Non-Production Configurations: Continuously monitor and validate configurations in development and UAT environments. 
  • Production Infrastructure Deployment: Deploy the necessary services in the production environment using Terraform. 
  • Production Migration Scripting & Rehearsal: Develop and rehearse migration scripts and data transfer to ensure a smooth transition. 
  • Production Migration: Execute the migration to the production environment. 
  • Legacy Account Cleanup: Clean up legacy accounts and resources post-migration. 

Online Login Revamp Proof of Concept  

The online login revamp POC involved defining clear objectives and scope, evaluating suitable technologies, and developing a prototype to validate key functionality and usage. 

What are the main objectives of the online login revamp initiative? 

  • Optimise User Experience and System Performance: Reduce drop-off rates, improve performance, refine retry policies, implement robust monitoring and error handling, and enhance error logging mechanisms. 
  • Reduce User Drop-Off Rate: Decrease the rate of user drop-off during interactions with the online login iframe by streamlining user input requirements, touchpoints, and displays. 
  • Improved Performance Between Frontend and Backend: Enhance responsiveness and user experience by addressing unpredictable and delayed performance between the frontend (FE) and backend (BE) systems. 
  • Implementation of Performance/System/Application Monitoring: Establish comprehensive monitoring systems to track performance metrics, enabling proactive identification and resolution of system errors and bottlenecks. 
  • Enhanced Error Handling: Improve handling of errors encountered during the online login process to minimise disruptions and user dissatisfaction. 
  • Optimised Retry Policies: Strengthen retry policies to effectively handle transient errors or failures encountered during online logins, improving the success rate of login attempts. 
  • Improved Process Error Logging: Enhance the process error logging system to facilitate early identification and resolution of screen errors, reducing inefficiencies and user frustration. 

Which 3 banks are involved in the POC?

We chose banks that require Multi-Factor Authentication (MFA) on their internet banking login profiles to demonstrate our solution’s effectiveness in handling complex banking interfaces. The banks in the POC are: 

  • Capitec 
  • Discovery 
  • Standard Bank 

What specific improvements are being targeted?

  • Use of Go Language: Leveraging Go’s performance advantages for faster execution times, efficient memory usage, and improved responsiveness and efficiency of our application. 
  • WebSockets for Real-Time Communication: Implementing WebSockets for communication between the app and the frontend ensures instant feedback. 
  • BigQuery for Data Streaming: Utilising BigQuery to stream events, logging, and other metrics, allowing for faster and more efficient data processing and analytics. 
  • Comprehensive Monitoring Systems: Implementing performance, system, and application monitoring to track key metrics such as response times, process times, throughput, and latency, enabling proactive identification and resolution of performance bottlenecks. 
  • Infrastructure Redesign: The underlying hardware of the new online login journey will be modular and utilise the advantages provided by our existing clusters. 
  • Improved Integrations: The system implements an abstracted interface with any underlying messaging system and database, allowing experimentation with various services without affecting system operations. 

How does the POC process help in refining the final product? 

The POC allows us to: 

  • Validate Core Concepts: Demonstrate the feasibility of key features and technologies. 
  • Identify Technical Challenges: Address potential technical hurdles early on. 
  • Improve Design and Functionality: Experiment with different design and functionality options. 
  • Refine Requirements: Clarify and refine product requirements. 
  • Reduce Risk: Mitigate risks by addressing uncertainties and validating assumptions. 
  • Future-Proofing: Establish a solid foundation for scaling the solution. 

What technologies are being used in the revamp initiative?

The POC is managed by Kubernetes and runs on a modular, reliable architecture. We utilise technologies such as Redis, DynamoDB, SNS, and SQS for queuing, database, notification, and subscription services. 

User experience benefits

What can we look forward to in the next round of iterations? 

  • User Behaviour Analytics: Implement analytics to track and analyse user behaviour, enabling data-driven decisions to improve user experience. 
  • Kubernetes Deployment: Complete the migration to Kubernetes for better orchestration, scaling, and management of containerized applications. 
  • Addition of Banks: Expand our repository of supported banks.