intuit modern saas platform - developermarch · take care of aws sg, ec2, auto scaling, r53,...

1

Upload: others

Post on 13-Jun-2020

13 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Intuit Modern SaaS Platform - DeveloperMarch · Take care of AWS SG, EC2, Auto scaling, R53, Ingress, Egress . ... Scaling up or down the containers on demand ... and Proprietary
Page 2: Intuit Modern SaaS Platform - DeveloperMarch · Take care of AWS SG, EC2, Auto scaling, R53, Ingress, Egress . ... Scaling up or down the containers on demand ... and Proprietary

Laks

Apr, 2019

Intuit Modern SaaS Platform

Page 3: Intuit Modern SaaS Platform - DeveloperMarch · Take care of AWS SG, EC2, Auto scaling, R53, Ingress, Egress . ... Scaling up or down the containers on demand ... and Proprietary

Intuit Confidential and Proprietary 2

Agenda

● What is the Modern SaaS platform ?

● Why we built it?

● How we built it?

Page 4: Intuit Modern SaaS Platform - DeveloperMarch · Take care of AWS SG, EC2, Auto scaling, R53, Ingress, Egress . ... Scaling up or down the containers on demand ... and Proprietary

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

Page 5: Intuit Modern SaaS Platform - DeveloperMarch · Take care of AWS SG, EC2, Auto scaling, R53, Ingress, Egress . ... Scaling up or down the containers on demand ... and Proprietary

Intuit Confidential and Proprietary 4

Monolith vs Microservice

Page 6: Intuit Modern SaaS Platform - DeveloperMarch · Take care of AWS SG, EC2, Auto scaling, R53, Ingress, Egress . ... Scaling up or down the containers on demand ... and Proprietary

Intuit Confidential and Proprietary 5

Service O nboarding without M -SaaS

● Create Service on Service Portal I want to develop new micro service

● Get an Cloud Account - Work with Team A ● Create all the basic resources in AWS - Work with Team B

● Create Pipeline - Contact Team C ● Don’t forget you have to create the Git Repo - Team

D ● Whitelist Nexus - Same Team D ● Set up CD ...btw I used Spinnaker it is great!!! - This

person helped me

● If you have Web server just talk to Team E ● Monitoring Alerting Logs….. - Contact yourself ● : ● : ● : ● Take care of AWS SG, EC2, Auto scaling, R53,

Ingress, Egress

Takes few weeks to set up and run the service Steep learning curve

Am I making progress?

Multiple AWS Accounts

Take care of security patches periodically

Page 7: Intuit Modern SaaS Platform - DeveloperMarch · Take care of AWS SG, EC2, Auto scaling, R53, Ingress, Egress . ... Scaling up or down the containers on demand ... and Proprietary

Intuit Confidential and Proprietary 6

Monolith vs Microservice

Page 8: Intuit Modern SaaS Platform - DeveloperMarch · Take care of AWS SG, EC2, Auto scaling, R53, Ingress, Egress . ... Scaling up or down the containers on demand ... and Proprietary

Intuit Confidential and Proprietary 7

Service O nboarding - M -SaaS world

VELOCITY OPERABILITY SECURITY

I want to develop new micro service

AppD

Microservice

15 minutes

Page 9: Intuit Modern SaaS Platform - DeveloperMarch · Take care of AWS SG, EC2, Auto scaling, R53, Ingress, Egress . ... Scaling up or down the containers on demand ... and Proprietary

Intuit Confidential and Proprietary 8

● Ship with increased velocity ● Significantly less coordination with other teams to ship features ● Faster decision making

VELOCITY

OPERABILITY

SECURITY

● Spend zero time managing infrastructure ● Focus on E2E service ownership ● Enables continuous operations by self remediation

● Hygiene and compliance baked into the platform ● Zoning and containment ● RBAC, Encryption, Logging

HOW

● Immutable systems ● Declarative configuration ● Decoupling the components ● Abstraction of infrastructure

