Composing Cloud Services for Fintech Apps

Organizations and users find Crossplane in different ways. For Kelly Ferrone, DevOps and software engineer at Akirix, the challenge he had was that another team relied on a Kubernetes service that had been deprecated and he needed a solution - fast.

Ferrone outlined how he and his company found Crossplane during a session at the Crossplane Community Day event, in December 2020. Akirix is a global payment platform that allows buyers and sellers from around the world to conduct secure transactions. The development team was using a Kubernetes project called the service broker that had become deprecated. While that project went away, there was a need for another tool for Ferrone and his team to help manage the company's Amazon Web Services (AWS) infrastructure and synchronize it with all of the services in Kubernetes that Akirix uses.

"Throughout the community a number of people suggested Crossplane as an alternative," Ferrone said. "I tried it out and I haven't looked back since and it has been great."

The Akirix Use Case

Ferrone explained that his team is replatforming a monolithic app with Kubernetes. He noted that overall Kubernetes has made it alot easier to maintain, as did other AWS services that helped to enable the deployment.

"As we are a smaller shop, I had to maintain alot and I wanted to have a consistent interface for managing Kubernetes and AWS simultaneously and have it all in one project which I was able to do with Crossplane," Ferrone said. "Now all from Kubernetes, AWS is maintained, as is our app and it greatly simplified everything."

Attractive Features in Crossplane

Ferrone primarily uses Crossplane to enable setting up a type of account in Akirix he called an IRSA account - which is basically an Identity and Access Management (IAM) role for service accounts.

"We heavily use the IAM section of Crossplane and then map that out to service accounts and other common Kubernetes components like external DNS, cluster auto-scaler and various load balancers that all want permission to access AWS," Ferrone explained. "Crossplane has made that quite easy and very stateful and I can keep it all backed up as YAML files in a git repository."

Ferrone is also making use of Crossplane Compositions. He noted that his team has been using Compositions to roll out new services including Redis and MySQL data services.

As part of his session Ferrone gave a brief demo showing his use case for IAM roles using Crossplane. Among the steps he demonstrated was using a customized plug-in to inject various variables into the YAML, based on different stacks and different environments, as well as the provider configuration. The end result is that the account has YAML backed up in a git repository and it then simply takes one command to launch all of the YAML into the cluster. "Thanks to Crossplane it makes it very easy to manage, look at and view. And it makes it pretty fun too," Ferrone said.