Upload
turboki
View
91
Download
0
Embed Size (px)
Citation preview
Size as an Advantage: How Big Enterprises can Move FastVinay Kumar and Chetan Desai, Intuit
Postulate: Startups are nimble, Enterprises are slow.
Lots to lose Existing revenue and customers
Legacy Technology and Systems Services with proprietary APIs Data in silos
Security Standards
Why?
Some things suck for service developers at our company Provisioning hardware Configuring load balancers (pools, health checks, ACLs) Integrating with authentication Security Reviews/Standards Versioning Build and Deploy (getting bits onto servers, configuration
management) Differences between AWS and internal hosting
Time spent working on these problems is time not spent solving core customer problems.
Cust
om
er
Pro
ble
m-i
litie
s
Service 1
Cust
om
er
Pro
ble
m-i
litie
s
Service 2
Cust
om
er
Pro
ble
m-i
litie
s
Service 3
Cust
om
er
Pro
ble
m-i
litie
s
Service n
Can we use our size as an advantage?
Economies of Scale: Dedicate a team to solve these problems once Leverage solutions across many teams building
services
We started with:• Three new services, developed by independent
teams• A Service Platform team for solving common
problems
Cust
om
er
Pro
ble
m-i
litie
s
Service 1
Platform
Cust
om
er
Pro
ble
m
Service 2
Cust
om
er
Pro
ble
m
Service 3
Cust
om
er
Pro
ble
m
Dividing and Conquering“Collaboration via SLA”: Be explicit about which problems each team is responsible for solving Platform team solves common problems once. Service developers focus on their service’s
functionality
Not every problem will be solved perfectly initially, but as we get better over time, all services get improvements.
Platform Design Strategy Identify & front-load long lead time items (slow enterprise) Abstraction from hardware, flexibility on where to place
services on an as-need basis. Wide-ranges & uncertainty on service’s footprint
Define an SLA so that: Build & deploy is “free” Logging, monitoring is “free”
Remove the pain from service developers
Scope of V1TurboTax is a very seasonal business: Major product release December 1 for new Tax Year Customers arrive Jan-April
So we had to constrain our scope to deliver for this tax season: Hosting in internal data centers (no AWS) Three services (all dev teams in San Diego) All services built on Node No Docker or other container technology
Platform Implementation Long lead time identification:
Allocate hosting VMs up-front Load balance pool setup up-front
Flexibility: Allocate 20 ports per service across all platform VMs Multi-tenancy: where services live and # of instances is
a config change.
Provide solutions for SLA: Common health-check, logging, monitoring
Common Build & Deploy Template-based CI and Release build jobs Deployment through CDD
Allows developers to sign off& promote new versions
Re-usable chef cookbooks for: Deployment of node service code Upstart configuration (process management) Log management (logrotate & Splunk forwarding)
Reflections on V1Live in production this week, can reflect on development of V1
Worked Well Multi-tenancy Up-front Load
balancer configuration
Reusable Build & Deploy
Learned DevOps is
fundamental Lots of small
modules is ok Make it easy
to onboard
Needs Work Private npm
repo Share npm
modules Open Source
Growing our node expertiseProblem: Teams building services are learning node as they go. We envision many more teams building services on node.
Opportunity: Center of excellence of node knowledge.
How do we share and build up teams? “Embed an expert” model “Meetingless collaboration” model Enterprises can afford to do both
Wrap Up: How do enterprises move fast. Identify and prepare for slow-moving tasks Divide & Conquer – lots of expertise in a large size Service developers have a tradeoff between
control & conformity in a platform Create a platform that’s not “take it or leave it” Conformity made easy with open-collaboration npm
modules People like to adopt easy-to-use things
Thanks! Vinay Kumar
https://www.linkedin.com/in/sdvinay @sdvinay
Chetan Desai https://www.linkedin.com/in/chetanddesai @chetanddesai