SlideShare a Scribd company logo
Intuit Modern SaaS Platform
Running Kubernetes Clusters at scale on AWS
Laks
● Why we built it?
● What is the Modern SaaS platform?
● How we built it?
Agenda
Intuit Confidential and Proprietary 3
Measured
value
Expected
Improvement
Recoverability X 10X faster
Release cycle time (days)
(PR to deploy)
Y 1.4Y faster
Release frequency (days) Z 3Z faster
Goals
Intuit Confidential and Proprietary 4
Monolith vs Microservice
Intuit Confidential and Proprietary 5
Service Onboarding Prior to M-SaaS
I want to
develop
new micro
service
● Create Service on Service Portal
● Get an Cloud Account -
● Create all the basic resources in AWS
● If you have Web server do this...
● Monitoring Alerting Logs…..
● :
● Take care of AWS SG, EC2, Auto scaling, R53,
Ingress, Egress
● Create
○ Git Repo
○ Pipeline
○ Set up CD …
○ …….
Takes few weeks to set up and run the service
Steep learning curve
Multiple AWS Accounts
Take care of security patches periodically
Intuit Confidential and Proprietary 6
Monolith vs Microservice
Intuit Confidential and Proprietary 7
Service Onboarding Today…. with M-SaaS
VELOCITY OPERABILITY SECURITY
I want to
develop
new micro
service
AppD
Microservice
15 minutes
Gitops Flow
Intuit Confidential and Proprietary 9
The Modern SaaS Platform @ Intuit
Intuit Confidential and Proprietary 10
● Design and development started in Jan ‘18
● First application was running Kafka on Kubernetes
● Running clusters in dev/test, pre-prod and prod environments
since Apr ‘18.
● Over 150 Kubernetes clusters and 3000 namespaces today…
Journey so far ...
Intuit Confidential and Proprietary 11
Journey so far … Services on MSaaS
Intuit Confidential and Proprietary 12
Journey so far … Namespaces on MSaaS
Intuit Confidential and Proprietary 13
Journey so far … Clusters on MSaaS
Intuit Confidential and Proprietary 14
● Intuit Kubernetes Service
○ Using Kops today
○ Moving to EKS
● Intuit Kubernetes Service Manager (may open source)
● Custom Resources for cluster lifecycle management (aka. Keiko)
Modern SaaS platform today ...
Intuit Confidential and Proprietary 15
alb-ingress kube-dns fluentd metrics prometheus autoscaler
Addons
User namespace 1 User namespace 2 User namespace 3 User namespace n
Applications
kube-apiserver kube-proxy
K8s Control Plane
kube-scheduler kube-controlleretcd
Each Kubernetes cluster today ...
Intuit Confidential and Proprietary 16
Master Nodes
alb-ingress kiam eventrouter metrics kube-dns autoscaler
Addons
kube-apiserver kube-proxy
K8s Control Plane
kube-scheduler kube-controlleretcd
Each Kubernetes cluster today ...
Intuit Confidential and Proprietary 17
The Challenges
Intuit Confidential and Proprietary 18
Addons
- Common functionality needed by all apps on a cluster
- DNS, log forwarding, metrics, identity, etc.
- Integrate with other AWS services such as ALB.
Intuit Confidential and Proprietary 19
Multi-tenancy
- What does each tenant mean?
- Namespace?
- Kubernetes objects with the same label?
- Some CRD?
We decided to go with Kubernetes Namespaces
Intuit Confidential and Proprietary 20
More Multi-tenancy issues
- Noisy neighbour
- Customized setup
- Tenant specific AMIs
- Tenant specific instance types
- Cost accounting
Intuit Confidential and Proprietary 21
Resilience and hardening ...
- Pods stuck in terminating state ...
- EC2 instance networking broken …
- Bunch of 502s during upgrade...
Intuit Confidential and Proprietary 22
Deep monitoring
- Not enough to simply check if components are “up”
- Deep monitoring
- Actually exercise the functionality
- Periodically
- Preferably automatic remediation
Intuit Confidential and Proprietary 23
Cost efficiency
- How do we reduce costs?
Intuit Confidential and Proprietary 24
The Solutions
Intuit Confidential and Proprietary 25
Addon-Manager
Addons are critical components within a Kubernetes cluster that
provide basic services needed by applications like DNS,
Ingress, Metrics, Logging, etc. Addon Manager provides a CRD
for lifecycle management of such addons using Argo
Workflows.
Intuit Confidential and Proprietary 26
Addon-Manager
Intuit Confidential and Proprietary 27
Multi-tenancy solutions
- Instance Group per Namespace
- Customized labels
- Centralized upgrades
We decided to go with ...
Intuit Confidential and Proprietary 28
Instance-manager
- Declaratively provision and manage ASGs (nodes)
- Number and type of nodes
- Labels and taints
- Subnets and security groups
$ kubectl create -f /tmp/hello_world.yaml
instancegroup.instancemgr.keikoproj.io/hello-world created
$ kubectl get igs
NAME STATE MIN MAX GROUP NAME PROVISIONER STRATEGY
AGE
hello-world Ready 2 3 shri-east-2-instance-manager-hello-world-NodeGroup-16Y8ZA1ZJW8JK eks-cf crd 3m
nodes Ready 2 3 shri-east-2-instance-manager-nodes-NodeGroup-1K1T3YSXCCCK9 eks-cf crd 1d
Intuit Confidential and Proprietary 29
Upgrade-manager
- Upgrade Manager provides RollingUpgrade, a
Kubernetes native mechanism for doing rolling-
updates of instances in an AutoScaling group using a
CRD and a controller.
Intuit Confidential and Proprietary 30
Governor
Governor improves the stability of large Kubernetes
clusters by proactively terminating failed but stuck pods
and misbehaving nodes.
Intuit Confidential and Proprietary 31
Active-monitor
Active-Monitor is a Kubernetes custom
resource controller which uses Argo
Workflows for deep cluster monitoring.
Intuit Confidential and Proprietary 32
Minion-manager
Minion-manager enables the intelligent use of Spot
Instances in Kubernetes clusters on AWS. This is done
by factoring in on-demand prices, spot-instance prices
and current state of the AutoScalingGroups.
Intuit Confidential and Proprietary 33
Kube-forensics
Kube-forensics allows a cluster administrator to dump
the current state of a running pod and all its containers
so that security professionals can perform offline
forensic analysis.
Intuit Confidential and Proprietary 34
Keiko
“Keiko provides a set of independent open-source tools for
orchestration and management of multi-tenant, reliable,
secure and efficient Kubernetes clusters at scale.”
github.com/keikoproj
Instance manager Kube forensics
Upgrade
manager
Active monitor Addon manager Governor Minion manager
Intuit Confidential and Proprietary 35
Keiko
github.com/keikoproj
Instance manager Kube forensics
Upgrade
manager
Active monitor Addon manager Governor Minion manager
github.com/keikoproj
twitter.com/keikoproj
Intuit Confidential and Proprietary 36
Keiko
Orchestration
Instance-manager Upgrade-manager
Reliability
Governor
Cost Eff
Minion Manager
Addon Manager
Security
Kube-Forensics
Monitoring
Active-monitor
Intuit Confidential and Proprietary 37
Coming up ...
- Kubernetes control plane using EKS
- Multi-cluster Service Mesh using Istio
- OpenTelemetry
- GitOps for AWS resources
- Experimentation platform
- And more ...
Intuit Confidential and Proprietary 38
There’s a lot happening ...
<We are hiring />
Thank You
laks@intuit.com
https://www.linkedin.com/in/laks1/

