73
Leaving Our Comfort Zone Alex Curtis (Production Management) Brandon Henry (Operations) Bobby Hubbard (Architect) Jonathan Regehr (Developer)

Cloud Foundry Summit 2015: Leaving your Comfort Zone - Garmin and Cloud Foundry

  • Upload
    pivotal

  • View
    211

  • Download
    1

Embed Size (px)

Citation preview

Leaving  Our  Comfort  Zone  

Alex  Curtis  (Production  Management)Brandon  Henry  (Operations)Bobby  Hubbard  (Architect)

Jonathan  Regehr  (Developer)

Who  we  are

• Based  in  Olathe,  Kansas• Founded  in  1989• Revenue  of  $2.9  billion  (2014)• Markets  include  Marine,  Outdoor,  Fitness,  Aviation  &  Automotive/Mobile

The  Past

The  Past

The  Present

The  Present

Stay  Connected  with  Connect

Stay  Connected  with  Connect

Single  Sign  On

Why  Change?

• Infrastructure  Build-­out  Workload

• Suboptimal  Infrastructure  Utilization

• Labor-­intensive  Monitoring  &  Security

• Hard-­to-­reach  Uptime  Goals

Why  Change?

• Roadblocks  to  Developer  Productivity

• Response  Time  to  Business  Needs

• Improve  Project  Costs

Why  Change?

“Sample”  Application  OutageCould  happen  at  any  time

Impact• Customer-­facing  App  running  slow• Some  Users  Unable  to  Log  in

Cause: Heavy  load  brought  down  a  critical  supporting  app

Solution:Double  app  server  pool  size

Why  Change?

Monolith  App  Server  Farm“We  take  the  whole  football  team  to  kicking  practice”

Current  State• Large  App  Server  Pool• Multiple  WARs  per  server

Need:  higher  capacity  for  One  App

Solution:  Scale  the  entire  app  suite  as  a  unit

How  Did  We  Get  Here?

Garmin  HackathonPivotal  Cloud  Platform  RoadshowsProof  Of  Concept

POC:  Datastores

User-­providedSingle  vs.  Multiple

Non-­JDBC

If  you  build  it  …

Well  actually  …

• Cloud  Services• Actuator  -­ health++• Cloud  Connectors

• Eureka• Hystrix• Feign

Why  Change

• Infrastructure  Build-­out  Workload• Automated  infrastructure  deployment

• Suboptimal  Infrastructure  Utilization• High  application   to  Infrastructure  ratio

• Labor-­intensive  Monitoring  &  Security• Automated  monitoring  &  Updates• Centralized  security  updates

• Hard-­to-­reach  Uptime  Goals• Self-­healing  platform• Automated  load-­based  scaling

PaaS:  Problem  Resolution

• Roadblocks  to  Developer  Productivity• Push-­button  deployments• Developers  focused  on  business  requirements,  not  

environment  build-­out• Response  Time  to  Business  Needs• Agility  Through  Continuous  Deployment

• Improve  Project  Costs• Push-­button  project  infrastructure  build-­out• CI/CD  yields  faster  feedback  cycle

Why  Change?  Outage  Prevention.

Auto-­ScalingSometime  in  the  near  future

Impact:  Imperceptible  App  Slowdowns

Cause:  Heavier-­than-­normal   service  traffic

Solution:  Scale  up

Why  Change?  Scalability.

CloudFoundry-­Managed  Apps“Kickers  get  their  own  practice  field”

Future  State• Instances  grow  and  shrink  as  necessary• Apps  securely  nestled  in  their  containers

Need:  higher  capacity  for  One  App

Solution:  Let  CloudFoundryscale  the  app  as  needed

Architecture  Overview

APP.GARMIN.COM

app.kcg-­cloud.garmin.com

app.ola-­cloud.garmin.com

app.garmin.com

Architecture  Overview

APP.GARMIN.COM

app.kcg-­cloud.garmin.com

app.ola-­cloud.garmin.com

app.garmin.com

Architecture  Overview

APP.GARMIN.COM

app.kcg-­cloud.garmin.com

app.ola-­cloud.garmin.com

app.garmin.com

Architecture  Overview

APP.GARMIN.COM

app.kcg-­cloud.garmin.com

