Case Study: Decide. Commit. Succeed. How Beachbody Moved to a Next-Generation Architecture

Post on 16-Apr-2017

161 views 0 download

Transcript of Case Study: Decide. Commit. Succeed. How Beachbody Moved to a Next-Generation Architecture

World®’16

Decide.Commit.Succeed.HowBeachbodyMovedtoaNext-GenerationArchitectureMichaelLee- VPEngineering– BeachbodyPJLittle- Beachbody

DO3T06S

DEVOPS

2 @CAWORLD#CAWORLD ©2016CA.ALLRIGHTSRESERVED.

©2016CA.Allrightsreserved.Alltrademarksreferencedhereinbelongtotheirrespectivecompanies.

Thecontentprovidedinthis CAWorld2016presentationisintendedforinformationalpurposesonlyanddoesnotformanytypeofwarranty. The informationprovidedbyaCApartnerand/orCAcustomerhasnotbeenreviewedforaccuracybyCA.

ForInformationalPurposesOnlyTermsofthisPresentation

3 @CAWORLD#CAWORLD ©2016CA.ALLRIGHTSRESERVED.

Abstract

Beachbodyvaultedover17yearsoflegacysystemandpracticestoacommunityleadership

positioninourTechnologyculture,ourplatforms,andembracingaPaaSandmicro-service

architecturedrivenworld.Inthissession,learnhowBeachbody,aB2C/B2BMLMcompany

modernizedandsetthegroundworkforitsnextgenerationofproductsandservicesusingthe

powerofOpenSourceandCA'sdevops andserviceenablement.

MichaelLeeBeachbodyVPEngineering

4 @CAWORLD#CAWORLD ©2016CA.ALLRIGHTSRESERVED.

Q&A

Agenda

BEACHBODYHISTORY

BRIDGING:LEGACYTONEXTGENJOURNEY

USECASE&DEMO:PUBLISHINGWORKFLOW

1

2

3

4

5 @CAWORLD#CAWORLD ©2016CA.ALLRIGHTSRESERVED.

Beachbody § $1.3BGrewexponentially1998-2016§ Fitnesscompanywithfourmajorlinesofbusiness

– Directtoconsumer

– Network– Workshops&Classes– BeachbodyOnDemand

§ Ourprograms– 1998TurboJam

– 2003P90x– 2007TeamBeachbody– 2010Shakeology– 2014BeachbodyLive– 2015Apparel

§ Today:400,000+coaches

Introduction

6 @CAWORLD#CAWORLD ©2016CA.ALLRIGHTSRESERVED.

Warehouse

Tax

Orders

Call Switch

Accounting

Payroll

Payments

Media

Customer Service

Procurement

Continuities

Telemarketing

Billing

Community

eCommerce

1998 2000 2005 2010 2015 2016+

Assets

Genealogy Order Reporting

Properties

Marketing Database

Projects

Revenue

Revenue Recognition

Video

Workshops

Cash

Reporting

Accounts Payable

Coach

Club

Commission

Email Management

Fitness Tracking

Content

Coach Reports

Coach Relations

General Ledger

Chat

Accounts Receivable

Replicated Sites

Affiliate Email Marketing

International$5 Billion

7 @CAWORLD#CAWORLD ©2016CA.ALLRIGHTSRESERVED.

i3c

Media

Quickbooks

WarehouseTelemarketing eCommerce

Call Switch

Message Boards

Customer Service eCometry

mybeachbody Coach CRM Certification Digital

Enterprise Service Bus

8 @CAWORLD#CAWORLD ©2016CA.ALLRIGHTSRESERVED.

TheChallenge

§ Growthledtosprawlwhichledtoknowledgeisolation

§ Architecturewasnotreadyforourincreasingdataandcustomervolumes

§ ManykeyservicesSaaShosted,withcompaniesthatdidnotgrowwithus

§ Bringingapplicationsinhousewithateammoreaccustomedtohostedapplications

§ Needtodeliveruserfacing,webspeedexperiencewithmarketingdriventrafficspikesacrosseCommerce,CMS,digitaldistribution,andanalytics

9 @CAWORLD#CAWORLD ©2016CA.ALLRIGHTSRESERVED.

Microservice ArchitectureAPI–drivenReadyforInternationalExponentialRevenueGrowthTargetPartnerDevelopmentCenters

Media AgenciesChannels & Affiliates

Dist Center(3PL) Telemarketing Manufacturer SupplierB2B

CountriesCOOBB in a Box BB Live bb.com

External Service Layer

CRM Email Delivery

Content ManagementMDM

Commerce Engine

ERP

MLM Engine

Non-Transactional Corporate Systems

Data Asset Management

