charlie garrod michael hilton - carnegie mellon school of ...charlie/courses/15-214/... · 15-214 2...

35
1 15-214 School of Computer Science Microservices + DevOps Charlie Garrod Michael Hilton

Upload: others

Post on 23-Jun-2020

1 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Charlie Garrod Michael Hilton - Carnegie Mellon School of ...charlie/courses/15-214/... · 15-214 2 Administrivia • Homework 6 checkpoint –Monday Dec 4th • Final Exam Review:

115-214

SchoolofComputerScience

Microservices +DevOps

CharlieGarrod MichaelHilton

Page 2: Charlie Garrod Michael Hilton - Carnegie Mellon School of ...charlie/courses/15-214/... · 15-214 2 Administrivia • Homework 6 checkpoint –Monday Dec 4th • Final Exam Review:

215-214

Administrivia

• Homework6checkpoint– MondayDec4th

• FinalExamReview:Dec13th,2-4pmWean5409• FinalExam:Dec15th,5:30-8:30pmWean7500

Page 3: Charlie Garrod Michael Hilton - Carnegie Mellon School of ...charlie/courses/15-214/... · 15-214 2 Administrivia • Homework 6 checkpoint –Monday Dec 4th • Final Exam Review:

315-214

LastTime:

• Architecturalstyles

Page 4: Charlie Garrod Michael Hilton - Carnegie Mellon School of ...charlie/courses/15-214/... · 15-214 2 Administrivia • Homework 6 checkpoint –Monday Dec 4th • Final Exam Review:

415-214

SimpleLayersApp

Page 5: Charlie Garrod Michael Hilton - Carnegie Mellon School of ...charlie/courses/15-214/... · 15-214 2 Administrivia • Homework 6 checkpoint –Monday Dec 4th • Final Exam Review:

515-214

Morefunctionality

Page 6: Charlie Garrod Michael Hilton - Carnegie Mellon School of ...charlie/courses/15-214/... · 15-214 2 Administrivia • Homework 6 checkpoint –Monday Dec 4th • Final Exam Review:

615-214

Evenmorefunctionality

Page 7: Charlie Garrod Michael Hilton - Carnegie Mellon School of ...charlie/courses/15-214/... · 15-214 2 Administrivia • Homework 6 checkpoint –Monday Dec 4th • Final Exam Review:

715-214

Organizeourbackend

Page 8: Charlie Garrod Michael Hilton - Carnegie Mellon School of ...charlie/courses/15-214/... · 15-214 2 Administrivia • Homework 6 checkpoint –Monday Dec 4th • Final Exam Review:

815-214

Howtoscale?

Page 9: Charlie Garrod Michael Hilton - Carnegie Mellon School of ...charlie/courses/15-214/... · 15-214 2 Administrivia • Homework 6 checkpoint –Monday Dec 4th • Final Exam Review:

915-214

Monolith

• Whathappenswhenweneed100servers?

• Whatifwedon’tuseallmodulesequally?

• Howcanweupdateindividualmodels?

• DoallmodulesneedtousethesameDB,language,runtime,etc?

Page 10: Charlie Garrod Michael Hilton - Carnegie Mellon School of ...charlie/courses/15-214/... · 15-214 2 Administrivia • Homework 6 checkpoint –Monday Dec 4th • Final Exam Review:

1015-214

Microservices

Page 11: Charlie Garrod Michael Hilton - Carnegie Mellon School of ...charlie/courses/15-214/... · 15-214 2 Administrivia • Homework 6 checkpoint –Monday Dec 4th • Final Exam Review:

1115-214

Microservices shouldbe:

• Modelledaroundbusinessdomain• Cultureofautomation• Hideimplementationdetails• Decentralizedgovernance• Deployindependently• Designforfailure• Highlyobservable

Page 12: Charlie Garrod Michael Hilton - Carnegie Mellon School of ...charlie/courses/15-214/... · 15-214 2 Administrivia • Homework 6 checkpoint –Monday Dec 4th • Final Exam Review:

1215-214

Microservice prerequisites

• RapidProvisioning• BasicMonitoring• RapidApplicationDeployment• Devops Culture

Page 13: Charlie Garrod Michael Hilton - Carnegie Mellon School of ...charlie/courses/15-214/... · 15-214 2 Administrivia • Homework 6 checkpoint –Monday Dec 4th • Final Exam Review:

1315-214

