awsの進化とsmartnewsの裏側
TRANSCRIPT
![Page 1: AWSの進化とSmartNewsの裏側](https://reader031.vdocuments.net/reader031/viewer/2022030301/587eec4d1a28ab17388b7001/html5/thumbnails/1.jpg)
Evolution of AWSBackend of SmartNews2016/01/27 Classmethod x SmartNews AWS Night
![Page 2: AWSの進化とSmartNewsの裏側](https://reader031.vdocuments.net/reader031/viewer/2022030301/587eec4d1a28ab17388b7001/html5/thumbnails/2.jpg)
Self Introduction
• Nobutoshi Ogata
• Manager, Site Reliability Engineering
• @nobu666
• ❤ Whiskey, Cat, Heavy Metal
• Entrusted dev.(10y) ➡ Game platform infrastructure(3y) ➡ Some startup(1y) ➡ SmartNews(2015/05-)
![Page 3: AWSの進化とSmartNewsの裏側](https://reader031.vdocuments.net/reader031/viewer/2022030301/587eec4d1a28ab17388b7001/html5/thumbnails/3.jpg)
![Page 4: AWSの進化とSmartNewsの裏側](https://reader031.vdocuments.net/reader031/viewer/2022030301/587eec4d1a28ab17388b7001/html5/thumbnails/4.jpg)
SmartNews
![Page 5: AWSの進化とSmartNewsの裏側](https://reader031.vdocuments.net/reader031/viewer/2022030301/587eec4d1a28ab17388b7001/html5/thumbnails/5.jpg)
15,000,000+downloadsworldwide
![Page 6: AWSの進化とSmartNewsの裏側](https://reader031.vdocuments.net/reader031/viewer/2022030301/587eec4d1a28ab17388b7001/html5/thumbnails/6.jpg)
SmartNews 3.0
![Page 8: AWSの進化とSmartNewsの裏側](https://reader031.vdocuments.net/reader031/viewer/2022030301/587eec4d1a28ab17388b7001/html5/thumbnails/8.jpg)
! Channel!
![Page 9: AWSの進化とSmartNewsの裏側](https://reader031.vdocuments.net/reader031/viewer/2022030301/587eec4d1a28ab17388b7001/html5/thumbnails/9.jpg)
![Page 10: AWSの進化とSmartNewsの裏側](https://reader031.vdocuments.net/reader031/viewer/2022030301/587eec4d1a28ab17388b7001/html5/thumbnails/10.jpg)
! Channel!
![Page 11: AWSの進化とSmartNewsの裏側](https://reader031.vdocuments.net/reader031/viewer/2022030301/587eec4d1a28ab17388b7001/html5/thumbnails/11.jpg)
![Page 12: AWSの進化とSmartNewsの裏側](https://reader031.vdocuments.net/reader031/viewer/2022030301/587eec4d1a28ab17388b7001/html5/thumbnails/12.jpg)
Questionnaire
![Page 13: AWSの進化とSmartNewsの裏側](https://reader031.vdocuments.net/reader031/viewer/2022030301/587eec4d1a28ab17388b7001/html5/thumbnails/13.jpg)
Agenda• Scale
• Services
• Changes in the configuration
• Configuration management
• Future plan
![Page 14: AWSの進化とSmartNewsの裏側](https://reader031.vdocuments.net/reader031/viewer/2022030301/587eec4d1a28ab17388b7001/html5/thumbnails/14.jpg)
Scale
![Page 15: AWSの進化とSmartNewsの裏側](https://reader031.vdocuments.net/reader031/viewer/2022030301/587eec4d1a28ab17388b7001/html5/thumbnails/15.jpg)
Scale• 300+ EC2 instances
• 80 ELBs
• 70 Auto Scaling Groups
• 80+ S3 buckets (300+TB)
• 40 RDS instances (MySQL & Aurora)
• 100 Kinesis shards
• 10 EMR clusters (Hive+Spark)
![Page 16: AWSの進化とSmartNewsの裏側](https://reader031.vdocuments.net/reader031/viewer/2022030301/587eec4d1a28ab17388b7001/html5/thumbnails/16.jpg)
Scale• 50+ ElastiCache clusters (Redis + Memcached)
• 30+ CodeDeploy applications
• 70,000,000 CloudSearch seachable documents
• 8 Redshift nodes
• 10+ Lambda functions
• 80+ SQS queues
• 20+ SNS topics
![Page 17: AWSの進化とSmartNewsの裏側](https://reader031.vdocuments.net/reader031/viewer/2022030301/587eec4d1a28ab17388b7001/html5/thumbnails/17.jpg)
![Page 18: AWSの進化とSmartNewsの裏側](https://reader031.vdocuments.net/reader031/viewer/2022030301/587eec4d1a28ab17388b7001/html5/thumbnails/18.jpg)
![Page 19: AWSの進化とSmartNewsの裏側](https://reader031.vdocuments.net/reader031/viewer/2022030301/587eec4d1a28ab17388b7001/html5/thumbnails/19.jpg)
Services
![Page 20: AWSの進化とSmartNewsの裏側](https://reader031.vdocuments.net/reader031/viewer/2022030301/587eec4d1a28ab17388b7001/html5/thumbnails/20.jpg)
![Page 21: AWSの進化とSmartNewsの裏側](https://reader031.vdocuments.net/reader031/viewer/2022030301/587eec4d1a28ab17388b7001/html5/thumbnails/21.jpg)
Changes in theconfiguration
![Page 22: AWSの進化とSmartNewsの裏側](https://reader031.vdocuments.net/reader031/viewer/2022030301/587eec4d1a28ab17388b7001/html5/thumbnails/22.jpg)
Stone Age
AnalyzerCrawlerIndexer
On-memory DBAPI
![Page 23: AWSの進化とSmartNewsの裏側](https://reader031.vdocuments.net/reader031/viewer/2022030301/587eec4d1a28ab17388b7001/html5/thumbnails/23.jpg)
Monolithic Application
![Page 24: AWSの進化とSmartNewsの裏側](https://reader031.vdocuments.net/reader031/viewer/2022030301/587eec4d1a28ab17388b7001/html5/thumbnails/24.jpg)
Bronze Age
AnalyzerIndexer
On-memory DBAPI
Crawler
Crawler
Crawler
Queue
![Page 25: AWSの進化とSmartNewsの裏側](https://reader031.vdocuments.net/reader031/viewer/2022030301/587eec4d1a28ab17388b7001/html5/thumbnails/25.jpg)
Split Crawler
![Page 26: AWSの進化とSmartNewsの裏側](https://reader031.vdocuments.net/reader031/viewer/2022030301/587eec4d1a28ab17388b7001/html5/thumbnails/26.jpg)
Iron Age
API Indexer Analyzer Crawler
![Page 27: AWSの進化とSmartNewsの裏側](https://reader031.vdocuments.net/reader031/viewer/2022030301/587eec4d1a28ab17388b7001/html5/thumbnails/27.jpg)
Split more
![Page 28: AWSの進化とSmartNewsの裏側](https://reader031.vdocuments.net/reader031/viewer/2022030301/587eec4d1a28ab17388b7001/html5/thumbnails/28.jpg)
Present day
Crawler
Nationality detector
Language detector
Analyzer
Facial recognition
Indexer
Ranking
Search
Recommend
API Gateway
Admin tool Validator
Proxy
Live
Push
Sexy detector
Auth Proxy
![Page 29: AWSの進化とSmartNewsの裏側](https://reader031.vdocuments.net/reader031/viewer/2022030301/587eec4d1a28ab17388b7001/html5/thumbnails/29.jpg)
Micro Services?
![Page 30: AWSの進化とSmartNewsの裏側](https://reader031.vdocuments.net/reader031/viewer/2022030301/587eec4d1a28ab17388b7001/html5/thumbnails/30.jpg)
• SmartNews's journey into microservices
• インフラ専任エンジニアが一人もいないSmartNewsにおけるクラウド活用法
• SmartNews Ads
• Next session about data platform
![Page 31: AWSの進化とSmartNewsの裏側](https://reader031.vdocuments.net/reader031/viewer/2022030301/587eec4d1a28ab17388b7001/html5/thumbnails/31.jpg)
Configurationmanagement
![Page 32: AWSの進化とSmartNewsの裏側](https://reader031.vdocuments.net/reader031/viewer/2022030301/587eec4d1a28ab17388b7001/html5/thumbnails/32.jpg)
Pull style deploy
![Page 33: AWSの進化とSmartNewsの裏側](https://reader031.vdocuments.net/reader031/viewer/2022030301/587eec4d1a28ab17388b7001/html5/thumbnails/33.jpg)
➡ ➡ ⬅ • CodeDeploy was used to automate deployment tasks
• Operating an AWS ELB
• Fetching a new revision
• Restarting services with our custom program
• e.g. downloading machine learning model data, precompiling assets and deploying Docker containers
![Page 34: AWSの進化とSmartNewsの裏側](https://reader031.vdocuments.net/reader031/viewer/2022030301/587eec4d1a28ab17388b7001/html5/thumbnails/34.jpg)
![Page 35: AWSの進化とSmartNewsの裏側](https://reader031.vdocuments.net/reader031/viewer/2022030301/587eec4d1a28ab17388b7001/html5/thumbnails/35.jpg)
Auto Scaling Group• There is an advantage even if you don't want to autoscaling
• Easy to dispose
• replace kernel, switch to other OS, ...
• Easy A/B testing
• change config only specific server
• tag:Attributes
• Instance Protection
![Page 36: AWSの進化とSmartNewsの裏側](https://reader031.vdocuments.net/reader031/viewer/2022030301/587eec4d1a28ab17388b7001/html5/thumbnails/36.jpg)
ASG ! InstanceName• We were stop using InstanceName
• Using tag:Group and tag:Env
![Page 37: AWSの進化とSmartNewsの裏側](https://reader031.vdocuments.net/reader031/viewer/2022030301/587eec4d1a28ab17388b7001/html5/thumbnails/37.jpg)
Infrastructure as Code• Route53 ➡ winebarrel/roadworker
• Security Group ➡ winebarrel/piculet
• Elastic IP Addresses ➡ winebarrel/eipmap
• Provisioning ➡ itamae-kitchen/itamae
• Datadog ➡ airbnb/interferon
![Page 38: AWSの進化とSmartNewsの裏側](https://reader031.vdocuments.net/reader031/viewer/2022030301/587eec4d1a28ab17388b7001/html5/thumbnails/38.jpg)
DSL managementis not perfect• Complicated automation
• ChatOps ➡ change code ➡ git add && git commit && git push
• Too much hassle... !
![Page 39: AWSの進化とSmartNewsの裏側](https://reader031.vdocuments.net/reader031/viewer/2022030301/587eec4d1a28ab17388b7001/html5/thumbnails/39.jpg)
Run Command• Secure
• IAM, CloudTrail
• Easy CI integration w/o SSH
• be able to use EMR also
![Page 40: AWSの進化とSmartNewsの裏側](https://reader031.vdocuments.net/reader031/viewer/2022030301/587eec4d1a28ab17388b7001/html5/thumbnails/40.jpg)
Exampleaws ssm send-command \--document-name "AWS-RunShellScript" \--instance-ids \ $(aws emr list-instances \ --cluster-id \ $(aws emr list-clusters --active | \ jq -r '.Clusters[] | select (.Name=="FOOBAR") | .Id') | \ jq -r '.Instances[].Ec2InstanceId') \--parameters '{"commands":["ls"],"executionTimeout":["10"]}' \--timeout-seconds 10 \--output-s3-bucket-name "ssm-logs" \--output-s3-key-prefix "prefix-" \--region ap-northeast-1
![Page 41: AWSの進化とSmartNewsの裏側](https://reader031.vdocuments.net/reader031/viewer/2022030301/587eec4d1a28ab17388b7001/html5/thumbnails/41.jpg)
Future plan
![Page 42: AWSの進化とSmartNewsの裏側](https://reader031.vdocuments.net/reader031/viewer/2022030301/587eec4d1a28ab17388b7001/html5/thumbnails/42.jpg)
ECSSpot Fleet
Contaniner RegistryConsul
AWS Blackbelt 2015 ECS p.98
![Page 43: AWSの進化とSmartNewsの裏側](https://reader031.vdocuments.net/reader031/viewer/2022030301/587eec4d1a28ab17388b7001/html5/thumbnails/43.jpg)
Containerizeall services
![Page 44: AWSの進化とSmartNewsの裏側](https://reader031.vdocuments.net/reader031/viewer/2022030301/587eec4d1a28ab17388b7001/html5/thumbnails/44.jpg)
ScalableSafetyEfficientPortable
Measurable
![Page 45: AWSの進化とSmartNewsの裏側](https://reader031.vdocuments.net/reader031/viewer/2022030301/587eec4d1a28ab17388b7001/html5/thumbnails/45.jpg)
Aggregates events
![Page 46: AWSの進化とSmartNewsの裏側](https://reader031.vdocuments.net/reader031/viewer/2022030301/587eec4d1a28ab17388b7001/html5/thumbnails/46.jpg)
Events aggregator• Events
• Deploy/Provision/Restart/Terminate etc.
• All events goes to SNS or Kinesis. Users will describe and hook scripts
• Visualize via Datadog
• Notice to Slack
• Auto healing
![Page 47: AWSの進化とSmartNewsの裏側](https://reader031.vdocuments.net/reader031/viewer/2022030301/587eec4d1a28ab17388b7001/html5/thumbnails/47.jpg)
Summary
![Page 48: AWSの進化とSmartNewsの裏側](https://reader031.vdocuments.net/reader031/viewer/2022030301/587eec4d1a28ab17388b7001/html5/thumbnails/48.jpg)
Summary• AWS release new service continuously
• We ride on the shoulders of giants
• We will never forget that OSS helped us
![Page 49: AWSの進化とSmartNewsの裏側](https://reader031.vdocuments.net/reader031/viewer/2022030301/587eec4d1a28ab17388b7001/html5/thumbnails/49.jpg)
We're hiring!Only two people onSite Reliability Engineering Team
http://about.smartnews.com/en/careers/
![Page 50: AWSの進化とSmartNewsの裏側](https://reader031.vdocuments.net/reader031/viewer/2022030301/587eec4d1a28ab17388b7001/html5/thumbnails/50.jpg)
![Page 51: AWSの進化とSmartNewsの裏側](https://reader031.vdocuments.net/reader031/viewer/2022030301/587eec4d1a28ab17388b7001/html5/thumbnails/51.jpg)
Credithttps://flic.kr/p/hAcPRk taken by Niuton mayhttps://flic.kr/p/9UnRWS taken by Alberto G.https://flic.kr/p/ydnEvw taken by ep_jhuhttps://flic.kr/p/pyfnTV taken by Kevin Dooleyhttps://flic.kr/p/mtLpc4 taken by L1meyhttps://flic.kr/p/fgG226 taken by Linux Screenshotshttps://flic.kr/p/7DsuLz taken by Gloson Tehhttps://flic.kr/p/jfGpn7 taken by julochka