More Related Content

What's hot

KubeWHAT!?
KubeWHAT!?KubeWHAT!?
KubeWHAT!?
Stephen Gordon
 
Cassandra Summit 2014: Highly Scalable Web Application in the Cloud with Cass...
Cassandra Summit 2014: Highly Scalable Web Application in the Cloud with Cass...Cassandra Summit 2014: Highly Scalable Web Application in the Cloud with Cass...
Cassandra Summit 2014: Highly Scalable Web Application in the Cloud with Cass...
DataStax Academy
 
Implementing Progressive Delivery with Your Team (by Leigh Capili)
Implementing Progressive Delivery with Your Team (by Leigh Capili)Implementing Progressive Delivery with Your Team (by Leigh Capili)
Implementing Progressive Delivery with Your Team (by Leigh Capili)
Weaveworks
 
Gluster ovirt integration_gluster_meetup_pune_2015
Gluster ovirt integration_gluster_meetup_pune_2015Gluster ovirt integration_gluster_meetup_pune_2015
Gluster ovirt integration_gluster_meetup_pune_2015
Ramesh Nachimuthu
 
PuppetConf 2017: Zero to Kubernetes -Scott Coulton, Puppet
PuppetConf 2017: Zero to Kubernetes -Scott Coulton, PuppetPuppetConf 2017: Zero to Kubernetes -Scott Coulton, Puppet
PuppetConf 2017: Zero to Kubernetes -Scott Coulton, Puppet
Puppet
 
Google container engine (GKE)
Google container engine (GKE)Google container engine (GKE)
Google container engine (GKE)
Md. Sadhan Sarker
 
Data(?)Ops with CircleCI
Data(?)Ops with CircleCIData(?)Ops with CircleCI
Data(?)Ops with CircleCI
Jinwoong Kim
 
WKSctl: Gitops Management of Kubernetes Clusters
WKSctl: Gitops Management of Kubernetes ClustersWKSctl: Gitops Management of Kubernetes Clusters
WKSctl: Gitops Management of Kubernetes Clusters
Weaveworks
 
Istio (service mesh) why and how
Istio (service mesh) why and howIstio (service mesh) why and how
Istio (service mesh) why and how
Milan Das
 
Secrets management vault cncf meetup
Secrets management vault cncf meetupSecrets management vault cncf meetup
Secrets management vault cncf meetup
Juraj Hantak
 
OpenStack Contribution Workflow
OpenStack Contribution WorkflowOpenStack Contribution Workflow
OpenStack Contribution Workflow
Sean McGinnis
 
Unleashing k8 s to reduce complexities of an entire middleware platform
Unleashing k8 s to reduce complexities of an entire middleware platformUnleashing k8 s to reduce complexities of an entire middleware platform
Unleashing k8 s to reduce complexities of an entire middleware platform
Lakmal Warusawithana
 
從Google cloud看kubernetes服務
從Google cloud看kubernetes服務從Google cloud看kubernetes服務
從Google cloud看kubernetes服務
inwin stack
 
A Primer on Kubernetes and Google Container Engine
A Primer on Kubernetes and Google Container EngineA Primer on Kubernetes and Google Container Engine
A Primer on Kubernetes and Google Container Engine
RightScale
 
Kubernetes and OpenStack at Scale
Kubernetes and OpenStack at ScaleKubernetes and OpenStack at Scale
Kubernetes and OpenStack at Scale
Stephen Gordon
 
Deploying openstack using ansible
Deploying openstack using ansibleDeploying openstack using ansible
Deploying openstack using ansible
openstackindia
 
How to deal second interface service discovery and load balancer in kubernetes
How to deal second interface  service discovery and load balancer  in kubernetesHow to deal second interface  service discovery and load balancer  in kubernetes
How to deal second interface service discovery and load balancer in kubernetes
Meng-Ze Lee
 
Introduction to kubernetes
Introduction to kubernetesIntroduction to kubernetes
Introduction to kubernetes
Gabriel Carro
 
Container Attached Storage - Chennai Kubernetes Meetup #2 - April 21st 2018
Container Attached Storage - Chennai Kubernetes Meetup #2 - April 21st 2018Container Attached Storage - Chennai Kubernetes Meetup #2 - April 21st 2018
Container Attached Storage - Chennai Kubernetes Meetup #2 - April 21st 2018
OpenEBS
 
Scale into Multi-Cloud with Containers
Scale into Multi-Cloud with ContainersScale into Multi-Cloud with Containers
Scale into Multi-Cloud with Containers
Imesh Gunaratne
 

What's hot (20)

KubeWHAT!?
KubeWHAT!?KubeWHAT!?
KubeWHAT!?
 
Cassandra Summit 2014: Highly Scalable Web Application in the Cloud with Cass...
Cassandra Summit 2014: Highly Scalable Web Application in the Cloud with Cass...Cassandra Summit 2014: Highly Scalable Web Application in the Cloud with Cass...
Cassandra Summit 2014: Highly Scalable Web Application in the Cloud with Cass...
 
Implementing Progressive Delivery with Your Team (by Leigh Capili)
Implementing Progressive Delivery with Your Team (by Leigh Capili)Implementing Progressive Delivery with Your Team (by Leigh Capili)
Implementing Progressive Delivery with Your Team (by Leigh Capili)
 
