2020-03-13 22:19:49 -07:00
---
2023-03-14 11:25:48 -07:00
title_tag: Credijusto | Case Studies
title: "Credijusto: Taming Network Configuration Complexity"
2020-03-13 22:19:49 -07:00
description: |
Credijusto used Pulumi to help its development team scale to support rapid growth
while enforcing best practices for their infrastructure.
2023-03-14 11:25:48 -07:00
meta_desc: Learn how Credijusto worked with Pulumi to help its development team scale to support rapid growth, while enforcing best practices for their infrastructure.
2020-03-13 22:19:49 -07:00
customer_name: Credijusto
customer_logo: /logos/customers/credijusto_logo.svg
2021-04-21 09:02:53 -07:00
customer_url: https://credijusto.com
2020-03-13 22:19:49 -07:00
exec_summary: |
Founded in 2015, [Credijusto ](https://credijusto.com/ ) provides asset-backed loans and
equipment leases to small and medium-sized enterprises (SMEs). With approximately 300
2021-04-22 14:29:58 -07:00
employees, it has launched several new financial products at better rates, faster delivery,
and peerless customer experience when compared to traditional lenders. Its operations
are supported by an AWS-based hybrid cloud architecture. Pulumi enabled the company
to migrate quickly and easily from Hashicorp Terraform and other legacy configuration
tools, which limited their teams’ ability to scale. Using Pulumi has helped Credijusto
to migrate from Amazon ECS to Amazon EKS, and to make use of [AWS Lambda ](https://aws.amazon.com/lambda/ )
and [Amazon RDS ](https://aws.amazon.com/rds/ ) using real programming languages. This
enables the company to modernize its infrastructure quickly and cleanly, ensuring
reliability and accelerating recovery times when needed. Beyond infrastructure configuration
and deployment, Credijusto is going one step further in using the new Pulumi CrossGuard
‘ Policy as Code’ capabilities to ensure that engineering teams stand up new services that
comply with company standards.
2020-03-13 22:19:49 -07:00
sections:
- label: Exec Summary
anchor: executive-summary
- label: Challenges
anchor: challenges-faced
- label: Results
anchor: results
- label: Conclusion
anchor: new-opportunities
---
## About Credijusto
Credijusto is a new generation of credit for emerging markets. It evaluates the financial
situation of SMEs and provides personalized service to enable clients to access funding
quickly. With national coverage, it has served thousands of companies in Mexico and is
growing at a monthly rate of 15%. Through the Credijusto platform, millions of companies
can obtain access to credit in a fraction of the time and effort required with traditional
banks. Its credit models are focused on the health of each business, focusing on overall
performance, rather than considering only the owner's personal credit history.
## Challenges Faced
Credijusto's high-growth model and accelerated success have led to the rapid expansion of
its IT team over time, with many of its solution architects having developed key projects
and then moved to other positions. This led to the development of a highly-complex, hybrid
cloud model to support its rapidly-growing customer base. Extensive use of [Amazon Elastic
Container Service](https://aws.amazon.com/ecs/) (Amazon ECS) preceded a wholesale shift to
[Amazon Elastic Kubernetes Service ](https://aws.amazon.com/eks/ ) (Amazon EKS), requiring
additional skill sets and development of new processes. To meet compliance and security
requirements, the team needed to manage an [Amazon Virtual Private
Cloud](https://aws.amazon.com/vpc/) with multiple subnets and ACLs to isolate services and
environments. Finally, legacy deployments needed to be assessed and either retired or
updated, adding additional complexity to the environment. For legacy infrastructure slated
for replacement, Credijusto needed a solution to standardize the creation of new
infrastructure and simplify tracking and reporting for new cloud resources.
## Streamlining Version Control, Ensuring Consistency
One of the key benefits Credijusto found when moving from Terraform to Pulumi was the
ability to version everything while increasing visibility into precisely what is changing
in every update. From changing labels and tags to updating Helm charts, Pulumi empowered
IT to keep track of every resource, whether on-premises or in the cloud, for every change
they implemented. The fact that Pulumi enabled teams to use their favorite languages
instead of domain-specific tools to manage configuration was a game-changer for
Credijusto:
2021-04-20 00:37:26 -07:00
> "Once you use a familiar programming language to tackle a problem, you
> see that you can do way more in less time. Pulumi was a natural choice
> based on the background and skills of our people in DevOps.""
2020-03-13 22:19:49 -07:00
>
> — Fernando Carlietti, Lead DevOps Engineer, Credijusto.
Pulumi fits perfectly with Credijusto's dynamic IT environment, enabling developers to
build new infrastructure from the ground up rather than "lifting and shifting" legacy
configurations. Pulumi also streamlined updates. For example, Credijusto had five legacy
ECS clusters defined in [AWS CloudFormation ](https://aws.amazon.com/cloudformation/ ), with
four production clusters and one staging cluster, and each required a different template.
Rather than having to update each Amazon Machine Image (AMI) separately, the team was able
to update one and apply it to each stack for all clusters. The team also found that Pulumi
facilitates and is well-integrated with AWS best practices, ensuring consistency,
scalability, and reliability across teams and infrastructure.
With Pulumi CrossGuard, Credijusto was also able to enforce policies for consistent
tagging, naming, and metadata for new resources.
> "With Pulumi CrossGuard we can provide reusable infrastructure components to our
> application teams and ensure that their implementations adhere to company standards."
>
> — Fernando Carlietti, Lead DevOps Engineer, Credijusto.
## Solution
Pulumi made network configurations extremely simple and easy to replicate across
environments at Credijusto. Below is an example of how Credijusto used Pulumi to configure
multiple subnets per availability zone and environment.
2021-04-22 14:29:58 -07:00
In addition to using EKS with Cluster Autoscaler to dynamically scale their Kubernetes
clusters, the Credijusto team also took advantage of the
[Amazon Relational Database Service ](https://aws.amazon.com/rds/ ) (RDS)
and [Amazon Aurora ](https://aws.amazon.com/rds/aurora/ ) to enable the database for
each application to scale with demand.
> "Our database setup relies on a dedicated Amazon Aurora cluster for each product. Everything
> is configured by Pulumi, by a custom resource that we built to create and manage all related
> resources (credentials, Option Groups, Parameter Groups, Subnets, Security Groups, Policies, etc.).
> This ensures a standard configuration across all of our databases."
>
> — Fernando Carlietti, Lead DevOps Engineer, Credijusto.
2020-03-13 22:19:49 -07:00
< img class = "block mx-auto md:max-w-4xl my-8" src = "/images/case-studies/credijusto-architecture.png" alt = "Credijusto architecture" >
## Results
Adopting Pulumi enabled Credijusto to migrate to managed Kubernetes with EKS. This
improved scalability and reduced costs. It also helped the Credijusto team to tame the
complexity of their network configurations across environments. **Using Pulumi resulted in
a 90% reduction in the amount of network configuration that the team had to manage
compared to Terraform or CloudFormation-defined configurations.** By simplifying
configuration and providing engineering with visibility into exactly what will change in
each version, the team benefited from increased confidence in their infrastructure
updates.
> "By using stack references, we ensure that all the dependencies for an application that
> we deploy in Pulumi are up to date. If I have any changes in a VPC, it's very easy to
> cascade that through all the other projects that we manage with Pulumi. When I started
> using Pulumi for this it was love at first sight."
>
> — Fernando Carlietti, Lead DevOps Engineer, Credijusto.
Pulumi also helped Credijusto to accelerate the adoption of EKS across the organization,
further simplifying their configuration while improving scalability. Finally, Pulumi
CrossGuard greatly improves their process of reporting and project cost allocation as new
updates are deployed.
## Next Steps
Credijusto plans to expand its use of Pulumi to modernize more of its infrastructure and
will use it to create abstractions from its current applications. Its target is to have
standardized applications (based on language and framework) deployed in a standardized
way, meaning that similar resources (Deployment, Service, Ingress, ServiceMonitor, RDS,
IAM Roles) will be created in Kubernetes (on-premises) and AWS. Creating modular
abstractions will give the company a faster, easier way to bootstrap new applications,
lowering the amount of code that teams need to maintain, and ensuring that standards are
followed across the organization.
Pulumi makes it easy to configure AWS VPCs and Amazon EKS. Check out the following
articles to get started:
2023-05-15 15:25:28 -07:00
* [AWS Virtual Private Cloud with Pulumi ](https://www.pulumi.com/docs/clouds/aws/guides/vpc/ ):
* [Amazon EKS with Pulumi ](https://www.pulumi.com/docs/clouds/aws/guides/eks/ ):