app.ola-­cloud.garmin.com

app.garmin.com

Architecture  Overview

APP.GARMIN.COM

app.kcg-­cloud.garmin.com

app.ola-­cloud.garmin.com

app.garmin.com

NGINX  

NGINX

Legacy,  context-­based  URLs  and  addresses

Example:sso.garmin.com/auth

Cloud  Foundry-­friendly  application  URLs  and  

addresses

Example:sso.cf.garmin.com/auth

Architecture  Overview

APP.GARMIN.COM

app.kcg-­cloud.garmin.com

app.ola-­cloud.garmin.com

app.garmin.com

Architecture  Overview

APP.GARMIN.COM

app.kcg-­cloud.garmin.com

app.ola-­cloud.garmin.com

app.garmin.com

Routers

Droplet  Execution  Agents

Architecture  Overview

Architecture  Overview

Routers

Droplet  Execution  Agents

Routers

Droplet  Execution  Agents

Routers

Droplet  Execution  Agents

Availability  Zone  1 Availability  Zone  2

Architecture  Overview

APP.GARMIN.COM

app.kcg-­cloud.garmin.com

app.ola-­cloud.garmin.com

app.garmin.com

Architecture  Overview  -­ Future

APP.GARMIN.COM

app.kcg-­cloud.garmin.com

app.ola-­cloud.garmin.com

Architecture  Overview  -­ Future

APP.GARMIN.COM

app.kcg-­cloud.garmin.com

app.ola-­cloud.garmin.com

Architecture  Overview

CF  Operations  Manager

CF  Operations  Manager

CF  Operations  Manager

CF  Operations  Manager

Monitoring

vRealize Operations Manager

vRealize Hyperic

Pivotal CF Ops Metrics

Monitoring

vRealize Operations Manager

vRealize Hyperic

Pivotal CF Ops Metrics

CF  Operations  Manager

Monitoring

vRealize Operations Manager

vRealize Hyperic

Pivotal CF Ops Metrics

Monitoring

vRealize Operations Manager

vRealize Hyperic

Pivotal CF Ops Metrics

Monitoring  -­ SolarWinds

Monitoring

vRealize Operations Manager

vRealize Hyperic

Pivotal CF Ops Metrics

Monitoring

vRealize Operations Manager

vRealize Hyperic

Pivotal CF Ops Metrics

Monitoring

vRealize Operations Manager

vRealize Hyperic

Pivotal CF Ops Metrics

Monitoring

vRealize Operations Manager

vRealize Hyperic

Pivotal CF Ops Metrics

Monitoring

vRealize Operations Manager

vRealize Hyperic

Pivotal CF Ops Metrics

Monitoring  – vRealize  Operations  ManagervRealize Operations Manager

Monitoring  – vRealize  Operations  ManagervRealize Operations Manager

Monitoring  – vRealize  Operations  ManagervRealize Operations Manager

Monitoring  – vRealize  Operations  Manager

http://blog.pivotal.io/cloud-­foundry-­pivotal/products/monitoring-­pivotal-­cloud-­foundry-­health-­and-­status-­hybrid-­models-­kpis-­and-­more

100%  Uptime

Routers

DEAs

Apps

100%  Uptime

Routers

DEAs

AppsHealth Monitor

100%  Uptime

Routers

DEAs

AppsHealth Monitor

100%  Uptime

Routers

DEAs

AppsHealth Monitor vRealize Ops Manager

100%  Uptime

Routers

DEAs

AppsHealth Monitor vRealize Ops Manager

Application  monitoring

Application  Monitoring  – AppDynamics

Environment(Application)

Cluster(Tier  name)

Server

Layout  (pre-­CF)

Application  Monitoring  – AppDynamics

New  Build  PackOriginal  Build  Pack

Application  Monitoring  -­ Splunk

Application  Monitoring  -­ Splunk

Production  Management

Summary

• Infrastructure  Build-­out  Workload• Suboptimal  Infrastructure  Utilization• Roadblocks  to  Developer  Productivity• Labor-­intensive  Monitoring  &  Security• Hard-­to-­reach  Uptime  Goals• Response  Time  to  Business  Needs• Improve  Project  Costs

Summary

Questions?