Gluster ovirt integration_gluster_meetup_pune_2015
Gluster ovirt integration_gluster_meetup_pune_2015Gluster ovirt integration_gluster_meetup_pune_2015
Gluster ovirt integration_gluster_meetup_pune_2015
 
PuppetConf 2017: Zero to Kubernetes -Scott Coulton, Puppet
PuppetConf 2017: Zero to Kubernetes -Scott Coulton, PuppetPuppetConf 2017: Zero to Kubernetes -Scott Coulton, Puppet
PuppetConf 2017: Zero to Kubernetes -Scott Coulton, Puppet
 
Google container engine (GKE)
Google container engine (GKE)Google container engine (GKE)
Google container engine (GKE)
 
Data(?)Ops with CircleCI
Data(?)Ops with CircleCIData(?)Ops with CircleCI
Data(?)Ops with CircleCI
 
WKSctl: Gitops Management of Kubernetes Clusters
WKSctl: Gitops Management of Kubernetes ClustersWKSctl: Gitops Management of Kubernetes Clusters
WKSctl: Gitops Management of Kubernetes Clusters
 
Istio (service mesh) why and how
Istio (service mesh) why and howIstio (service mesh) why and how
Istio (service mesh) why and how
 
Secrets management vault cncf meetup
Secrets management vault cncf meetupSecrets management vault cncf meetup
Secrets management vault cncf meetup
 
OpenStack Contribution Workflow
OpenStack Contribution WorkflowOpenStack Contribution Workflow
OpenStack Contribution Workflow
 
Unleashing k8 s to reduce complexities of an entire middleware platform
Unleashing k8 s to reduce complexities of an entire middleware platformUnleashing k8 s to reduce complexities of an entire middleware platform
Unleashing k8 s to reduce complexities of an entire middleware platform
 
從Google cloud看kubernetes服務
從Google cloud看kubernetes服務從Google cloud看kubernetes服務
從Google cloud看kubernetes服務
 
A Primer on Kubernetes and Google Container Engine
A Primer on Kubernetes and Google Container EngineA Primer on Kubernetes and Google Container Engine
A Primer on Kubernetes and Google Container Engine
 
Kubernetes and OpenStack at Scale
Kubernetes and OpenStack at ScaleKubernetes and OpenStack at Scale
Kubernetes and OpenStack at Scale
 
Deploying openstack using ansible
Deploying openstack using ansibleDeploying openstack using ansible
Deploying openstack using ansible
 
How to deal second interface service discovery and load balancer in kubernetes
How to deal second interface  service discovery and load balancer  in kubernetesHow to deal second interface  service discovery and load balancer  in kubernetes
How to deal second interface service discovery and load balancer in kubernetes
 
Introduction to kubernetes
Introduction to kubernetesIntroduction to kubernetes
Introduction to kubernetes
 
Container Attached Storage - Chennai Kubernetes Meetup #2 - April 21st 2018
Container Attached Storage - Chennai Kubernetes Meetup #2 - April 21st 2018Container Attached Storage - Chennai Kubernetes Meetup #2 - April 21st 2018
Container Attached Storage - Chennai Kubernetes Meetup #2 - April 21st 2018
 
Scale into Multi-Cloud with Containers
Scale into Multi-Cloud with ContainersScale into Multi-Cloud with Containers
Scale into Multi-Cloud with Containers
 

Similar to ACDKOCHI19 - Turbocharge Developer productivity with platform build on K8S and AWS services.

Mattia Gandolfi - Improving utilization and portability with Containers and C...
Mattia Gandolfi - Improving utilization and portability with Containers and C...Mattia Gandolfi - Improving utilization and portability with Containers and C...
Mattia Gandolfi - Improving utilization and portability with Containers and C...
Codemotion
 
Pivotal Container Service Overview
Pivotal Container Service Overview Pivotal Container Service Overview
Pivotal Container Service Overview
VMware Tanzu
 
Kubermatic.pdf
Kubermatic.pdfKubermatic.pdf
Kubermatic.pdf
LibbySchulze
 
Kubermatic CNCF Webinar - start.kubermatic.pdf
Kubermatic CNCF Webinar - start.kubermatic.pdfKubermatic CNCF Webinar - start.kubermatic.pdf
Kubermatic CNCF Webinar - start.kubermatic.pdf
LibbySchulze
 
DevOps Days Boston 2017: Real-world Kubernetes for DevOps
DevOps Days Boston 2017: Real-world Kubernetes for DevOpsDevOps Days Boston 2017: Real-world Kubernetes for DevOps
DevOps Days Boston 2017: Real-world Kubernetes for DevOps
Ambassador Labs
 
Cloud-Native Operations with Kubernetes and CI/CD
Cloud-Native Operations with Kubernetes and CI/CDCloud-Native Operations with Kubernetes and CI/CD
Cloud-Native Operations with Kubernetes and CI/CD
VMware Tanzu
 
Delivering-Off-The-Shelf Software with Kubernetes- November 12, 2020
Delivering-Off-The-Shelf Software with Kubernetes- November 12, 2020Delivering-Off-The-Shelf Software with Kubernetes- November 12, 2020
Delivering-Off-The-Shelf Software with Kubernetes- November 12, 2020
VMware Tanzu
 
The ultimate Kubernetes Deployment Checklist - Infra to Microservices
The ultimate Kubernetes Deployment Checklist - Infra to MicroservicesThe ultimate Kubernetes Deployment Checklist - Infra to Microservices
The ultimate Kubernetes Deployment Checklist - Infra to Microservices
Prakarsh -
 
Kubernetes for Beginners
Kubernetes for BeginnersKubernetes for Beginners
Kubernetes for Beginners
DigitalOcean
 
Intro to Kubernetes & GitOps Workshop
Intro to Kubernetes & GitOps WorkshopIntro to Kubernetes & GitOps Workshop
Intro to Kubernetes & GitOps Workshop
Weaveworks
 
Successful K8S Platforms in Airgapped Environments
Successful K8S Platforms in Airgapped EnvironmentsSuccessful K8S Platforms in Airgapped Environments
Successful K8S Platforms in Airgapped Environments
KubernetesCommunityD
 
Kubernetes Administration from Zero to Hero.pdf
Kubernetes Administration from Zero to Hero.pdfKubernetes Administration from Zero to Hero.pdf
Kubernetes Administration from Zero to Hero.pdf
ArzooGupta16
 
Introduction to kubernetes
Introduction to kubernetesIntroduction to kubernetes
Introduction to kubernetes
Rishabh Indoria
 
