Machine Learning Casual Talks #10 での発表資料です。
リクルートの横断組織であるリクルートコミュニケーションズで開発しているデータ分析基盤のCroisについて紹介させていただきました。
σʔλੳج൫$SPJT
View Slide
ΞδΣϯμ
1. Crois2. Crois3. 4. 5. 15
$SPJTͷ֓ཁ
17
oDnTmf, ,,, , TD Tmec a TTDrkk18
@78-,.•5C3B <'$%*+4/!& "9A•>1!) :62?; #$()/•&'$'=0* &+49A19
Crois •"•• •!#API20
22
== =
(&= =%$"= #'!
$SPJTͷΈ
32
• YAMLtasks:- name: task-1module: sleepparams:hoge: fuga- name: task-2module: sleep33
AWS BatchStep Functions•AWS Batch••Step Functions• 34
SFN•11SFNStateMachine tasks:- name: task-1module: sleep=35
SFN= LambdaLambdaLambda36
SFN=AWS Batch submit-jobLambdaLambdaLambda37
SFN=AWS Batch ! ! ! describe-jobLambdaLambdaLambda38
SFN=AWS Batch" $#! SFN $LambdaLambdaLambda39
• •SFNParallel tasks:- name: task-1module: sleep- parallel:- tasks:- name: task-3module: sleep- tasks:- name: task-4module: sleep- tasks:- name: task-5module: sleep=40
SFN(Parallel)3Lambda41
LambdaSFN (Parallel) flatten42
AWS Batchmoduleagent-downloaderInstancemountagentModulerun.shexecutedata-bucketdownloaduploadsecretsAgent downloadAgentproject-role43
SFNBatch9,%("•&$1+5E?•'#( -• 500DF&$1++ 67 !%("•&$ACAPI>8 •DynamoDB.4@2; •AWS Batch))B3/0•Fargate= :<*44
46
•Crois"$• KMSIAM • Decrypt!project-roleapiproject-key#%!other-role#%!47
#%•"S3(.!"! $•S321&), -'• !IAM! +*01 agentdata-bucketdownloadupload project-keyproject-roleContainer01/,48
•./%"+&•(- #'•IAM! *, api+ project-keyagentproject-roleContainer$*,)&49
50
API09>=2 •AWS Batch•RegisterJobDefinition@B)("5-D%• &!%*•Step Functions•4/8:API'!&$!?• #!A3•IAM RoleKMS Key Policy•Role61,2030;<KMS KeyPolicyC.Role* • &!%+751
SFN &*!+'•SFN Parallel $% &*! +')•Parallel" &*!# (+52Lambda
SFN"& '#•S3!53LambdaLambdaS3%)$ "& '#(
։ൃϑϩʔͷ
• = In,Out '&Docker•#" ECR#"•ECRpush! %$api#"module-registry55
D<5103? >6•)*-510/% " /!#IT'+/$C•@>6;E:•GitHub, Docker, =79A OK•CI(Drone)84CGF2•1,(#,1)*-51&.B56
(&•1 !• ")'* • Drone(CI))'*• /% build, push#• git diff+• , .-module-registryDroneghehook(&$push pushgit diff & docker build57
ར༻ࣄྫ
BS@Q2A=)-!$'*•CroisP1;49MBS@Q2A=)-!$'*•Web(-<1LG• 7O8#6K>• BS@Q+#/ ,%0• @QFILN=• @QD+#/HER•CroisAPIC? BS@Q<1:3CroisJ • -&."50'-C?59
2:#,'•< 2:*2:#'•Crois( 4 • &<2: %+• $;"8)!70 0• 2: '• -.< 53•69$/1276960
ىͬͨ͜มԽ
2-1.0•$"+5')#%&!( Crois2- •Crois 4 /*•Crois 4 3,62
.#•Crois*&, )•+(/'!"$ %-63
͋Γ͕ͱ͏͍͟͝·ͨ͠We are hiringhttps://www.rco.recruit.co.jp/career/engineer/
+-4'•&•AWS Batch, Step Functions6.0E/@1"!# 8A•https://www.rco.recruit.co.jp/career/engineer/blog/detail_of_job_scheduler_on_aws/• < *:4'•)CD3?7= B>2,(;95 $%%1)C#Crois•http://hatenanews.com/articles/2019/03/04/10300065