Petal’s data-driven infrastructure runs on AWS services, from backend infrastructure to the front-office applications landscape. When customers apply for a credit card, they are brought to the web application to fill out required personal information. Petal hosts the user interface for these first webpages using Amazon Simple Storage Service (Amazon S3), an object storage service offering industry-leading scalability, data availability, security, and performance. “We want the first interaction to be very resilient,” says Wang. “By using Amazon S3, we can maintain high availability of our application page for our millions of applicants.”
For data storage, Petal uses Amazon Relational Database Service (Amazon RDS) for PostgreSQL to store its core transactional business data. Amazon RDS is a fully managed relational database that makes it simpler to set up, operate, and scale PostgreSQL databases in the cloud. RDS helped Petal quickly and easily scale its transactional data processing needs during periods of rapid growth. Petal also leverages Amazon Redshift and S3 for storing analytical and research data. Much of this data is fed into Petal’s proprietary ML models used during underwriting and customer account management. To train its predictive models, Petal uses Amazon SageMaker, which businesses can use to build, train, and deploy ML models for virtually any use case with fully managed infrastructure, tools, and workflows. SageMaker allowed Petal to iterate more quickly and effectively on its ML models, including the CashScore model, which is an integral part of Petal’s underwriting and mission to better serve those with little to no credit history. “By using Amazon SageMaker, our data science team can independently govern and configure the kinds of instances needed to train their ML models,” says Wang. “It has the capabilities they need.”
Scalability has been crucial for Petal as its workflows and systems have grown more complex with the steady increase of users and applications. To handle the compute resource needs of its services and machine learning infrastructure, Petal uses Amazon Elastic Compute Cloud (Amazon EC2), which offers secure and resizable compute capacity for virtually any workload. To run its Kubernetes-based workloads on Amazon EC2 in an efficient manner, the company uses Amazon Elastic Kubernetes Service (Amazon EKS), a managed service to run Kubernetes in the cloud and on-premises data centers. On AWS, Petal’s infrastructure easily scales vertically and horizontally as the company has grown from processing a few dozen applications in the beginning to now handling millions of applications. In addition to scalability, Amazon services help boost productivity for Petal engineers. “As our engineering team has gotten more sophisticated, we’ve needed better tooling,” says Wang. “By turning to Amazon EKS, we take away a lot of the extra complexity of running and hosting Kubernetes natively for our small team.”
Finally, Petal attributes its success building on AWS to the relationship its team has built with AWS. Through working proactively and collaboratively with its AWS team, Petal gains access to the latest technologies, critical expertise, unique programs, and valuable perspectives that have advanced its business-critical projects. Wang explains, “The AWS account and technical support staff have partnered closely with Petal to help us take advantage of all that AWS has to offer, including help troubleshooting technical issues, technical design reviews, and engaging in speaking and networking opportunities.”