Page 10: Intuit Modern SaaS Platform - DeveloperMarch · Take care of AWS SG, EC2, Auto scaling, R53, Ingress, Egress . ... Scaling up or down the containers on demand ... and Proprietary

Intuit Confidential and Proprietary 9

Application Hosting E volution

Page 11: Intuit Modern SaaS Platform - DeveloperMarch · Take care of AWS SG, EC2, Auto scaling, R53, Ingress, Egress . ... Scaling up or down the containers on demand ... and Proprietary

Intuit Confidential and Proprietary 10

M onolith vs M icroservice -> C ontainers

Page 12: Intuit Modern SaaS Platform - DeveloperMarch · Take care of AWS SG, EC2, Auto scaling, R53, Ingress, Egress . ... Scaling up or down the containers on demand ... and Proprietary

Intuit Confidential and Proprietary 11

● Docker originally ○ Standardise the container format ○ Focussed on simplifying the packaging and running the application on a

single node. ● Enterprise quality application needs to

○ Scaling up or down the containers on demand ○ Keeping storage consistent with multiple instances of an application ○ Distributing load between the nodes ○ Launching new containers on different machines when something fails

C ontainers for Production

Page 13: Intuit Modern SaaS Platform - DeveloperMarch · Take care of AWS SG, EC2, Auto scaling, R53, Ingress, Egress . ... Scaling up or down the containers on demand ... and Proprietary

Intuit Confidential and Proprietary 12

Kubernetes aims to support an extremely diverse variety of workloads, including stateless, stateful, and data-processing workloads. If an application can run in a container, it should run great on Kubernetes.

Kubernetes is comprised of a set of independent, composable control processes that continuously drive the current state towards the provided desired state.

What is NOT

Kubernetes is not a traditional, all-inclusive PaaS (Platform as a Service) system.

Does not deploy source code and does not build your application.

Does not dictate logging, monitoring, or alerting solutions.

Does not provide application-level services, such as middleware (e.g., message buses), data-processing frameworks (for example, Spark), databases (e.g., mysql), caches, nor cluster storage systems (e.g., Ceph) as built-in services

What Kubernetes is and What it is NOT

Page 14: Intuit Modern SaaS Platform - DeveloperMarch · Take care of AWS SG, EC2, Auto scaling, R53, Ingress, Egress . ... Scaling up or down the containers on demand ... and Proprietary

Intuit Confidential and Proprietary 13

Intuit Development Platform/Modern SaaS

Splunk (Logging)

PagerDuty (Alerts)

Appdynamics (Monitoring)

Wavefront (Monitoring)

ServiceNow (CM)

IDPS (Secrets)

Intuit Kubernetes Service (IKS) (Core Kubernetes with Intuit Network & Security policies & best practices) EKS

Security & Compliance

Kops

Continuous Operations (Monitoring, Analytics, Remediation)

Olympus (SSO & AWS Roles)

NetGenie (Certs))

GitHub (Apps as Code)

IBP 2.0 Jenkins (Build & Test - CI/d)

Quality Frameworks (TDS, Overwatch, TrinityJS, Hubble…)

JFrog Artifactory (CDP)

Argo CD (GitOps)

Application Services

JSK + Config + Experimentation Intuit API (v4) Streaming/

Messaging Dev Patterns Serverless Framework

Argo workflows UX Fabric

Multi -Cluster Service Mesh and Gateway

Service Catalog

AWS Infrastructure VPC, ALB/NLB, S3, RDS, DynamoDB, Elasticache, ...

Developer and Operations Experience

Onboarding Monitoring Management Multi -Cluster Mgmt (IKSM) Discover Learn/Play

Metrics/Analytics (Team Speed Dashboards)

Page 15: Intuit Modern SaaS Platform - DeveloperMarch · Take care of AWS SG, EC2, Auto scaling, R53, Ingress, Egress . ... Scaling up or down the containers on demand ... and Proprietary

Jenkins Pipeline on IBP2