DevOps with Kubernetes and Helm - Jenkins World Edition
DevOps with Kubernetes and Helm - Jenkins World EditionDevOps with Kubernetes and Helm - Jenkins World Edition
DevOps with Kubernetes and Helm - Jenkins World Edition
Jessica Deen
 
Free GitOps Workshop (with Intro to Kubernetes & GitOps)
Free GitOps Workshop (with Intro to Kubernetes & GitOps)Free GitOps Workshop (with Intro to Kubernetes & GitOps)
Free GitOps Workshop (with Intro to Kubernetes & GitOps)
Weaveworks
 
Kubernetes Services are sooo Yesterday!
Kubernetes Services are sooo Yesterday!Kubernetes Services are sooo Yesterday!
Kubernetes Services are sooo Yesterday!
CloudOps2005
 
Communication Amongst Microservices: Kubernetes, Istio, and Spring Cloud - An...
Communication Amongst Microservices: Kubernetes, Istio, and Spring Cloud - An...Communication Amongst Microservices: Kubernetes, Istio, and Spring Cloud - An...
Communication Amongst Microservices: Kubernetes, Istio, and Spring Cloud - An...
VMware Tanzu
 
Fabio rapposelli pks-vmug
Fabio rapposelli   pks-vmugFabio rapposelli   pks-vmug
Fabio rapposelli pks-vmug
VMUG IT
 
Salvatore Incandela, Fabio Marinelli - Using Spinnaker to Create a Developmen...
Salvatore Incandela, Fabio Marinelli - Using Spinnaker to Create a Developmen...Salvatore Incandela, Fabio Marinelli - Using Spinnaker to Create a Developmen...
Salvatore Incandela, Fabio Marinelli - Using Spinnaker to Create a Developmen...
Codemotion
 
Sumo Logic Cert Jam - Advanced Metrics with Kubernetes
Sumo Logic Cert Jam - Advanced Metrics with KubernetesSumo Logic Cert Jam - Advanced Metrics with Kubernetes
Sumo Logic Cert Jam - Advanced Metrics with Kubernetes
Sumo Logic
 

Similar to ACDKOCHI19 - Turbocharge Developer productivity with platform build on K8S and AWS services. (20)

Mattia Gandolfi - Improving utilization and portability with Containers and C...
Mattia Gandolfi - Improving utilization and portability with Containers and C...Mattia Gandolfi - Improving utilization and portability with Containers and C...
Mattia Gandolfi - Improving utilization and portability with Containers and C...
 
Pivotal Container Service Overview
Pivotal Container Service Overview Pivotal Container Service Overview
Pivotal Container Service Overview
 
Kubermatic.pdf
Kubermatic.pdfKubermatic.pdf
Kubermatic.pdf
 
Kubermatic CNCF Webinar - start.kubermatic.pdf
Kubermatic CNCF Webinar - start.kubermatic.pdfKubermatic CNCF Webinar - start.kubermatic.pdf
Kubermatic CNCF Webinar - start.kubermatic.pdf
 
DevOps Days Boston 2017: Real-world Kubernetes for DevOps
DevOps Days Boston 2017: Real-world Kubernetes for DevOpsDevOps Days Boston 2017: Real-world Kubernetes for DevOps
DevOps Days Boston 2017: Real-world Kubernetes for DevOps
 
Cloud-Native Operations with Kubernetes and CI/CD
Cloud-Native Operations with Kubernetes and CI/CDCloud-Native Operations with Kubernetes and CI/CD
Cloud-Native Operations with Kubernetes and CI/CD
 
Delivering-Off-The-Shelf Software with Kubernetes- November 12, 2020
Delivering-Off-The-Shelf Software with Kubernetes- November 12, 2020Delivering-Off-The-Shelf Software with Kubernetes- November 12, 2020
Delivering-Off-The-Shelf Software with Kubernetes- November 12, 2020
 
The ultimate Kubernetes Deployment Checklist - Infra to Microservices
The ultimate Kubernetes Deployment Checklist - Infra to MicroservicesThe ultimate Kubernetes Deployment Checklist - Infra to Microservices
The ultimate Kubernetes Deployment Checklist - Infra to Microservices
 
Kubernetes for Beginners
Kubernetes for BeginnersKubernetes for Beginners
Kubernetes for Beginners
 
Intro to Kubernetes & GitOps Workshop
Intro to Kubernetes & GitOps WorkshopIntro to Kubernetes & GitOps Workshop
Intro to Kubernetes & GitOps Workshop
 
Successful K8S Platforms in Airgapped Environments
Successful K8S Platforms in Airgapped EnvironmentsSuccessful K8S Platforms in Airgapped Environments
Successful K8S Platforms in Airgapped Environments
 
Kubernetes Administration from Zero to Hero.pdf
Kubernetes Administration from Zero to Hero.pdfKubernetes Administration from Zero to Hero.pdf
Kubernetes Administration from Zero to Hero.pdf
 
Introduction to kubernetes
Introduction to kubernetesIntroduction to kubernetes
Introduction to kubernetes
 
DevOps with Kubernetes and Helm - Jenkins World Edition
DevOps with Kubernetes and Helm - Jenkins World EditionDevOps with Kubernetes and Helm - Jenkins World Edition
DevOps with Kubernetes and Helm - Jenkins World Edition
 
Free GitOps Workshop (with Intro to Kubernetes & GitOps)
Free GitOps Workshop (with Intro to Kubernetes & GitOps)Free GitOps Workshop (with Intro to Kubernetes & GitOps)
Free GitOps Workshop (with Intro to Kubernetes & GitOps)
 
Kubernetes Services are sooo Yesterday!
Kubernetes Services are sooo Yesterday!Kubernetes Services are sooo Yesterday!
Kubernetes Services are sooo Yesterday!
 
Communication Amongst Microservices: Kubernetes, Istio, and Spring Cloud - An...
Communication Amongst Microservices: Kubernetes, Istio, and Spring Cloud - An...Communication Amongst Microservices: Kubernetes, Istio, and Spring Cloud - An...
Communication Amongst Microservices: Kubernetes, Istio, and Spring Cloud - An...
 
Fabio rapposelli pks-vmug
Fabio rapposelli   pks-vmugFabio rapposelli   pks-vmug
Fabio rapposelli pks-vmug
 
Salvatore Incandela, Fabio Marinelli - Using Spinnaker to Create a Developmen...
Salvatore Incandela, Fabio Marinelli - Using Spinnaker to Create a Developmen...Salvatore Incandela, Fabio Marinelli - Using Spinnaker to Create a Developmen...
Salvatore Incandela, Fabio Marinelli - Using Spinnaker to Create a Developmen...
 
