微服务下的Serverless架构实战
2020-03-01 57浏览
- 1.ங๐࣋ۓวӥጱServerlessຝਫ᪢! Ἆ!ܗ ThoughtWorksṛᕆߎᧃ!
- 2.
- 3.
- 4.
- 5.֢ᘏՕᕨ Ἆ҅ܗThoughtWorksṛᕆߎᧃ/ կຝ҅ձᬦ̵ݎၥᦶ̵ᬩ ᖌ̵ದᕪቘᒵᜋ҅ࣁࢵٖक़ग़ਹմ ӱ؉ᬦದරᕞզ݊ದߎᧃ҅ํӿ ጱභഠࢫᴚૡ֢ᕪḵ̶ ፓڹӫဳԭDevOpsದ݊ԯᒒຝ ҅ࣁ൫ୌ೮ᖅᵞ౮݊᮱ᗟଘ̵ݣᛔۖ ۸ୌचᏐᦡෞ̵ᡦ۸ሾह̵ԯᒒᬩ ᖌᒵොᶎํ፳ӿጱᕪḵ̶̶ํAWS ᥴ٬ොໜຝզ݊ݎᘏᦤԡ̶ ӻՈܗਮwww.huangbowen.net̶ᦲ ֢ํ̽Effective JavaScript̵̾̽Html5 CSS3ߥଫୗᦡᦇ̵̽̾ܖC#ग़ᕚ ᑕᖫᑕਫ̵̾̽ᶎݻጱᘍᬦ ᑕ̵̾̽चᏐᦡෞܨդᎱ̾ᒵ̶
- 6.Serverlessຝጱኧ! Serverlessጱս۠ຝᇙᅩ! चԭServerlessጱ೮ᖅԻ՞ၞᕚ! ServerlessຝጱੴᴴӥӞྍ! ᕮ!
- 7.ITचᏐᦡෞጱᄍᬰ ᇔቘ ᡦ ᡦ ᇔቘ Ҙ-90ଙդ 90ଙդ-2013 ᇔቘ 2013-ᛗՔ ԯդ ๅොጱ឴ᦇݐᓒᩒრ҅ս۸ᦇᓒᩒრֵአሲ
- 8.ԯᦇᓒդጱ๐ۓ ๅဳىӱۓ໐ஞ᭦ᬋ Software As A Service Platform As A Service Container As A Service Infrastructure As A Service ๅဳىᬩᖌ Ծߝࢫᴚ Ծߝࢫᴚ Ծߝࢫᴚ Ծߝࢫᴚ
- 9.ԯᦇᓒጱݎ۠ ই֜ᚆๅຄᛘս۸ᩒრֵአሲҘ ᴳ֗COST ݶᦏԾߝࢫᴚๅᘸᆌӱ҅ݎۓ൳ᚙᬩᖌဝ၂Ҙ ṛපሲ
- 10.FUNCTION AS A SERVICE ๅဳىӱۓ໐ஞ᭦ᬋ SoftwareFunction As A Service As A Service Platform As A Service Container As A Service Infrastructure As A Service ๅဳىᬩᖌ Ծߝࢫᴚ Ծߝࢫᴚ Ծߝࢫᴚ Ծߝࢫᴚ
- 11.SERVERLESSຝ -- FUNCTION AS A SERVICE FrontEnd Event Sources Function Function Function Function Function Function Function Function Function Function Function Function Business Services Business BusinessServices Services ᓕቘଘݣ 1. ኧԪկݎ 2. ᬩᤈࣁᎨฮጱ෫ᇫாጱӾ 3. ᬩᤈሾहਠᤩقᒫӣොಓᓕ
- 12.SERVERLESSຝ -- FUNCTION AS A SERVICE SERVERLESS == ෫๐ ۓҘ Serverlessଚӧฎޱ፳෫๐҅ۓᘒฎ᎖ܨ᭙ጱ෫ᇫா ጱ๐̶ۓ๐ۓጱᖌಷਠقԻኧଘݣᨮᨱ҅Ծߝࢫᴚݝᵱ ᨮᨱݎ᮱ᗟ҅ᵭᖌಷ̶ SERVERLESS == ෫ᬩᖌ
- 13.׀SERVERLESSຝ๐ۓጱଘݣ AWS Lambda Azure Functions Google Functions Function Compute OpenWhisk
- 14.Serverlessຝጱኧ! Serverlessጱս۠ຝᇙᅩ! चԭServerlessጱ೮ᖅԻ՞ၞᕚ! ServerlessຝጱੴᴴӥӞྍ! ᕮ!
- 15.SERVERLESSጱս۠ - ݝԅᦇᓒ՞ᩇ َࣳଫአғCDE-LOGGER አԭ॒ቘMQӾٖ᮱ᇙਧߝ ᇈਭᦇLOG ྯॠ॒ቘRequest 2ӡ֟ ྯ॒ቘᳵ500ms ݣܔEC2 ࣳݩt2.Medium 0.047$/ੜ Ӟӻ์ᲀ 0.047 * 24 * 30 = 33.84$ AWS Lambda 600000 * 500/100 * 0.000000208 = 0.624$
- 16.SERVERLESSጱս۠ - ᵭᬩᖌ AWSଘݣ׀ԧᖌಷ̵෭பᓕቘ̵ፊഴ̵ᛔۖಘ̵ଉᓕቘᒵ๐̶ۓ Ծߝࢫᴚݝᵱᥝݎ᮱ᗟ݊ᯈᗝ̶
- 17.SERVERLESSጱս۠ - ṛݢአᛔۖಘ APP-01 APP-02 APP-03 APP-04 Auto Scaling Group APP-01 APP-02 APP-03 APP-04 Auto Scaling Group APP-01 APP-02 APP-03 APP-04 Auto Scaling Group concurrent executions = events (or requests) per second * function duration
- 18.SERVERLESSጱս۠ - Өٌ՜ԯ๐ۓ෫ᖲᕮݳ զAWS Lambdaԅֺғ
- 19.AWS LAMBDAጱᖫᑕཛྷࣳ Request Context Object Response Handler Exceptions Lambda Function AWS SDK Env variable logging ᬩᤈ monitoring
- 20.SERVERLESSጱَࣳຝԏӞ चԭၾ௳ጱଫአᑕଧ
- 21.SERVERLESSጱَࣳຝԏԫ चԭአಁኴᶎጱଫአᑕଧ
- 22.ਫᴬໜֺԏႰݳຝ ಸհᔮᕹ෭பᓕቘଘݣ ຝᇙᅩғ 1. LambdaӨங๐ۓଚਂ 2. ᧣ྍݶአྍ᧣አ 3. ๅੜጱ๐زܔۓ ឴ݐතፅғ 1. EC2ਫֺٺԧ30% 2. चᏐᦡෞդᎱᯈᗝٺԧ20% 3. ๅग़ጱದᭌೠ
- 23.Serverlessຝጱኧ! Serverlessጱս۠ຝᇙᅩ! चԭServerlessጱ೮ᖅԻ՞ၞᕚ! ServerlessຝጱੴᴴӥӞྍ! ᕮ!
- 24.SERVERLESSጱ೮ᖅԻ՞ ೮ᖅԻ՞ၞᕚ ݎ ࣈၥᦶ Ի ೮ᖅᵞ౮ ۱ ᮱ᗟ docker-lambda SAM local SAM
- 25.SERVERLESSጱ೮ᖅԻ՞ ݎࣈၥᦶᴤྦྷ 1. ဳىFunctionጱEventളݎᦇᦡݗ 2. ֵአTDDݎFunction҅زܔၥᦶๅฃ 3. ࣈᵞ౮ၥᦶݢզֵአdocker-lambdaᒵପཛྷ۸ᬩᤈ 4. ֵአSAM Localཛྷࣈgateway҅ԾኞԪկpayload
- 26.SERVERLESSጱ೮ᖅԻ՞ ೮ᖅᵞ౮۱ 1. ֵݢአփᕹጱJenkinsᕮݳServerlessൊկਫሿ೮ᖅᵞ౮ 2. ᵞ౮۱ތᖫᦲ̵ᶉாಚൈ̵زܔၥᦶ̵mockᵞ౮ၥᦶᒵձۓ 3. ۱ᕮຎԅZIP̵rarկ҅ӤփکAWS S3Nexusզֵ׀አ
- 27.SERVERLESSጱ೮ᖅԻ՞ ᮱ᗟ 1. ֵአSAMൈᬿFunction 2. ֵአCloudformationᬰᤈ᮱ᗟ aws cloudformation deploy -- templatefile serverless-output.yaml --stack-name lambdaExample --capabilities CAPABILITY_IAM
- 28.SERVERLESSጱ೮ᖅԻ՞ ग़ሾहᓕቘVersioning:ྯӻෛӤփጱ Function᮷տํᇇ҅ݩํࠔ ӞጱARN̶ଚӬᧆFunction ARNฎӧݒݢጱAlias:ݢզԅFunctionႲےӞӻ ग़ӻAlias,Event Sourcesֵݢአᧆ Alias᧣አFunction
- 29.SERVERLESSጱ೮ᖅԻ՞ Promoteၞᑕ 1. ӧݶሾहጱEvent Sourcesֵ አԪضਧԎጱLambda aliasӨ Lambdaୌᒈىᘶىᔮ 2. ԭܔӻ Lambda Function҅᭗ᬦๅදAliasጱොୗ ᬰᤈpromote
- 30.SERVERLESSጱ೮ᖅԻ՞ ๅຂጱPVTࢧ჻ 1. ֵአBETA ሾहᬰᤈPVTၥ ᦶ 2. ᭗ᬦਖ਼֗ᇇጱFunction ਧԅPROD Aliasጱොୗᬰᤈ ࢧ჻
- 31.Serverlessຝጱኧ! Serverlessጱս۠ຝᇙᅩ! चԭServerlessጱ೮ᖅԻ՞ၞᕚ! ServerlessຝጱੴᴴӥӞྍ! ᕮ!
- 32.SERVERLESSጱੴᴴ AWS Lambdaጱᴴګ ᩒრ ᴴګ ٖਂ 128M-1536M ԁᏺፏਂؙ 512M ྯӻ᧗๋य़ಗᤈᳵ 300ᑁ request/response body size 6MB ᮱ᗟ۱य़ੜ 50MB ᥴܴݸጱ᮱ᗟ۱य़ੜ 250MB 29
- 33.SERVERLESSጱੴᴴ ᬩᤈሾहጱᴴګ ࣁAWS LambdaӾඪ೮ጱᬩᤈሾहғ • Node.js – v4.3.2 and 6.10.3 • Java – Java 8 ۖாstartupጱ᬴ࣁپጯms Javastartupጱ᬴ํग़ᬡ10ᑁզӤ • Python – Python 3.6 and 2.7 • .NET Core – .NET Core 1.0.1 (C#) 30
- 34.SERVERLESSጱੴᴴ ԯଘࠟܯݣጱ᯿ଶׁᩢ 1. Serverlessຝฎ ଘݣಓᓕጱ 2.Serverlessݢᯈᗝጱፘ ىԪկრԞฎଘݣፘىጱ 31
- 35.SERVERLESSጱӥӞྍ ኞாᔮᕹጱਠ࠺ Docker Lambda Apex 32
- 36.SERVERLESSጱӥӞྍ ᬰӞྍᥴᴻᴴګ • ๅग़ጱᬩᤈሾह • Packageय़ੜጱᴴګ • ๅਠ࠺ጱक़᮱ᯈᗝᓕቘ • ᳩܔӻ᧗ጱ๋य़ಗᤈᳵ • … 33
- 37.Serverlessຝጱኧ! Serverlessጱս۠ຝᇙᅩ! चԭServerlessጱ೮ᖅԻ՞ၞᕚ! ServerlessຝጱੴᴴӥӞྍ! ᕮ!
- 38.ᕮ ServerlessຝࣁचԭEventጱ࣋วӾํ॰ප҅ޮݎ๗Ꭸ҅ӨݱӻԪկ რᵞ౮ොپ҅Ԓ෫चᏐᦡෞᯈᗝ҅ᚆํපጱṛԻ՞පሲ ӧᬦٌԞਂࣁٖਂֵአሲ̵Ꮭፏֵአ̵ᑕଧಗᤈᳵ̵ᑕଧԫᬰګ۱य़ ੜጱᴴ҅ګᬯ੪٬ਧԧܔӻFunctionӧᚆᬦԭ॔҅ଚӧฎᭇݳಅํጱ ଫአ࣋ว ๚ଫᧆฎServerlessຝ୮ڹփᕹጱ۸ොໜᤑጱఘ٭ 35
- 39.