Pinbus is a Colombian company that has been a precursor in the digitalization of the of bus tickets selling in the country, it is a platform where the traveler can compare and purchase their tickets to more than 1600 destinations in Colombia, One of their main advantages is to be able to provide the user all the information regarding bus companies such as services, destinations and availability.
With more than 1.2 million bus tickets sold, Pinbus platform allows travelers to compare trips and buy tickets in more than 40 companies with multiple payment methods including credit cards, Digital Wallets and Cash. In a market of more than 120 million passengers per year, Pinbus is betting on digitization by generating user confidence and trust when purchasing their tickets.
With sustained growth of more than 150% in the last two years, a key part of Pinbus’ strategy has been to grow in a cloud environment like AWS and to leverage on new technologies.
As digitalization grows in Colombia and the transition of users from offline to online channels accelerates, one of Pinbus’s greatest challenges is to have a robust, reliable and scalable solution to support growth and efficiently handle the demand peaks in high seasons. It was essential for Pinbus to have an optimal selection of resources, automatic or predictable autoscaling methods, and fix cost governance for the economic viability of the business model.
Before contracting DinoCloud, Pinbus had a microservices-oriented platform in many of its internal processes but without a defined orchestration tool, with manual deployment processes and with significant security flaws for internal connections and third parties such as payment gateways. Pinbus’ goal is to obtain a dynamic and automated infrastructure that meets security standards, also that is efficient enough to optimize costs as much as possible.
With clear collaboration goals, the best strategy to meet the requirements was to have a fairly precise vision of the current situation of Pinbus and be able to define the necessary good practices. Thanks to AWS Well-Architected Framework we were able to obtain the complete picture of the current situation.
The main focus areas were to have a system with a high performance, cost-optimized and with automated operation that meets the security requirements integrating with third parties as requested.
Having a large majority of microservices already within container technology, the first step was to bring all of them to a single deployment and orchestration platform, migrating those that were still in traditional methods to containers. Thus allowed Pinbus to integrate deployment tools and continuous integration to the stack.
This first approach allowed working in parallel with the Amazon EKS to design and implement a container orchestrator that would provide the ideal performance and scalability for the solution, giving as added values the segmentation of the production and development environments and guaranteeing Availability.
We also performed an extensive security audit that led to the activation of many services integrated in AWS to ensure the privacy, confidentiality and integrity of information.
The use of AWS services was important to achieve a solution according to the needs. We can highlight Amazon EC2, AWS Load Balancer, Amazon EKS, AWS ECR, AWS Elastic Beanstalk. Regarding Storage: S3, AWS Dynamodb, AWS ElastiCache, AWS RDS. For security integration: AWS SES and AWS Security Hub.
Pinbus was a familiar and mature architecture for DinoCloud, thus allowing us to define the logical and functional segmentation of the production and development environment in a 3-layer architecture (public, application and data) with the use of the Kubernetes container orchestrator given by Amazon EKS. The integration of this managed service was a goal achieved thanks to a process of standardization of microservices to consolidated containers in the AWS Beanstalk management tool that helps us validate the complete solution.
Following the best practices of infrastructure as code, we decided to deploy the entire solution using Hashicorp Terraform as our main tool.
The optimization of the infrastructure derived from a modern microservices-oriented architecture resulted in high impact results for Pinbus, such as a reduction in its monthly expenses of approximately 40% just by using an architecture designed for automatic scaling and to the use of correctly dimensioned resources, being able to reduce an additional 20% if reserved commitments are consolidated for the coming years.
From the operational point of view, it was possible to use totally independent environments, with dedicated kubernetes clusters for adequate segmentation, granting extra protection to the environment and sensitive information that is now encrypted at rest with the needed backup methods.
With a continuous deployment approach, changes and addition of new functionalities to the platform are carried out in a more automatic and stable way with reduced times, providing travelers with the improvements of Pinbus with a much faster go-to-market.
Pinbus’ long-term commitment to its users is secured thanks to the possibility of meeting demand with a reliable, scalable and secure architecture, with higher profitability thanks to the significant reduction of investment in cloud.