Sumo Logic Cert Jam - Advanced Metrics with Kubernetes
Sumo Logic Cert Jam - Advanced Metrics with KubernetesSumo Logic Cert Jam - Advanced Metrics with Kubernetes
Sumo Logic Cert Jam - Advanced Metrics with Kubernetes
 

More from AWS User Group Kochi

ACDKOCHI19 - Medlife's journey on AWS from ZERO Orders to 6 digits mark
ACDKOCHI19 - Medlife's journey on AWS from ZERO Orders to 6 digits markACDKOCHI19 - Medlife's journey on AWS from ZERO Orders to 6 digits mark
ACDKOCHI19 - Medlife's journey on AWS from ZERO Orders to 6 digits mark
AWS User Group Kochi
 
ACDKOCHI19 - Become Thanos of the Lambda Land: Wield all the Infinity Stones
ACDKOCHI19 - Become Thanos of the Lambda Land: Wield all the Infinity StonesACDKOCHI19 - Become Thanos of the Lambda Land: Wield all the Infinity Stones
ACDKOCHI19 - Become Thanos of the Lambda Land: Wield all the Infinity Stones
AWS User Group Kochi
 
ACDKOCHI19 - Rapid development, CI/CD for Chatbots on AWS
ACDKOCHI19 - Rapid development, CI/CD for Chatbots on AWSACDKOCHI19 - Rapid development, CI/CD for Chatbots on AWS
ACDKOCHI19 - Rapid development, CI/CD for Chatbots on AWS
AWS User Group Kochi
 
ACDKOCHI19 - Complete Media Content Management System and Website on Serverless
ACDKOCHI19 - Complete Media Content Management System and Website on ServerlessACDKOCHI19 - Complete Media Content Management System and Website on Serverless
ACDKOCHI19 - Complete Media Content Management System and Website on Serverless
AWS User Group Kochi
 
ACDKOCHI19 - A minimalistic guide to keeping things simple and straightforwar...
ACDKOCHI19 - A minimalistic guide to keeping things simple and straightforwar...ACDKOCHI19 - A minimalistic guide to keeping things simple and straightforwar...
ACDKOCHI19 - A minimalistic guide to keeping things simple and straightforwar...
AWS User Group Kochi
 
ACDKOCHI19 - CI / CD using AWS Developer Tools
ACDKOCHI19 - CI / CD using AWS Developer ToolsACDKOCHI19 - CI / CD using AWS Developer Tools
ACDKOCHI19 - CI / CD using AWS Developer Tools
AWS User Group Kochi
 
ACDKOCHI19 - Technical Presentation - Connecting 10000 cars to the AWS Cloud
ACDKOCHI19 - Technical Presentation - Connecting 10000 cars to the AWS CloudACDKOCHI19 - Technical Presentation - Connecting 10000 cars to the AWS Cloud
ACDKOCHI19 - Technical Presentation - Connecting 10000 cars to the AWS Cloud
AWS User Group Kochi
 
ACDKOCHI19 - Journey from a traditional on-prem Datacenter to AWS: Challenges...
ACDKOCHI19 - Journey from a traditional on-prem Datacenter to AWS: Challenges...ACDKOCHI19 - Journey from a traditional on-prem Datacenter to AWS: Challenges...
ACDKOCHI19 - Journey from a traditional on-prem Datacenter to AWS: Challenges...
AWS User Group Kochi
 
ACDKOCHI19 - Opening Keynote - Building an Innovation mindset
ACDKOCHI19 - Opening Keynote - Building an Innovation mindsetACDKOCHI19 - Opening Keynote - Building an Innovation mindset
ACDKOCHI19 - Opening Keynote - Building an Innovation mindset
AWS User Group Kochi
 
ACDKOCHI19 - Enterprise grade security for web and mobile applications on AWS
ACDKOCHI19 - Enterprise grade security for web and mobile applications on AWSACDKOCHI19 - Enterprise grade security for web and mobile applications on AWS
ACDKOCHI19 - Enterprise grade security for web and mobile applications on AWS
AWS User Group Kochi
 
ACDKOCHI19 - Next Generation Data Analytics Platform on AWS
ACDKOCHI19 - Next Generation Data Analytics Platform on AWSACDKOCHI19 - Next Generation Data Analytics Platform on AWS
ACDKOCHI19 - Next Generation Data Analytics Platform on AWS
AWS User Group Kochi
 
ACDKOCHI19 - IAM Everywhere
ACDKOCHI19 - IAM EverywhereACDKOCHI19 - IAM Everywhere
ACDKOCHI19 - IAM Everywhere
AWS User Group Kochi
 
ACDKOCHI19 - Demystifying amazon sagemaker
ACDKOCHI19 - Demystifying amazon sagemakerACDKOCHI19 - Demystifying amazon sagemaker
ACDKOCHI19 - Demystifying amazon sagemaker
AWS User Group Kochi
 
ACDKOCHI19 - Building a serverless full-stack AWS native website
ACDKOCHI19 - Building a serverless full-stack AWS native websiteACDKOCHI19 - Building a serverless full-stack AWS native website
ACDKOCHI19 - Building a serverless full-stack AWS native website
AWS User Group Kochi
 

More from AWS User Group Kochi (14)

ACDKOCHI19 - Medlife's journey on AWS from ZERO Orders to 6 digits mark
ACDKOCHI19 - Medlife's journey on AWS from ZERO Orders to 6 digits markACDKOCHI19 - Medlife's journey on AWS from ZERO Orders to 6 digits mark
ACDKOCHI19 - Medlife's journey on AWS from ZERO Orders to 6 digits mark
 
ACDKOCHI19 - Become Thanos of the Lambda Land: Wield all the Infinity Stones
ACDKOCHI19 - Become Thanos of the Lambda Land: Wield all the Infinity StonesACDKOCHI19 - Become Thanos of the Lambda Land: Wield all the Infinity Stones
ACDKOCHI19 - Become Thanos of the Lambda Land: Wield all the Infinity Stones
 
ACDKOCHI19 - Rapid development, CI/CD for Chatbots on AWS
ACDKOCHI19 - Rapid development, CI/CD for Chatbots on AWSACDKOCHI19 - Rapid development, CI/CD for Chatbots on AWS
ACDKOCHI19 - Rapid development, CI/CD for Chatbots on AWS
 