Page 14: Charlie Garrod Michael Hilton - Carnegie Mellon School of ...charlie/courses/15-214/... · 15-214 2 Administrivia • Homework 6 checkpoint –Monday Dec 4th • Final Exam Review:

1415-214

Whyaremicroservices suchabigdeal?

Page 15: Charlie Garrod Michael Hilton - Carnegie Mellon School of ...charlie/courses/15-214/... · 15-214 2 Administrivia • Homework 6 checkpoint –Monday Dec 4th • Final Exam Review:

1515-214

Impactondevelopmentpractices

• Amazontransitionedto“two-pizza”teams• “FullStack”developers• ”Devops”asaprereq• Livetestingandrollback• Migratingfrom“monolithtomicroservices”ispopular,but

comesatacost

Page 16: Charlie Garrod Michael Hilton - Carnegie Mellon School of ...charlie/courses/15-214/... · 15-214 2 Administrivia • Homework 6 checkpoint –Monday Dec 4th • Final Exam Review:

1615-214

Microservices benefits

• StrongModuleBoundaries• IndependentDeployment• TechnologyDiversity

Page 17: Charlie Garrod Michael Hilton - Carnegie Mellon School of ...charlie/courses/15-214/... · 15-214 2 Administrivia • Homework 6 checkpoint –Monday Dec 4th • Final Exam Review:

1715-214

Microservices overhead

Page 18: Charlie Garrod Michael Hilton - Carnegie Mellon School of ...charlie/courses/15-214/... · 15-214 2 Administrivia • Homework 6 checkpoint –Monday Dec 4th • Final Exam Review:

1815-214

Microservice costs

• Distribution• EventualConsistency• Operationalcomplexity

Page 19: Charlie Garrod Michael Hilton - Carnegie Mellon School of ...charlie/courses/15-214/... · 15-214 2 Administrivia • Homework 6 checkpoint –Monday Dec 4th • Final Exam Review:

1915-214

DiscussionofMicroservices

• Aretheyreally“new”?• Domicroservices solveproblems,orpushthemdowntheline?• Whataretheimpactsoftheaddedflexibility?• GoodArchitecturedoesn’tfixpoorlowleveldesignproblems• Beware“cargocult”• “Ifyoucan’tbuildawell-structuredmonolith,whatmakesyou

thinkmicroservices istheanswer?” – SimonBrown• LeadstomoreAPIdesigndecisions

Page 20: Charlie Garrod Michael Hilton - Carnegie Mellon School of ...charlie/courses/15-214/... · 15-214 2 Administrivia • Homework 6 checkpoint –Monday Dec 4th • Final Exam Review:

2015-214

Microservice prerequisites

• RapidProvisioning• BasicMonitoring• RapidApplicationDeployment• Devops Culture

Page 21: Charlie Garrod Michael Hilton - Carnegie Mellon School of ...charlie/courses/15-214/... · 15-214 2 Administrivia • Homework 6 checkpoint –Monday Dec 4th • Final Exam Review:

2115-214

DEVOPS

Page 22: Charlie Garrod Michael Hilton - Carnegie Mellon School of ...charlie/courses/15-214/... · 15-214 2 Administrivia • Homework 6 checkpoint –Monday Dec 4th • Final Exam Review:

2215-214

WhyDevOps?

• DevelopersandOperationsdon’thavethesamegoals– Devs wanttopushnewfeatures– Opswantstokeepthesystemavailable(stable,tested,etc.)s

• PoorcommunicationbetweenDevandOps• Limitedcapacityofoperationsstaff• Wanttoreducetimetomarketfornewfeatures• Reduce“Throwitoverthefence”syndrome

Page 23: Charlie Garrod Michael Hilton - Carnegie Mellon School of ...charlie/courses/15-214/... · 15-214 2 Administrivia • Homework 6 checkpoint –Monday Dec 4th • Final Exam Review:

2315-214

DevOpsDefinition

• “DevOpsisasetofpracticesintendedtoreducethetimebetweencommittingachangetoasystemandthechangebeingplacedintonormalproduction,whileensuringhighquality.”

Page 24: Charlie Garrod Michael Hilton - Carnegie Mellon School of ...charlie/courses/15-214/... · 15-214 2 Administrivia • Homework 6 checkpoint –Monday Dec 4th • Final Exam Review:

2415-214

WhatareimplicationsofDevOps?

• Qualityofthecodemustbehigh– Testing

