At Pismo, the relationship between developers and their tools needs to be close. Using the right delivery platform enables our team to get to grips with creating truly resilient and effective applications.
Our Principal Engineer, Renato Stocco, said as much in an online panel held by Codefresh and focused on the right way to develop and deploy software. Codefresh announced a revamped version of its software delivery tool during the conference. This new version works deeply integrated with Argo, an open-source toolset for GitOps.
In the panel entitled The future of software delivery is here, Stocco was joined by Ethan Fremen, Senior Staff Engineer of Hover, and Isaac Roth, managing director at Shasta and the creator of containerisation software OpenShift.
Pismo used Codefresh and Argo to build an enterprise platform based around GitOps. This means pipelines, triggers, apps, deployments and rollouts can all be defined in Git from the start and operated automatically.
Pismo selected Codefresh because we needed a continuous deployment solution that was easier to use and maintain and wouldn’t disrupt the five billion API calls our platform handles every month.
Before adopting Codefresh, “we were working very much with Jenkins,” says Stocco. “The main reason we went for Codefresh was that availability is a critical factor.
“Before Codefresh and Argo, we would be working with the service mesh network rules to do canary deploys. And handling manually that network traffic is painful.”
Pismo wanted something open source, easily operated, and readily automated to match the company’s focus on innovation and forward-thinking technology.
Our company installed Codefresh and integrated it with our Git repositories, AWS, and metrics generated by DataDog.
Pismo relies on Argo CD, which works with Codefresh, to implement GitOps. After the initial configuration, we could use the Codefresh dashboard to view and manage container deployments.
“Something I always try to advocate here at Pismo is bringing infrastructure and Kubernetes close to the developers,” says Stocco.
“Having a GitOps approach gives us the opportunity for the devs to see how things work. This helps everyone in understanding the resources that you’re running and where you’re running them, and in the end, leads to more resilient applications.”
Security is crucial
Due to governance requirements, some of our processes must run within our infrastructure. We do this using Codefresh Runner, which installs on any Kubernetes cluster with a single command. When installed on clusters running Codefresh pipelines, it enables the pipeline to run behind the firewall.
“We can have the deployments happening in our local runner inside a cluster,” says Stocco. “This helps, for example, PCI certifications because it’s in a protected environment and nothing can enter that cluster from the outside world. Furthermore, the ease of validations mean you can have an audit on top of a deploy, and that helps us in terms of security and data protection.”
The panel discussed the desire for simplification in the deployment of new services. They concluded that, with a software delivery platform, the need to build complex and extensive frameworks and then audit each individually is eliminated.
“Developers need flexibility, and they need access to not just the framework but the framework under the framework,” says Roth. “You’re always trying to expand things and make them better.
“Being able to watch the full Kubernetes deploy and every bit of magic that goes on and even just being able to say ‘these are the Kubernetes objects that make up my deployment’ has been a huge win,” concludes Fremen.
If you want to watch the entire webinar, you can find it here.