ACDKOCHI19 - Complete Media Content Management System and Website on Serverless
ACDKOCHI19 - Complete Media Content Management System and Website on ServerlessACDKOCHI19 - Complete Media Content Management System and Website on Serverless
ACDKOCHI19 - Complete Media Content Management System and Website on Serverless
 
ACDKOCHI19 - A minimalistic guide to keeping things simple and straightforwar...
ACDKOCHI19 - A minimalistic guide to keeping things simple and straightforwar...ACDKOCHI19 - A minimalistic guide to keeping things simple and straightforwar...
ACDKOCHI19 - A minimalistic guide to keeping things simple and straightforwar...
 
ACDKOCHI19 - CI / CD using AWS Developer Tools
ACDKOCHI19 - CI / CD using AWS Developer ToolsACDKOCHI19 - CI / CD using AWS Developer Tools
ACDKOCHI19 - CI / CD using AWS Developer Tools
 
ACDKOCHI19 - Technical Presentation - Connecting 10000 cars to the AWS Cloud
ACDKOCHI19 - Technical Presentation - Connecting 10000 cars to the AWS CloudACDKOCHI19 - Technical Presentation - Connecting 10000 cars to the AWS Cloud
ACDKOCHI19 - Technical Presentation - Connecting 10000 cars to the AWS Cloud
 
ACDKOCHI19 - Journey from a traditional on-prem Datacenter to AWS: Challenges...
ACDKOCHI19 - Journey from a traditional on-prem Datacenter to AWS: Challenges...ACDKOCHI19 - Journey from a traditional on-prem Datacenter to AWS: Challenges...
ACDKOCHI19 - Journey from a traditional on-prem Datacenter to AWS: Challenges...
 
ACDKOCHI19 - Opening Keynote - Building an Innovation mindset
ACDKOCHI19 - Opening Keynote - Building an Innovation mindsetACDKOCHI19 - Opening Keynote - Building an Innovation mindset
ACDKOCHI19 - Opening Keynote - Building an Innovation mindset
 
ACDKOCHI19 - Enterprise grade security for web and mobile applications on AWS
ACDKOCHI19 - Enterprise grade security for web and mobile applications on AWSACDKOCHI19 - Enterprise grade security for web and mobile applications on AWS
ACDKOCHI19 - Enterprise grade security for web and mobile applications on AWS
 
ACDKOCHI19 - Next Generation Data Analytics Platform on AWS
ACDKOCHI19 - Next Generation Data Analytics Platform on AWSACDKOCHI19 - Next Generation Data Analytics Platform on AWS
ACDKOCHI19 - Next Generation Data Analytics Platform on AWS
 
ACDKOCHI19 - IAM Everywhere
ACDKOCHI19 - IAM EverywhereACDKOCHI19 - IAM Everywhere
ACDKOCHI19 - IAM Everywhere
 
ACDKOCHI19 - Demystifying amazon sagemaker
ACDKOCHI19 - Demystifying amazon sagemakerACDKOCHI19 - Demystifying amazon sagemaker
ACDKOCHI19 - Demystifying amazon sagemaker
 
ACDKOCHI19 - Building a serverless full-stack AWS native website
ACDKOCHI19 - Building a serverless full-stack AWS native websiteACDKOCHI19 - Building a serverless full-stack AWS native website
ACDKOCHI19 - Building a serverless full-stack AWS native website
 

Recently uploaded

Enchancing adoption of Open Source Libraries. A case study on Albumentations.AI
Enchancing adoption of Open Source Libraries. A case study on Albumentations.AIEnchancing adoption of Open Source Libraries. A case study on Albumentations.AI
Enchancing adoption of Open Source Libraries. A case study on Albumentations.AI
Vladimir Iglovikov, Ph.D.
 
Artificial Intelligence for XMLDevelopment
Artificial Intelligence for XMLDevelopmentArtificial Intelligence for XMLDevelopment
Artificial Intelligence for XMLDevelopment
Octavian Nadolu
 
Video Streaming: Then, Now, and in the Future
Video Streaming: Then, Now, and in the FutureVideo Streaming: Then, Now, and in the Future
Video Streaming: Then, Now, and in the Future
Alpen-Adria-Universität
 
GridMate - End to end testing is a critical piece to ensure quality and avoid...
GridMate - End to end testing is a critical piece to ensure quality and avoid...GridMate - End to end testing is a critical piece to ensure quality and avoid...
GridMate - End to end testing is a critical piece to ensure quality and avoid...
ThomasParaiso2
 
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
James Anderson
 
By Design, not by Accident - Agile Venture Bolzano 2024
By Design, not by Accident - Agile Venture Bolzano 2024By Design, not by Accident - Agile Venture Bolzano 2024
By Design, not by Accident - Agile Venture Bolzano 2024
Pierluigi Pugliese
 
How to Get CNIC Information System with Paksim Ga.pptx
How to Get CNIC Information System with Paksim Ga.pptxHow to Get CNIC Information System with Paksim Ga.pptx
How to Get CNIC Information System with Paksim Ga.pptx
danishmna97
 
Large Language Model (LLM) and it’s Geospatial Applications
Large Language Model (LLM) and it’s Geospatial ApplicationsLarge Language Model (LLM) and it’s Geospatial Applications
Large Language Model (LLM) and it’s Geospatial Applications
Rohit Gautam
 
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
DanBrown980551
 
Microsoft - Power Platform_G.Aspiotis.pdf
Microsoft - Power Platform_G.Aspiotis.pdfMicrosoft - Power Platform_G.Aspiotis.pdf
Microsoft - Power Platform_G.Aspiotis.pdf
Uni Systems S.M.S.A.
 
RESUME BUILDER APPLICATION Project for students
RESUME BUILDER APPLICATION Project for studentsRESUME BUILDER APPLICATION Project for students
RESUME BUILDER APPLICATION Project for students
KAMESHS29
 
Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !
KatiaHIMEUR1
 
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Albert Hoitingh
 
Free Complete Python - A step towards Data Science
Free Complete Python - A step towards Data ScienceFree Complete Python - A step towards Data Science
Free Complete Python - A step towards Data Science
RinaMondal9
 
GraphSummit Singapore | Neo4j Product Vision & Roadmap - Q2 2024
GraphSummit Singapore | Neo4j Product Vision & Roadmap - Q2 2024GraphSummit Singapore | Neo4j Product Vision & Roadmap - Q2 2024
GraphSummit Singapore | Neo4j Product Vision & Roadmap - Q2 2024
Neo4j
 
