Conf42 Cloud Native 2022 - Online

Argo CD and Kubernetes from event based to microservices

Video size:

Abstract

As a small firm starting up we relied heavily on aws resources at first to get our event based architecture in place for rapid code deployment. As our core api became very large on fargate we ran into issues with a bulky ci/cd process and slower release cycles. This is why we have made a move to shift off fargate and move to kubernetes and break apart our monolith using domain driven design.

We would like to walk you through the hurdles we faced and what our current design looks like using Argo CD and kubernetes.

Summary

  • Ramesh Patel is the director of Cloud and DevOps at Oak nine. Oak nine is a SaaS based product which facilitates cloud security. The company has gone from event based to microservices using Kubernetes and Argo CD.

Transcript

This transcript was autogenerated. To make changes, submit a PR.
Hi, thanks for joining my presentation from event based to microservices using Kubernetes and Argo CD. My name is Ramesh and I'm currently director of Cloud and DevOps at Oak nine. In the past I've served as a senior DevOps engineer and an application engineering manager. If you need to reach me, you can reach me at Twitter at rpatel Oak nine or by email at rpatel at Oak nine IO today we'll talk about who Oak nine is, why we decided to go to microservices, the current state and the past state of our architecture, and then I'll also do a deployment of a microservice getting deployed to Kubernetes using Gitops principles. Oak nine is a SaaS based product which facilitates cloud security from when you start writing code all the way to production. We integrate many of the CI CD tools and we also have a CLI. Our framework and tools that we use in house are comprised of the following angular node for our front end net core for our API and Lambdas Python for automation for our security. Blueprints go for our CLI binary and majority of our infrastructure is in AWS. Why did we decide to go to microservices? The first main reason was our build time was getting to be way too high. This causes a slower velocity of deployments and a slow go to market in terms of product development features. Our API was also becoming a large monolith. It was hard to onboard new devs when you have a huge code base that also leads to longer net build times and testing. We needed a loosely coupled architecture and we also needed teams to run independently. Here's the past state of our architecture. It's a typical event driven architecture in AWS. What we wanted to do was this monolith AWS Fargate cluster that we had running. We wanted to replace that with Kubernetes and use Argo CD to deploy microservices. So this is the current state of our architecture here. We have replaced Fargate with the EKs cluster and then we use Argo CD and the tooling around Argo CD is customized for the overlays and gauntlet for the variable injections. We also leverage CI CD tools such as Jenkins and Argo CD. Majority of this is following the Gitops principles for deployment. So in the next slide I'll do a small demo of a microservice getting deployed to Kubernetes. So aws you can see here I have a simple Nginx server which is rendering hello World and what I'll do here is I'll change this index HTML file to basically say hello World Conf fourty two. And then that will in turn kick off a Jenkins pipeline which will send a new image tag to Argo CD. So our Jenkins pipeline basically has two phases to it or two stages to it. One is a build docker image which builds the necessary artifact. The other is run Argo CD. Argo CD Binary will be called within the Jenkins pipeline to push a microservices to kubernetes. So let's take a look at this pipeline. As you can see in Argo, here's a project that Jenkins will push to in a matter of few seconds. We should see the new image getting pushed here and then a sync happening to our Kubernetes cluster. So right here now it's calling the Argo CD binary. And then you ran see the sync happening automatically in kubernetes. So within a matter of 30 seconds we were able to tag an image, build an image and push an image to kubernetes. And now this should say hello World Comp 42 it you. Well, thanks for joining me today. I hope this presentation was useful. And if you have any questions please email me at Arpatel at Oakland IO. Thanks,
...

Ramesh Patel

Director of Cloud & DevOps @ Oak9

Ramesh Patel's LinkedIn account



Awesome tech events for

Priority access to all content

Video hallway track

Community chat

Exclusive promotions and giveaways