BudgetPulse.com

  • Industry: Finance, SaaS
  • Challenge: BudgetPulse to use AWS cloud to fully utilize the advantages of cloud computing, DevOps process using the latest and greatest technologies, all by satisfying the industry standard security guidelines of financial application.
  • Services & Tech: AWS CodePipeline, AWS CodeBuild, AWS CodeDeploy, Amazon ECR, AWS Elastic Container Service, AWS CloudFormation, S3, EC2 AMIs, Git and Ansible.
BudgetPulse.com is an online personal budgeting tool that offers the perfect combination of simplicity and functionality. It was designed so that anyone can quickly and easily take control of their personal finances. It is sold as white labeled solution to leading financial organizations around the world and premium version available to regular users on the web.

The Challenge:

BudgetPulse.com was deployed on a different cloud service provider utilizing its own cloud. In the last few months, BudgetPulse’s paid user base increased substantially. They also had an increased need for less downtime around the clock, including weekends. The previous cloud service provider had a complicated change management process and application deployment thereafter.  Also, the BudgetPulse support team performs manual deployments and  patching to their servers so managing the dependencies were a challenge.  Due to the limitations and the considerable effort involved, the deployments could not be done frequently. This had been causing a delay in making new and updated features available to production. It took between 5 to 7 days to promote a simple change from development to production. In addition, every production deployment requires between 3 to 5 hours of downtime for the application.

BudgetPulse team partnered with Cloudism to replace their previous cloud provider and rebuild its DevOps pipeline to support continuous deliver with zero-downtime deployments.  Due to our extensive experience and expertise in AWS, we recommended that BudgetPulse use AWS Cloud. AWS Cloud would allow BudgetPulse to fully utilize the advantages of cloud computing using the latest and greatest technologies, all which satisfy the industry-standard security guidelines of financial applications.

The solution:

Application Architecture:

BudgetPulse has been rearchitected using the following goals:

  • Decompose application functionality into a series of container based microservices that can be maintained, deployed and scaled independently, which will significantly increase application agility and availability
  • Leverage an API-first strategy to enable API-based access to other integrating systems including legacy components
  • Every application component is reviewed and redesigned for maximum reliability and scalability
Infrastructure:

The entire infrastructure of the BudgetPulse is hosted in the AWS Cloud. Infrastructure has been designed and deployed using the following best practices:

  • Provision and decommission of the infrastructure using the AWS native service CloudFormation
  • Provision CloudFormation templates using Ansible
  • Utilize Ansible for the patch managements in case of any critical updates that has to be addressed immediately
  • Make entire infrastructure immutable to host the application and built afresh using the latest AMIs
  • Rebuild environments every two weeks using hardened AMI to address any new security vulnerabilities, without any downtime
DevOps:

DevOps Pipeline has been redesigned to speed up the application development process and also to reduce the time between the development and deployment. The pipeline goes through the following tools and processes:

  • GitHub: The version control tool for software development where all the code related to the application development is hosted
  • AWS CodePipeline & AWS CodeBuild: The integration server where code committed in GitHub goes through various stages like Static Code Analysis, Unit Testing, Build, Publish and Deploy
  • Amazon ECR: An Artifact manager where the Artifact/Docker Image that is generated out of the AWS CodeBuild build step is published and managed
  • AWS-ECS: From the Amazon ECR, the Docker Image for each service is deployed to the EC2 instances placed under the ECS cluster in AWS cloud using AWS CodeDeploy, which takes care of the high availability and scalability of the services
  • Checkpoints are places in the release workflow where approvals are required at certain stages of the deployment process
  • Quality Gates are where different levels of Testing and Security checks are performed and determined if an Artifact is ready to be promoted to the next environment.

The Outcome

The team achieved greater than 80% confidence on application deployments and quality of releases. Able to perform over 20 deployments in a day across all environments including production with zero downtime. In addition, here are some of additional benefits that have been realized:

  • Any small development/modification in code gets deployed immediately on commit for testing through the automation
  • Reduced release timelines which indirectly improves developer productivity and innovation
  • Code Coverage standard has improved by ensuring a minimum of 85% of coverage thus providing a quality delivery
  • Infrastructure in minutes – Once what takes between few days to a week to provision an environment), now takes only between 25- and 40-mins using Infrastructure as Code (IaC).
  • Immutable infrastructure – Almost zero configuration management where the entire infrastructure is rebuilt to address any vulnerabilities or server failures
  • Reduced Operations costs – Unused servers can be stopped and started when required. Through Autoscaling the infrastructure can be scaled horizontally to meet the application traffic, when needed.
“We are glad that we have selected Cloudism to assist with this transition who has extensive technical AWS expertise in the SaaS industries, went above and beyond to deliver the solution within tight budget and schedule. Cloudism’s well thought approach made us to reiterate our architecture few times to attain the results we wanted.”

Craig Kessler
Marketing Director at BudgetPulse.com

Our mission is to empower organizations to thrive in the cloud…