Page 16: Intuit Modern SaaS Platform - DeveloperMarch · Take care of AWS SG, EC2, Auto scaling, R53, Ingress, Egress . ... Scaling up or down the containers on demand ... and Proprietary

Argo CD

Page 17: Intuit Modern SaaS Platform - DeveloperMarch · Take care of AWS SG, EC2, Auto scaling, R53, Ingress, Egress . ... Scaling up or down the containers on demand ... and Proprietary

Gitops Flow

Page 18: Intuit Modern SaaS Platform - DeveloperMarch · Take care of AWS SG, EC2, Auto scaling, R53, Ingress, Egress . ... Scaling up or down the containers on demand ... and Proprietary

https://argoproj.github.io/

Argoproj is a set of tools for scheduling and orchestrating work on Kubernetes.

● Argo Workflows - Container-native Workflow Engine ● Argo CD - Declarative GitOps Continuous Delivery ● Argo Events - Event-based Dependency Manager

Page 19: Intuit Modern SaaS Platform - DeveloperMarch · Take care of AWS SG, EC2, Auto scaling, R53, Ingress, Egress . ... Scaling up or down the containers on demand ... and Proprietary

Intuit Confidential and Proprietary 18

Argo W orkflows - W orkflow E ngine for K ubernetes What is Argo Workflows? • K8s controller and workflow CRD • Every workflow step is a pod • DAG and Step based DSL

Page 20: Intuit Modern SaaS Platform - DeveloperMarch · Take care of AWS SG, EC2, Auto scaling, R53, Ingress, Egress . ... Scaling up or down the containers on demand ... and Proprietary

Some Statistics ● Multiple business segments ● Thousands of developers onboarded

● Hundreds of Kubernetes Clusters ● Thousands of Nodes ● 22,000 Compute Cores ● 2,000 Namespaces ● 21,000 pods

Page 21: Intuit Modern SaaS Platform - DeveloperMarch · Take care of AWS SG, EC2, Auto scaling, R53, Ingress, Egress . ... Scaling up or down the containers on demand ... and Proprietary

Some Statistics (cont…)

● Hundreds of Services ● 700 deployments per day

Page 22: Intuit Modern SaaS Platform - DeveloperMarch · Take care of AWS SG, EC2, Auto scaling, R53, Ingress, Egress . ... Scaling up or down the containers on demand ... and Proprietary

Intuit Confidential and Proprietary 21

Expected Improvement

Actual Improvement

Recoverability X 10X faster 100X faster

Release cycle time (days) (PR to deploy) Y 1.4Y faster 7Y faster

Release frequency (days) Z 7Z faster 21Z faster

Some Statistics

Page 23: Intuit Modern SaaS Platform - DeveloperMarch · Take care of AWS SG, EC2, Auto scaling, R53, Ingress, Egress . ... Scaling up or down the containers on demand ... and Proprietary

Intuit Confidential and Proprietary 22

Argoproj

Karate

Intuit Open Source Softwares

Web-Services Testing Made Simple.

https://github.com/intuit/karate

Page 24: Intuit Modern SaaS Platform - DeveloperMarch · Take care of AWS SG, EC2, Auto scaling, R53, Ingress, Egress . ... Scaling up or down the containers on demand ... and Proprietary

Intuit Confidential and Proprietary 23

Page 25: Intuit Modern SaaS Platform - DeveloperMarch · Take care of AWS SG, EC2, Auto scaling, R53, Ingress, Egress . ... Scaling up or down the containers on demand ... and Proprietary

Intuit Confidential and Proprietary 24

Page 26: Intuit Modern SaaS Platform - DeveloperMarch · Take care of AWS SG, EC2, Auto scaling, R53, Ingress, Egress . ... Scaling up or down the containers on demand ... and Proprietary

Thank You

laks_s99

in/laks1/

Page 27: Intuit Modern SaaS Platform - DeveloperMarch · Take care of AWS SG, EC2, Auto scaling, R53, Ingress, Egress . ... Scaling up or down the containers on demand ... and Proprietary