资源描述:
《【t112017-数据工程和技术分会场】cloud+native+applications》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库。
1、CloudNativeApplications主讲人:CapitalOne首席工程师KevinHoffmanAgenda●DefineCloudNative●CloudNativepracticesandthe“15factors”●FromMonolithstotheCloud●Q&AWhatisCloudNative?●Contractbetweenapplicationandinfrastructure●Designedtoscaleelasticallyandhorizontally●Nohostdependenci
2、es●Applicationconformstothe“12(or15)factors”●Container-based*TeamDiscipline云道●Structurearoundrapid,continuousdelivery●Embraceagility●Embracethecloud●AdoptpracticesaimedatthrivingoncloudplatformsTheWayoftheCloud云道●FavorSimplicity●TestFirst,TestEverything●ReleaseEarl
3、y,ReleaseOften●AutomateEverything●BuildEcosystems,notMonoliths15FactorsofCloudNative十五个因素●BasedonHeroku’soriginal“12factor”list(12factor.net)●Characteristicsofacloudnativeapplication●Someeasiertoadoptthanothers●AdoptingallfactorspayshugedividendsOnecodebase,OneApp第
4、一●Singleversion-controlledcodebase,manydeploys●Multipleappsshouldnotsharecode○Microservicesneedseparatereleaseschedules○Upgrade,deployonewithoutimpactingothers●TiebuildanddeploypipelinestosinglecodebaseAPIFirst第二●Serviceecosystemrequiresacontract○PublicAPI●Multiple
5、teamsondifferentschedules○Codetocontract/API,notcodedependencies●Usewell-documentedcontractstandards○ProtobufIDL,Swagger,Apiary,etc●APIFirst!=RESTFirst○RPCcanbemoreappropriateinsomesituationsDependencyManagement第三●Explicitlydeclaredependencies●Includealldependencie
6、swithapprelease●Createimmutablebuildartifact(e.g.dockerimage)●Relyonsmallestdockerimage○Baseonscratchifpossible●AppcannotrelyonhostforsystemtoolsorlibrariesDesign,Build,Release,Run第四●Designpartofiterativecycle○Agiledoesn’tmeanrandomorundesigned●MatureCI/CDpipelinea
7、ndteams○Designtoproductionindaysnotmonths●Buildcreatesimmutableartifact●Releaseautomaticallydeploystoenvironment○Environmentcontainsconfig,notreleaseartifactConfiguration,Credentials,Code第五●“3Cs”volatilesubstancesthatexplodewhencombined●Passwordinaconfigfileisasbad
8、aspasswordincode●Appmustaccept“3Cs”fromenvironmentandonlyuseharmlessdefaults●Test-couldyouexposecodeongithubandnotrevealpasswords,URLs,credential