Media Mgmt(Pioneer)Merchant Portal

Campaign & Test

ManagementBI Portal C/S Portal R&D

(Agile PLM)

Payment Service

Internal Service Layer

Streaming Players

Club.tbb.com

DataLake

10 ©2016CA.ALLRIGHTSRESERVED.@CAWORLD#CAWORLD

LegacytoNext-GenArchitecture

11 @CAWORLD#CAWORLD ©2016CA.ALLRIGHTSRESERVED.

ArchitectureDomainsegmentedMicroservicesDecide.Commit.Succeed.

People“PushDecisionstotheEdge”

ProcessDeliverqualitysolutionsatspeed.

MakingaNext-GenArchitectureWork

12 @CAWORLD#CAWORLD ©2016CA.ALLRIGHTSRESERVED.

People

13 @CAWORLD#CAWORLD ©2016CA.ALLRIGHTSRESERVED.

OrgDesign§ DevOpsCulture§ Autonomous&Decentralized§ Training

– Prioritization&WorkloadManagement– StakeholderManagement– Extraordinary,notordinary– Removingimpedimentstoincrease

velocityandquality– FullStack

§ DecentralizedHorizontalServiceswithoutincrementalheadcount

§ RetentionProgram

“PushDecisionstotheEdge”*

*https://codeascraft.com/2015/12/21/leveling-up-with-system-reviews/

DeliveryTeams

14 ©2016CA.ALLRIGHTSRESERVED.@CAWORLD#CAWORLD

CultureasTechnologyTransformation

§ Events:Hackathon,bugsmashday§ Community:meetups,lunch&learn,

guilds,onboarding,architecturebash§ IgnitionDay2016:

– 100%EngineeringParticipation– 80%ofthe30teamspracticed

Clouddevelopment– 60%oftheteamsproduced

microservicesandAPIs§ CASponsorship

“Wecelebratewhoweareandwhatweaccomplish”

15 @CAWORLD#CAWORLD ©2016CA.ALLRIGHTSRESERVED.

Process

16 @CAWORLD#CAWORLD ©2016CA.ALLRIGHTSRESERVED.

ProcessModernTechStackGovernance

Services Platforms Techniques Languages

17 @CAWORLD#CAWORLD ©2016CA.ALLRIGHTSRESERVED.

Process § Microservices areaprocess:ConventionoverConfiguration!– Can’tmanagesnowflakesen masse– Can’tscalesnowflakes– Can’ttroubleshootheterogeneityatscale

§ Repeatability– DockerComposesameinDev,samein

AWS

§ Dockerallowsengineeringteamstochoosewhatworksforthem,butstillscaleanddistributeinahomogenousway

PaaS(PlatformasaService)

?

18 @CAWORLD#CAWORLD ©2016CA.ALLRIGHTSRESERVED.

Process § ManageLess– VM’s->Containers– VPC’sw/EC2->ECS– Focusonthepiecesyouwanttocontrol

andpushouttheonesthatareuninteresting

– SeparatecontainersforSplunkforwarder/etc – canbedeployedandreplacedseparately

– Forcesyoutothinkofthesizeofyourdeployable(noOSbloat)

§ SametoolsinDevandProduction– Docker+Vagrant->DockerCompose

PaaS(PlatformasaService)

YourProblems

VMHealth

LoggingKey/User

Management

Environmentconfigs

Startuptime

Scaling

Containerdependency

FullOSsecurity

19 @CAWORLD#CAWORLD ©2016CA.ALLRIGHTSRESERVED.

Architecture

20 @CAWORLD#CAWORLD ©2016CA.ALLRIGHTSRESERVED.

Decide.

21 @CAWORLD#CAWORLD ©2016CA.ALLRIGHTSRESERVED.

KeyConcerns CAAPIM OAG AWS

ContinuousDelivery *

CloudIntegration/Support/Deployment * *

SWAGGERandRAML * *

AnalyticsandStatistics * *

Portal(APIManagement) *

APILiveCreator *

SupportofLegacySystems *

Security * * *

AdvancedSupportforMobileDevelopment * *

APIOrchestration * *

Monitoring * * *

MultiPlatformSupport *

CAAPIManagement§ APIDocumentation§ PCI-DSS/PIIandotherSecurity

requirements§ APIAccessControlmeasures§ Monitoring,throttling,andorchestration§ PaaSsupport§ Consultingpartnershiptore-writecritical

APIstonewgateway

APIManagementEvaluation

22 @CAWORLD#CAWORLD ©2016CA.ALLRIGHTSRESERVED.

Commit.

23 @CAWORLD#CAWORLD ©2016CA.ALLRIGHTSRESERVED.

