资源描述:
《cloud+native+applications-》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、CloudNativeApplications主讲人:CapitalOne首席工程师KevinHoffmanAgenda●DefineCloudNative●CloudNativepracticesandthe“15factors”●FromMonolithstotheCloud●Q&AWhatisCloudNative?●Contractbetweenapplicationandinfrastructure●Designedtoscaleelasticallyandhorizontally●Nohostdependencies●Applicationconfo
2、rmstothe“12(or15)factors”●Container-based*TeamDiscipline云道●Structurearoundrapid,continuousdelivery●Embraceagility●Embracethecloud●AdoptpracticesaimedatthrivingoncloudplatformsTheWayoftheCloud云道●FavorSimplicity●TestFirst,TestEverything●ReleaseEarly,ReleaseOften●AutomateEverything●Buil
3、dEcosystems,notMonoliths15FactorsofCloudNative十五个因素●BasedonHeroku’soriginal“12factor”list(12factor.net)●Characteristicsofacloudnativeapplication●Someeasiertoadoptthanothers●AdoptingallfactorspayshugedividendsOnecodebase,OneApp第一●Singleversion-controlledcodebase,manydeploys●Multipleap
4、psshouldnotsharecode○Microservicesneedseparatereleaseschedules○Upgrade,deployonewithoutimpactingothers●TiebuildanddeploypipelinestosinglecodebaseAPIFirst第二●Serviceecosystemrequiresacontract○PublicAPI●Multipleteamsondifferentschedules○Codetocontract/API,notcodedependencies●Usewell-doc
5、umentedcontractstandards○ProtobufIDL,Swagger,Apiary,etc●APIFirst!=RESTFirst○RPCcanbemoreappropriateinsomesituationsDependencyManagement第三●Explicitlydeclaredependencies●Includealldependencieswithapprelease●Createimmutablebuildartifact(e.g.dockerimage)●Relyonsmallestdockerimage○Baseons
6、cratchifpossible●AppcannotrelyonhostforsystemtoolsorlibrariesDesign,Build,Release,Run第四●Designpartofiterativecycle○Agiledoesn’tmeanrandomorundesigned●MatureCI/CDpipelineandteams○Designtoproductionindaysnotmonths●Buildcreatesimmutableartifact●Releaseautomaticallydeploystoenvironment○E
7、nvironmentcontainsconfig,notreleaseartifactConfiguration,Credentials,Code第五●“3Cs”volatilesubstancesthatexplodewhencombined●Passwordinaconfigfileisasbadaspasswordincode●Appmustaccept“3Cs”fromenvironmentandonlyuseharmlessdefaults●Test-couldyouexposecodeongithubandnotrevealpasswords,URL
8、s,credential