How amaysim scaled its offerings while improving the customer experience
This project was completed by Trineo before our teams became one; but regardless of which name is attached to it, all of our customers can count on receiving the same level of support, dedication, and expertise.
amaysim is a mobile service provider, with over 1.1 million subscribers, providing home internet, energy and devices to approximately 800,000 Australian homes. amaysim is a technology-driven company, offering DIY account management backed by online-first support.
It has to be easy. It has to be simple. That’s the basis of amaysim. Amazingly. Simple.
To uphold the core brand propositions of simplicity and exceptional customer service while executing the rapid growth plans to come, amaysim planned to make some big changes in preparation for product line growth. It was time to support amaysim’s future as an Australian telco and tech leader.
Partnering with Trineo to plan for product line growth
amaysim partnered with Trineo to split up the current architecture: adding fault tolerance, configuring their new tech stack, and syncing data with core existing systems. With product line growth imminent, it was also the right time to help build out and train amaysim’s IT team, with Trineo serving as advisor and educator by working as a blended unit with new hires.
Trineo transitioned amaysim’s architecture from two components: a frontend user-facing Rails app (My amaysim) and a backend server (EC), into a decentralized set of interdependent systems. Using the OAuth framework, they built out customer data management (CDM), identity services (IDP), and single sign-on services (SSO) to facilitate logging in, easy purchasing processes for customers, and authenticated data flows between these existing systems (which still have valuable roles to play) and new.
Customer frontend applications use a suitable OAuth strategy to enable inline login from any purchase funnels, so customers don’t have to jump out of purchasing flows. In other cases customers enter via the global amaysim login screen. New applications that have been built recently adopt the JAMStack pattern.
Identity Service Provider (IDP) provides user login functionality and OAuth authentication for all amaysim applications. You can read much more about IDP on the amaysim engineering blog.
Customer Data Management (CDM) contains all user-specific, personal information unrelated to specific apps or systems within the amaysim suite of products and services. It also houses identifiers for amaysim customers in all downstream BSS applications for each vertical.
Event streams use AWS componentry leveraged with the serverless framework, and are used in multiple places for communicating events across the various distributed systems.
Backend business systems (BSS) are a variety of core systems fronted by API gateways as an ‘anti-corruption layer’ and in most cases they also handle OAuth.
Additional modern, flexible architecture decisions included:
Running in AWS Sydney
The CDM/IDP system was built on Rails and runs on amaysim’s containerised environment inside of AWS and can be deployed continuously with zero downtime.
Intelligent location of data in preparation for product line growth
John Masson, Trineo Director Australia, explains how the team chose where data belongs. “The architecture was built so that we could have a separate core identity (IDP) and customer account (CDM) information, so that even if you didn’t have any amaysim services, you could still log in and update your information. Also, the specifics of each service (Mobile, Energy, etc.) are still held in their respective backend services--we just keep a reference to you in each system.” The team architected CDM/IDP to be separated in the future (if desired) to make it safer and easier for teams to iterate on CDM without touching IDP. It’s also very easy to add a new business vertical into this model.
A move toward event-driven architecture... and speed
amaysim also uses AWS Kinesis and AWS Lambda functions for managing change events and is transitioning from purely data syncing to more of an event-driven architecture. John Masson says, “For example, if someone changes their email address in CDM, the information goes out onto a Kinesis stream, with multiple Lambdas retrieving and updating different downstream APIs in their required formats. Instead of waiting to make multiple synchronous calls to update APIs, the process is decoupled. With various strategies to ensure fault tolerance, updates will always be shared, with eventually consistency."
“Anyone can come along and subscribe to that event stream and update their system as they need to. This architecture helps amaysim move faster as systems grow and allows more responsive applications for customers. In the old days, if you bottlenecked on one call, everything had to wait, all the way back to the front end.”John Masson, Director Australia, Trineo
amaysim achieves rapid growth and excellent customer service
Due to the new flexible, intelligent architecture, amaysim spun up whole new businesses very quickly—adding broadband, energy (electricity and natural gas) and device sales to its portfolio—going from one product line to four. They have also maintained a simple buying experience. For example, customers could purchase the new broadband product offering in just four steps!
Customer service improved tremendously as well. With new customer service tools that quickly deliver pre-filled customer forms, customer service reps could switch to simply verifying information rather than asking customers for their data; a much faster, less error-prone and friendly way to provide service.
Slow, low-stress user migration was a big success
When transitioning to the new architecture, the team wisely chose to take a steady migration approach. They organically moved hundreds of thousands of users to the new system over a few months and avoided a big, stressful cutover. It was so successful that the new systems were live in production a few months before the new broadband product line launched. “That was one of the best lessons,” says John. “It demonstrated how good a low-stress launch can be. Everything was there and working ahead of time and other teams could just plug into it.”
“We’ve enabled marketing and cross-selling opportunities by building IDP and CDM and are working on new pieces to provide amaysim with a more comprehensive view of each customer. Going forward, it’s simple to see who has what and make specific offers to customers based on this.”John Masson, Director Australia, Trineo
Deployment frequency skyrocketed
Previously, amaysim would do one release a month; now they do many zero-downtime releases a day, and the number is accelerating. This is enabled by having distributed systems that are easier to work on, with newer technology supporting them. It’s much easier to make changes and deploy and not think about it. (Read about amaysim’s Continuous Delivery trajectory in this article from Richard Dean, Director of Engineering.)