Run-timeServiceLayerBridgingandAbstractionPatterns

24 @CAWORLD#CAWORLD ©2016CA.ALLRIGHTSRESERVED.

Succeed.

25 @CAWORLD#CAWORLD ©2016CA.ALLRIGHTSRESERVED.

PhaseI:GlobalAPIs

§ DesignFirstApproach

§ Forcestandarddocumentationanddefinition

§ Drivestakeholderconversationsbeforecommitment

§ AutomatedocumentationprocessforconsumptionofAPIs

26 @CAWORLD#CAWORLD ©2016CA.ALLRIGHTSRESERVED.

PhaseII:CommerceAPIs CheckoutFlows1. TBB:BeachbodyChallengeCheckout2. TBB:BeachbodyChallengeCheckout3. TBB:ShakeologyCheckout4. TBB:P90XMobileShop5. TBB:P90X/InsanityApparelShopCheckout6. TBB:P90X/InsanityWorkshop/Qualification/Proteam Checkout7. TBB:CoachSignupFlowWithUpsell8. TBB:ClubSignupCheckout9. TBB:CMACheckout(Mobileapp)WithChallengePack/Shakeologyoptions10. TBB:Wave1:URShop11. TBB:US– Desktop12. BB:US- Mobile(includesamobileoptimizedupselloption)13. BB:US- Tablet(E-commercecheckout)14. BB:UK– Desktop15. BB:UK– Mobile16. BB:UK- Tablet(E-commercecheckout)17. BB:CANADA– Desktop18. BB:CANADA- Mobile(E-commercecheckout)19. BB:US- BODRegistrationflow(Desktop,Mobile,Tablet)20. BB:CANADA- Tablet(E-commercecheckout)21. BBL:PiYo,Turbokick22. BBL:cize,P90xUK

27 @CAWORLD#CAWORLD ©2016CA.ALLRIGHTSRESERVED.

PhaseIII:APIEcosystem

§ Self-serviceaccessibility=keycharacteristicofanAPIprogram

§ GovernancedesignallowsforAPIstobeconsumedinreal-timewithoutcompromisingdataintegrityordatasecurity

28 @CAWORLD#CAWORLD ©2016CA.ALLRIGHTSRESERVED.

UseCase&Demo:PublishingFlow

29 @CAWORLD#CAWORLD ©2016CA.ALLRIGHTSRESERVED.

OracleEnterpriseServiceBus OracleAPIGateway CAAPIGateway

300+APIs 150+APIs <50APIs

Legacysupport

ServiceInventory

30 @CAWORLD#CAWORLD ©2016CA.ALLRIGHTSRESERVED.

NewPublishingUpdates

§ Enablesbiz&eng workstreams

§ ReusableContentAPI

§ Moderntoolsetthatcanadaptovertime

§ Independent,containerizedcomponents

§ RobustCD/CIworkflow

31 @CAWORLD#CAWORLD ©2016CA.ALLRIGHTSRESERVED.

BeachbodyPublishingWorkflow

OracleCMS

ContentAPI

AWS

Content/publishing

CD/CIpipe

Onpremiseenterprise

CAAPIGateway

32 @CAWORLD#CAWORLD ©2016CA.ALLRIGHTSRESERVED.

DeliveryTeamsCultureasTechnology

TransformationAPIEcosystemMicroservice

ArchitectureModern

GovernancePlatformasa

Service

• Autonomous• ProductOKRs• Supply&Demand• FullStackTraining• Decentralizedhorizontal

serviceswithoutincrementalheadcount

• RetentionProgram

• DevOps• HackDays&BugSmash

Days• Cross-pollination• Community• Celebrate!

• TOGAFLight• TechnologyReviewBoard• ProductLifecycle• DataManagement• TechRadar• OKRs• ProductScorecard

• CI/CD• EnvironmentMgmt• Failurehandling• Secure:Immutablehosts

100%inaccessibleviadirectpublictrafficonanyport

• Infrastructureascode

• Keyentitiesextractedintoservices

• Orchestrationlayeroperatesoninter-applicationandexternalservicestofulfillbusinessoperations

• Data->Servicespecificdatabases

• Management• Guilds• UseBetterPractices• Repeatable• Monitoring&Healthchecks• DesignFirst• Selfservice• AutomatedTesting• Virtualized

People Process Architecture

33 ©2016CA.ALLRIGHTSRESERVED.@CAWORLD#CAWORLD

Stayconnectedatcommunities.ca.com

Thankyou.

34 ©2016CA.ALLRIGHTSRESERVED.@CAWORLD#CAWORLD

DevOps– AgileOps

FormoreinformationonDevOps– AgileOps,pleasevisit:http://cainc.to/wYXSg6