Monitoring Java Application Security with JDK Tools and JFR Events
Monitoring Java Application Security with JDK Tools and JFR EventsMonitoring Java Application Security with JDK Tools and JFR Events
Monitoring Java Application Security with JDK Tools and JFR Events
Ana-Maria Mihalceanu
 
National Security Agency - NSA mobile device best practices
National Security Agency - NSA mobile device best practicesNational Security Agency - NSA mobile device best practices
National Security Agency - NSA mobile device best practices
Quotidiano Piemontese
 
UiPath Test Automation using UiPath Test Suite series, part 6
UiPath Test Automation using UiPath Test Suite series, part 6UiPath Test Automation using UiPath Test Suite series, part 6
UiPath Test Automation using UiPath Test Suite series, part 6
DianaGray10
 
Essentials of Automations: The Art of Triggers and Actions in FME
Essentials of Automations: The Art of Triggers and Actions in FMEEssentials of Automations: The Art of Triggers and Actions in FME
Essentials of Automations: The Art of Triggers and Actions in FME
Safe Software
 
Removing Uninteresting Bytes in Software Fuzzing
Removing Uninteresting Bytes in Software FuzzingRemoving Uninteresting Bytes in Software Fuzzing
Removing Uninteresting Bytes in Software Fuzzing
Aftab Hussain
 

Recently uploaded (20)

Enchancing adoption of Open Source Libraries. A case study on Albumentations.AI
Enchancing adoption of Open Source Libraries. A case study on Albumentations.AIEnchancing adoption of Open Source Libraries. A case study on Albumentations.AI
Enchancing adoption of Open Source Libraries. A case study on Albumentations.AI
 
Artificial Intelligence for XMLDevelopment
Artificial Intelligence for XMLDevelopmentArtificial Intelligence for XMLDevelopment
Artificial Intelligence for XMLDevelopment
 
Video Streaming: Then, Now, and in the Future
Video Streaming: Then, Now, and in the FutureVideo Streaming: Then, Now, and in the Future
Video Streaming: Then, Now, and in the Future
 
GridMate - End to end testing is a critical piece to ensure quality and avoid...
GridMate - End to end testing is a critical piece to ensure quality and avoid...GridMate - End to end testing is a critical piece to ensure quality and avoid...
GridMate - End to end testing is a critical piece to ensure quality and avoid...
 
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
 
By Design, not by Accident - Agile Venture Bolzano 2024
By Design, not by Accident - Agile Venture Bolzano 2024By Design, not by Accident - Agile Venture Bolzano 2024
By Design, not by Accident - Agile Venture Bolzano 2024
 
How to Get CNIC Information System with Paksim Ga.pptx
How to Get CNIC Information System with Paksim Ga.pptxHow to Get CNIC Information System with Paksim Ga.pptx
How to Get CNIC Information System with Paksim Ga.pptx
 
Large Language Model (LLM) and it’s Geospatial Applications
Large Language Model (LLM) and it’s Geospatial ApplicationsLarge Language Model (LLM) and it’s Geospatial Applications
Large Language Model (LLM) and it’s Geospatial Applications
 
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
 
Microsoft - Power Platform_G.Aspiotis.pdf
Microsoft - Power Platform_G.Aspiotis.pdfMicrosoft - Power Platform_G.Aspiotis.pdf
Microsoft - Power Platform_G.Aspiotis.pdf
 
RESUME BUILDER APPLICATION Project for students
RESUME BUILDER APPLICATION Project for studentsRESUME BUILDER APPLICATION Project for students
RESUME BUILDER APPLICATION Project for students
 
Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !
 
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
 
Free Complete Python - A step towards Data Science
Free Complete Python - A step towards Data ScienceFree Complete Python - A step towards Data Science
Free Complete Python - A step towards Data Science
 
GraphSummit Singapore | Neo4j Product Vision & Roadmap - Q2 2024
GraphSummit Singapore | Neo4j Product Vision & Roadmap - Q2 2024GraphSummit Singapore | Neo4j Product Vision & Roadmap - Q2 2024
GraphSummit Singapore | Neo4j Product Vision & Roadmap - Q2 2024
 
Monitoring Java Application Security with JDK Tools and JFR Events
Monitoring Java Application Security with JDK Tools and JFR EventsMonitoring Java Application Security with JDK Tools and JFR Events
Monitoring Java Application Security with JDK Tools and JFR Events
 
National Security Agency - NSA mobile device best practices
National Security Agency - NSA mobile device best practicesNational Security Agency - NSA mobile device best practices
National Security Agency - NSA mobile device best practices
 
UiPath Test Automation using UiPath Test Suite series, part 6
UiPath Test Automation using UiPath Test Suite series, part 6UiPath Test Automation using UiPath Test Suite series, part 6
UiPath Test Automation using UiPath Test Suite series, part 6
 
Essentials of Automations: The Art of Triggers and Actions in FME
Essentials of Automations: The Art of Triggers and Actions in FMEEssentials of Automations: The Art of Triggers and Actions in FME
Essentials of Automations: The Art of Triggers and Actions in FME
 
Removing Uninteresting Bytes in Software Fuzzing
Removing Uninteresting Bytes in Software FuzzingRemoving Uninteresting Bytes in Software Fuzzing
Removing Uninteresting Bytes in Software Fuzzing
 