• Qualityofthebuild&deliverymechanismmustbehigh– Automation&moretesting

• Timeissplit:– Fromcommittodeploymenttoproduction– Fromdeploymenttoacceptanceintonormalproduction

• Goal-orienteddefinition– Mayuseagilemethods,continuousdeployment(CD),etc.– Likelytousetools

• Achievingitstartsbeforecommitting

Page 25: Charlie Garrod Michael Hilton - Carnegie Mellon School of ...charlie/courses/15-214/... · 15-214 2 Administrivia • Homework 6 checkpoint –Monday Dec 4th • Final Exam Review:

2515-214

Microservices relyonDevOps

Page 26: Charlie Garrod Michael Hilton - Carnegie Mellon School of ...charlie/courses/15-214/... · 15-214 2 Administrivia • Homework 6 checkpoint –Monday Dec 4th • Final Exam Review:

2615-214

DevOpsToolchain

Page 27: Charlie Garrod Michael Hilton - Carnegie Mellon School of ...charlie/courses/15-214/... · 15-214 2 Administrivia • Homework 6 checkpoint –Monday Dec 4th • Final Exam Review:

2715-214

DevOpsToolchain

• Code— codedevelopmentandreview, sourcecodemanagement tools,codemerging

• Build— continuousintegration tools,buildstatus• Test— continuoustesting toolsthatprovidefeedbackon

businessrisks• Package— artifactrepository,applicationpre-deployment

staging

Page 28: Charlie Garrod Michael Hilton - Carnegie Mellon School of ...charlie/courses/15-214/... · 15-214 2 Administrivia • Homework 6 checkpoint –Monday Dec 4th • Final Exam Review:

2815-214

DevOpsToolchaincontinued

• Release— changemanagement,releaseapprovals, releaseautomation

• Configure— infrastructureconfigurationandmanagement, InfrastructureasCode tools

• Monitor— applicationsperformancemonitoring,end–userexperience

Page 29: Charlie Garrod Michael Hilton - Carnegie Mellon School of ...charlie/courses/15-214/... · 15-214 2 Administrivia • Homework 6 checkpoint –Monday Dec 4th • Final Exam Review:

2915-214

DevOpsToolchain- Code

• Codedevelopmentandreview• Sourcecodemanagement tools• Codemerging

Page 30: Charlie Garrod Michael Hilton - Carnegie Mellon School of ...charlie/courses/15-214/... · 15-214 2 Administrivia • Homework 6 checkpoint –Monday Dec 4th • Final Exam Review:

3015-214

DevOpsToolchain- Code

• Codedevelopmentandreview• Sourcecodemanagement tools• Codemerging

MoreonCodeReviewin17-313

Page 31: Charlie Garrod Michael Hilton - Carnegie Mellon School of ...charlie/courses/15-214/... · 15-214 2 Administrivia • Homework 6 checkpoint –Monday Dec 4th • Final Exam Review:

3115-214

DevOpsToolchain- Code

• Codedevelopmentandreview• Sourcecodemanagement tools• Codemerging

Page 32: Charlie Garrod Michael Hilton - Carnegie Mellon School of ...charlie/courses/15-214/... · 15-214 2 Administrivia • Homework 6 checkpoint –Monday Dec 4th • Final Exam Review:

3215-214

DevOpsToolchain- Code

• Codedevelopmentandreview• Sourcecodemanagement tools• Codemerging

Page 33: Charlie Garrod Michael Hilton - Carnegie Mellon School of ...charlie/courses/15-214/... · 15-214 2 Administrivia • Homework 6 checkpoint –Monday Dec 4th • Final Exam Review:

3315-214

DevOpsToolchain- Build

• Continuousintegration tools• Buildstatus

Page 34: Charlie Garrod Michael Hilton - Carnegie Mellon School of ...charlie/courses/15-214/... · 15-214 2 Administrivia • Homework 6 checkpoint –Monday Dec 4th • Final Exam Review:

3415-214

DevOpsToolchain- Test

• Continuoustesting toolsthatprovidefeedbackonbusinessrisks

Page 35: Charlie Garrod Michael Hilton - Carnegie Mellon School of ...charlie/courses/15-214/... · 15-214 2 Administrivia • Homework 6 checkpoint –Monday Dec 4th • Final Exam Review:

3515-214

DevOpsToolchain- Test

• Continuoustesting toolsthatprovidefeedbackonbusinessrisks

Testingtoolsmusthavetests tobevaluable!!