Case Study: Decide. Commit. Succeed. How Beachbody Moved to a Next-Generation Architecture
-
Upload
ca-technologies -
Category
Technology
-
view
161 -
download
0
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