ACDKOCHI19 - Turbocharge Developer productivity with platform build on K8S and AWS services.

  • 1. Intuit Modern SaaS Platform Running Kubernetes Clusters at scale on AWS Laks
  • 2. ● Why we built it? ● What is the Modern SaaS platform? ● How we built it? Agenda
  • 3. Intuit Confidential and Proprietary 3 Measured value Expected Improvement Recoverability X 10X faster Release cycle time (days) (PR to deploy) Y 1.4Y faster Release frequency (days) Z 3Z faster Goals
  • 4. Intuit Confidential and Proprietary 4 Monolith vs Microservice
  • 5. Intuit Confidential and Proprietary 5 Service Onboarding Prior to M-SaaS I want to develop new micro service ● Create Service on Service Portal ● Get an Cloud Account - ● Create all the basic resources in AWS ● If you have Web server do this... ● Monitoring Alerting Logs….. ● : ● Take care of AWS SG, EC2, Auto scaling, R53, Ingress, Egress ● Create ○ Git Repo ○ Pipeline ○ Set up CD … ○ ……. Takes few weeks to set up and run the service Steep learning curve Multiple AWS Accounts Take care of security patches periodically
  • 6. Intuit Confidential and Proprietary 6 Monolith vs Microservice
  • 7. Intuit Confidential and Proprietary 7 Service Onboarding Today…. with M-SaaS VELOCITY OPERABILITY SECURITY I want to develop new micro service AppD Microservice 15 minutes
  • 9. Intuit Confidential and Proprietary 9 The Modern SaaS Platform @ Intuit
  • 10. Intuit Confidential and Proprietary 10 ● Design and development started in Jan ‘18 ● First application was running Kafka on Kubernetes ● Running clusters in dev/test, pre-prod and prod environments since Apr ‘18. ● Over 150 Kubernetes clusters and 3000 namespaces today… Journey so far ...
  • 11. Intuit Confidential and Proprietary 11 Journey so far … Services on MSaaS
  • 12. Intuit Confidential and Proprietary 12 Journey so far … Namespaces on MSaaS
  • 13. Intuit Confidential and Proprietary 13 Journey so far … Clusters on MSaaS
  • 14. Intuit Confidential and Proprietary 14 ● Intuit Kubernetes Service ○ Using Kops today ○ Moving to EKS ● Intuit Kubernetes Service Manager (may open source) ● Custom Resources for cluster lifecycle management (aka. Keiko) Modern SaaS platform today ...
  • 15. Intuit Confidential and Proprietary 15 alb-ingress kube-dns fluentd metrics prometheus autoscaler Addons User namespace 1 User namespace 2 User namespace 3 User namespace n Applications kube-apiserver kube-proxy K8s Control Plane kube-scheduler kube-controlleretcd Each Kubernetes cluster today ...
  • 16. Intuit Confidential and Proprietary 16 Master Nodes alb-ingress kiam eventrouter metrics kube-dns autoscaler Addons kube-apiserver kube-proxy K8s Control Plane kube-scheduler kube-controlleretcd Each Kubernetes cluster today ...
  • 17. Intuit Confidential and Proprietary 17 The Challenges
  • 18. Intuit Confidential and Proprietary 18 Addons - Common functionality needed by all apps on a cluster - DNS, log forwarding, metrics, identity, etc. - Integrate with other AWS services such as ALB.
  • 19. Intuit Confidential and Proprietary 19 Multi-tenancy - What does each tenant mean? - Namespace? - Kubernetes objects with the same label? - Some CRD? We decided to go with Kubernetes Namespaces
  • 20. Intuit Confidential and Proprietary 20 More Multi-tenancy issues - Noisy neighbour - Customized setup - Tenant specific AMIs - Tenant specific instance types - Cost accounting
  • 21. Intuit Confidential and Proprietary 21 Resilience and hardening ... - Pods stuck in terminating state ... - EC2 instance networking broken … - Bunch of 502s during upgrade...
  • 22. Intuit Confidential and Proprietary 22 Deep monitoring - Not enough to simply check if components are “up” - Deep monitoring - Actually exercise the functionality - Periodically - Preferably automatic remediation
  • 23. Intuit Confidential and Proprietary 23 Cost efficiency - How do we reduce costs?
  • 24. Intuit Confidential and Proprietary 24 The Solutions
  • 25. Intuit Confidential and Proprietary 25 Addon-Manager Addons are critical components within a Kubernetes cluster that provide basic services needed by applications like DNS, Ingress, Metrics, Logging, etc. Addon Manager provides a CRD for lifecycle management of such addons using Argo Workflows.
  • 26. Intuit Confidential and Proprietary 26 Addon-Manager
  • 27. Intuit Confidential and Proprietary 27 Multi-tenancy solutions - Instance Group per Namespace - Customized labels - Centralized upgrades We decided to go with ...
  • 28. Intuit Confidential and Proprietary 28 Instance-manager - Declaratively provision and manage ASGs (nodes) - Number and type of nodes - Labels and taints - Subnets and security groups $ kubectl create -f /tmp/hello_world.yaml instancegroup.instancemgr.keikoproj.io/hello-world created $ kubectl get igs NAME STATE MIN MAX GROUP NAME PROVISIONER STRATEGY AGE hello-world Ready 2 3 shri-east-2-instance-manager-hello-world-NodeGroup-16Y8ZA1ZJW8JK eks-cf crd 3m nodes Ready 2 3 shri-east-2-instance-manager-nodes-NodeGroup-1K1T3YSXCCCK9 eks-cf crd 1d
  • 29. Intuit Confidential and Proprietary 29 Upgrade-manager - Upgrade Manager provides RollingUpgrade, a Kubernetes native mechanism for doing rolling- updates of instances in an AutoScaling group using a CRD and a controller.
  • 30. Intuit Confidential and Proprietary 30 Governor Governor improves the stability of large Kubernetes clusters by proactively terminating failed but stuck pods and misbehaving nodes.
  • 31. Intuit Confidential and Proprietary 31 Active-monitor Active-Monitor is a Kubernetes custom resource controller which uses Argo Workflows for deep cluster monitoring.
  • 32. Intuit Confidential and Proprietary 32 Minion-manager Minion-manager enables the intelligent use of Spot Instances in Kubernetes clusters on AWS. This is done by factoring in on-demand prices, spot-instance prices and current state of the AutoScalingGroups.
  • 33. Intuit Confidential and Proprietary 33 Kube-forensics Kube-forensics allows a cluster administrator to dump the current state of a running pod and all its containers so that security professionals can perform offline forensic analysis.
  • 34. Intuit Confidential and Proprietary 34 Keiko “Keiko provides a set of independent open-source tools for orchestration and management of multi-tenant, reliable, secure and efficient Kubernetes clusters at scale.” github.com/keikoproj Instance manager Kube forensics Upgrade manager Active monitor Addon manager Governor Minion manager
  • 35. Intuit Confidential and Proprietary 35 Keiko github.com/keikoproj Instance manager Kube forensics Upgrade manager Active monitor Addon manager Governor Minion manager github.com/keikoproj twitter.com/keikoproj
  • 36. Intuit Confidential and Proprietary 36 Keiko Orchestration Instance-manager Upgrade-manager Reliability Governor Cost Eff Minion Manager Addon Manager Security Kube-Forensics Monitoring Active-monitor
  • 37. Intuit Confidential and Proprietary 37 Coming up ... - Kubernetes control plane using EKS - Multi-cluster Service Mesh using Istio - OpenTelemetry - GitOps for AWS resources - Experimentation platform - And more ...
  • 38. Intuit Confidential and Proprietary 38 There’s a lot happening ... <We are hiring />