Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
コンテナに挫折したあなたへ / A Letter to Uncontainerized Apps
Search
Tori Hara
PRO
March 11, 2017
Technology
23
9.3k
コンテナに挫折したあなたへ / A Letter to Uncontainerized Apps
おコンテナが自分たちのアプリやワークフロー、運用にフィットしないのはなんでなのか?
Presented at JAWS DAYS 2017.
Tori Hara
PRO
March 11, 2017
Tweet
Share
More Decks by Tori Hara
See All by Tori Hara
カミナシでの技術的負債返済プロジェクトとその決断 / Beyond tech debts at Kaminashi
toricls
PRO
47
25k
アプリケーション開発者は Amazon ECS あるいは Kubernetes をどこまで知るべきか #AWSDevDay / You build it, you run it
toricls
PRO
56
19k
永続複数ブランチ運用は『単一のコードベース』と言えるのか / What are your justifications for the multi-branches?
toricls
PRO
17
6.3k
緩やかに死んでいくシステム / You won't be in the team forever
toricls
PRO
23
15k
技術的負債とステークホルダと説明責任と / The Debt
toricls
PRO
76
36k
Securing your Amazon ECS applications: Best practices
toricls
PRO
0
900
第2回 AWS Fargate かんたんデプロイ選手権 #AWSDevDay / The Easiest Deployment Championship 2020 - Find your winner for AWS Fargate!
toricls
PRO
18
24k
独りよがりのプラットフォーム / For Whom that Platform Runs
toricls
PRO
99
35k
Containers + EC2 Spot: 特性と実装パターンに学ぶ低コスト & 高可用アーキテクチャ / Practical Guide for Amazon EC2 Spot with Containers
toricls
PRO
13
5.3k
Other Decks in Technology
See All in Technology
Data Engineering Guide 2025 #data_summit_findy by @Kazaneya_PR / 20251106
kazaneya
PRO
7
1.2k
激動の2025年、Modern Data Stackの最新技術動向
sagara
0
580
最近読んで良かった本 / Yokohama North Meetup #10
mktakuya
0
550
Raycast AI APIを使ってちょっと便利なAI拡張機能を作ってみた
kawamataryo
1
240
今のコンピュータ、AI にも Web にも 向いていないので 作り直そう!!
piacerex
0
610
実践マルチモーダル検索!
shibuiwilliam
3
560
なぜ新機能リリース翌日にモニタリング可能なのか? 〜リードタイム短縮とリソース問題を「自走」で改善した話〜 / data_summit_findy_Session_2
sansan_randd
1
110
NOT A HOTEL SOFTWARE DECK (2025/11/06)
notahotel
0
2.9k
Databricks Free Editionで始めるMLflow
taka_aki
0
790
文字列操作の達人になる ~ Kotlinの文字列の便利な世界 ~ - Kotlin fest 2025
tomorrowkey
2
480
[Journal club] Thinking in Space: How Multimodal Large Language Models See, Remember, and Recall Spaces
keio_smilab
PRO
0
110
kotlin-lsp の開発開始に触発されて、Emacs で Kotlin 開発に挑戦した記録 / kotlin‑lsp as a Catalyst: My Journey to Kotlin Development in Emacs
nabeo
2
310
Featured
See All Featured
Let's Do A Bunch of Simple Stuff to Make Websites Faster
chriscoyier
508
140k
What’s in a name? Adding method to the madness
productmarketing
PRO
24
3.7k
Responsive Adventures: Dirty Tricks From The Dark Corners of Front-End
smashingmag
253
22k
For a Future-Friendly Web
brad_frost
180
10k
GraphQLとの向き合い方2022年版
quramy
49
14k
Building Adaptive Systems
keathley
44
2.8k
Designing Dashboards & Data Visualisations in Web Apps
destraynor
231
54k
Bash Introduction
62gerente
615
210k
Large-scale JavaScript Application Architecture
addyosmani
514
110k
Fight the Zombie Pattern Library - RWD Summit 2016
marcelosomers
234
17k
Facilitating Awesome Meetings
lara
57
6.6k
GitHub's CSS Performance
jonrohan
1032
470k
Transcript
SUPINF Inc. // twitter.com/toricls ǗȗǪǮƘ؟ƄƌůƗƌƥ Yasuhiro HARA Mar 11, 2017
SUPINF Inc. // twitter.com/toricls AGENDA ▶︎ DockerǗȗǪǮ ▶︎ ɛƜƗƉǗȗǪǮƘ؟ƆƸƛŸ ▶︎
؟ƄƗűƌƮƘ
SUPINF Inc. // twitter.com/toricls ۙڒƛǘȜȏ ůźƶƮƗűƔ
SUPINF Inc. // twitter.com/toricls Docker ƛƀƕƿ֒ű̌ƄƫƄƴų
SUPINF Inc. // twitter.com/toricls Docker୦ŵƓƫƆŸ ǗȗǪǮƕVMƛű https://www.docker.com/what-container
SUPINF Inc. // twitter.com/toricls Docker୦ŵƓƫƆŸ ǗȗǪǮonAWS https://www.docker.com/what-container } { EC2
{ Docker Τϯδϯ { Docker ίϯςφ
SUPINF Inc. // twitter.com/toricls $ ps aux USER PID ...
COMMAND root 3123 ... /agent root 16293 ... puma 3.6.0 (tcp://0.0.0.0:80) [app] ... Docker୦ŵƓƫƆŸ ǗȗǪǮƛȱƕу $ docker ps CONTAINER ID IMAGE COMMAND ... 533c36714f42 my-rails-app:latest "bundle exec rails s ..." ... 5d48c82b7faa amazon/amazon-ecs-agent:latest "/agent" ... # ps aux USER PID ... COMMAND root 1 ... puma 3.6.0 (tcp://0.0.0.0:80) [app] root 18 ... sh ... Docker Container Docker Engine Host OS $ ps aux USER PID ... COMMAND root 3123 ... /agent root 16293 ... puma 3.6.0 (tcp://0.0.0.0:80) [app] ... $ docker ps CONTAINER ID IMAGE COMMAND ... 533c36714f42 my-rails-app:latest "bundle exec rails s ..." ... 5d48c82b7faa amazon/amazon-ecs-agent:latest "/agent" ... # ps aux USER PID ... COMMAND root 1 ... puma 3.6.0 (tcp://0.0.0.0:80) [app] root 18 ... sh ... Docker Container Docker Engine Host OS
SUPINF Inc. // twitter.com/toricls AMI (Amazon ϚγϯΠϝʔδ) Amazon EC2 Πϯελϯε
RUN Docker୦ŵƓƫƆŸ ţLjȅȜǜŤƕţǗȗǪǮŤ RUN Ɨ Docker LjȅȜǜ Docker ǗȗǪǮ
SUPINF Inc. // twitter.com/toricls Docker୦ŵƓƫƆŸ ǗȗǪǮƿ̿ŸƆ Docker Hub / Docker
Registry $ docker pull nginx:latest Ɨ $ docker run nginx:latest
SUPINF Inc. // twitter.com/toricls $ cat Dockerfile $ cat Dockerfile
FROM ubuntu:16.04 RUN \ apt-get update && \ apt-get install -y nginx EXPOSE 80 CMD ["nginx", "-g", "daemon off;"] Docker୦ŵƓƫƆŸ LjȅȜǜƿʊƸ $ cat Dockerfile FROM ubuntu:16.04 RUN \ apt-get update && \ apt-get install -y nginx EXPOSE 80 CMD ["nginx", "-g", "daemon off;"] $ docker build -t my-awesome-nginx . ... ... $ cat Dockerfile FROM ubuntu:16.04 RUN \ apt-get update && \ apt-get install -y nginx EXPOSE 80 CMD ["nginx", "-g", "daemon off;"] $ docker build -t my-awesome-nginx . ... ... $ docker run -p 80:80 my-awesome-nginx ...
SUPINF Inc. // twitter.com/toricls Docker୦ŵƓƫƆŸ DOCKER ƿʎųࢪࣇ ▶︎ ǪǝǬƄƌdžȜǪLJǹDžǓǬƿƊƛƫƫǫǻȑLjƔźƸȁȜǣǷȎǪLJ ▶︎
džǻȎҩࢷЭƛҥ"MAICPDGJC ŹǴȜǜȋȗভࢪƔźƸǬȐȜǙǷȎǪLJ ▶︎ ɤƛǻȑǟǝŸƶ൭ԽƘആƂƹƌҩࢷЭ ▶︎ LjȅȜǜ˪ۍƛহʛ֕ ▶︎ ӒƗűǎȜǴȜǼǧǭƔ൭ఽƘdžǻȎǕȜǛȋȗƿ௲̿ƔźƸʟ٭֕ ▶︎ ऩܵҴڠ֕ ▶︎ ൭ఽƗǫȎǴȎȜǙLjǓȏƥƛ୨θ֕
SUPINF Inc. // twitter.com/toricls Docker୦ŵƓƫƆŸ DOCKER ƿʎųࢪࣇʐŵƝҜ˦ƘƀǀƗƀƕŹ Ruby 2.1
App Ruby 2.3 App Java 8 App EC2 Host Java 7 App
SUPINF Inc. // twitter.com/toricls "Build, Ship, and Run Any App,
Anywhere" https://www.docker.com Docker୦ŵƓƫƆŸ DOCKER ƛௐ́
SUPINF Inc. // twitter.com/toricls ɛƜƗƉǗȗǪǮƘ؟ƆƸƛŸ
SUPINF Inc. // twitter.com/toricls ƗƉǗȗǪǮӐ˥Ƙ؟ƆƸƛŸ "ƗǀŸǗȗǪǮųƎƘƜǹLJǧǬƄƗűƵƚ"
SUPINF Inc. // twitter.com/toricls ǹLJǧǬƄƗűׂƅŹƆƸͳϮƜʈƗƛŸ ȆǤȗƗdžǻȎǕȜǛȋȗ್ࣲƛ ǽǝǬǻȍǓǪLJǝƘ߁ƐƓűƗű Web
SUPINF Inc. // twitter.com/toricls
SUPINF Inc. // twitter.com/toricls ▶︎ ǟǧǬdžǧǻઈ͎̿ƛƌƮƘҫ୭ࣶƗǹǍȜȂǧǬƿʎűřǻȑǜNjǓǬƘډƄż̲ƼƐƌ್ࣲ ਾŹୟƆƸڪƕǗǝǬŹۋӑ͎ƂƹƓűƸ ▶︎ -1ƥƛʓґʜƿڞऺ͎ƄřҩࢷЭƔƛ१݁֕ƿۋш͎ƂƹƓűƸ ▶︎
ȆǤȗƗǓȍNJǭǻȍǧǬǹǍȜȄȥƥƛǫǻȑLjƘౖƄƓŷƷřǙȜǴȜভࢪƱǛǝǪȄভࢪ ŹȧୟƔůƸ ▶︎ ್ࣲࢷЭƕۙࣘࢷЭƛԎࣙƿۋӑೠƘƄřdžǜȎǪLJƿۋш͎ƆƸ৻ৼࣶǫǻȑLjŹΏ੧ ▶︎ ǨȜȏřdžȜǑǪǓǥȇř್ࣲǻȍǓǪLJǝƿшԤƘрۅƆƸƀƕƗżǝǕȜȏdžǧǻƔźƸ 12-Factor AppƘŷžƸ"ટű"džǻȎǕȜǛȋȗƛҥ https://12factor.net/ja see also https://www.slideshare.net/AmazonWebServicesJapan/aws-black-belt-online-seminar-2017-docker-on-aws
SUPINF Inc. // twitter.com/toricls ƔřƖųƆƹƝűűƛŸ ǥȜȄʇ̛ƕǫȎǴȎȜ džǻȎǕȜǛȋȗ ోࣄ Ljȗǹȍݙ ƿڞऺƘƄřʈŹݸžƓűƸƛŸƿƜƐźƷƂƈƸ
ǗȗǪǮƘ ౖƄƌ
SUPINF Inc. // twitter.com/toricls ƔřƖųƆƹƝűűƛŸ ǥȜȄʇ̛ƕǫȎǴȎȜ džǻȎǕȜǛȋȗ ోࣄ Ljȗǹȍݙ ƿڞऺƘƄřʈŹݸžƓűƸƛŸƿƜƐźƷƂƈƸ
ǗȗǪǮƘ ౖƄƌ džǻȎઈʇƛƱోࣄƘƑűƓƜ ̫ƕ12-Factor AppƔڞƂƹƓűƸƛƔ ɟڒƜȵƘǫȎǴȎȜƕLjȗǹȍƛƿƄƫƆ
SUPINF Inc. // twitter.com/toricls ǗȗǪǮڪɨƛǫȎǴȎȜȆǫȏ
SUPINF Inc. // twitter.com/toricls ǗȗǪǮŹࣳМƆƸ̣ƛǫȎǴȎȜȆǫȏ ҩࢷЭ ǷȏǭնƛdžȜǪLJǹDžǓǬƛভࢪƱ ҩƛǫǻȑLj̅ࢪŹ džǻȎǕȜǛȋȗƁƕƘʊƷఢƫƹƓűƸƀƕŹхżř ţȆǫȏŤ͎ƂƹƌƯƛŹůƫƷƗűࢃׄ
ţǫǻȑLjƜۙࣘࢷЭƔgit pullʂʯΈ͍ͨͳਓ ͍ͨΓͯ͠ɺ ׂͱΜͪΌͯ͠Δײ͡
SUPINF Inc. // twitter.com/toricls ǗȗǪǮڪɨƛǫȎǴȎȜȆǫȏ Registry ǗȗǪǮভࢪǨȜȏ ҩࢷЭ džȜǪLJǹDžǓǬਧźМƛȐǜǝǬȎř
ǗȗǪǮƛҩƿভࢪƆƸǨȜȏŹࣳМƄř ǫǻȑLjƱȎȎȜǝƛȫ࣍Ƙţ˪୭கȆǫȏŤŹ ࣁƫƹƌ
SUPINF Inc. // twitter.com/toricls ǗȗǪǮڪɨƛǫȎǴȎȜȆǫȏ ݔୟ Registry 1. build 2.
ship 2. ship 3. run Docker LjȅȜǜ ҥƘ߁Ɛƌ ҩƿؙु "ҩҥ" ǗȗǪǮভࢪǨȜȏ ҩࢷЭ
SUPINF Inc. // twitter.com/toricls ǗȗǪǮڪɨƛǫȎǴȎȜȆǫȏ ҩҥ Registry 2. ship "ҩҥ"
ǗȗǪǮভࢪǨȜȏ ҩࢷЭ ƀƹƗǀƋ
SUPINF Inc. // twitter.com/toricls ǗȗǪǮڪɨƛǫȎǴȎȜȆǫȏ ҩҥ ▶︎ ௰ƶƈƌű"MAICPLjȅȜǜ ▶︎ ऺʡƄƌű!.3ȅȆȎʎࣄಊ
▶︎ ࢷЭрٵƘƵƸdžǻȎǕȜǛȋȗƛҥʱ ▶︎ ȂNJȗǬƆƸǫLJȐǓǬȎ ▶︎ ˨್ƆƸȁȜǬ ▶︎ ǗȗǪǮƛȱƔ௰ƶƈƸǻȑǟǝƛҩǗȂȗǭřƗƖƗƖ ƖǀƗǗȗǪǮভࢪǨȜȏƿ ʎƐƓƯƨƩΝƅ ƀƛҥƕDockerLjȅȜǜŹ ůƹƝҞ˦ƘΝƅǗȗǪǮƿʈԽƔƯ ௲̿ƔźƸ
SUPINF Inc. // twitter.com/toricls ǗȗǪǮڪɨƛǫȎǴȎȜȆǫȏ ǗȗǪǮভࢪǨȜȏਯƛǫǻȑLjȆǫȏ Docker njȗǜȗ ΤʔδΣϯτత Կ͔
ȊȜǚȜŸƶƛ APIǗȜȏƿ žɥžƸ ȂDZȜǜȇȜࣶƗʈŸ 1. "࣮ߦఆٛ"Λ࣮ߦʂ 3. ࢲͳʹ͔ࣄ͋Γ·͢ʁ 2. ʔ͍ͬͯͯͶ 4. ͜ͷ࣮ߦఆٛΑΖ͘͠ 5. ͜ͷΠϝʔδ͖࣋ͬͯͯ 6. docker pull 7. ͜Μͳײ͡Ͱ run ͯ͠ 8. runʂ ǿǝǬ Q. Ͳ͏Αʁ 9. ΦοέʔͰ͢ A. ॲཧதͰ͢ʔ 10. Ͳ͏Αʁ 11. ͬͯ·ʔ͢ 0. "࣮ߦఆٛ"Λొʂ
SUPINF Inc. // twitter.com/toricls ǗȗǪǮڪɨƛLjȗǹȍȆǫȏ
SUPINF Inc. // twitter.com/toricls ǗȗǪǮŹࣳМƆƸ̣ƛLjȗǹȍȆǫȏ Java App A Java App
B Rails App A Nginx Name: Java A Name: Java B Name: Rails A ϗετ
SUPINF Inc. // twitter.com/toricls ǗȗǪǮŹࣳМƆƸ̣ƛLjȗǹȍȆǫȏ Java App A Java App
B Rails App A Nginx Name: Java A Name: Java B Name: Rails A Auto-Scaled :D Rails App A Nginx Name: Rails A ϗετ
SUPINF Inc. // twitter.com/toricls ǗȗǪǮڪɨƛLjȗǹȍȆǫȏ Rails App A Nginx Java
App A Java App B Name: Instance Name: Instance ϗετ
SUPINF Inc. // twitter.com/toricls ǗȗǪǮڪɨƛLjȗǹȍȆǫȏ Rails App A Nginx Auto-Scaled
:D Rails App A Nginx Java App A Java App B Name: Instance Name: Instance ϗετ
SUPINF Inc. // twitter.com/toricls ϗετ ǗȗǪǮڪɨƛLjȗǹȍȆǫȏ Rails App A Nginx
Rails App A Nginx Java App A Name: Instance Name: Instance Out of Memory :x
SUPINF Inc. // twitter.com/toricls ϗετ Restarted :D ǗȗǪǮڪɨƛLjȗǹȍȆǫȏ Rails App
A Nginx Rails App A Nginx Java App A Java App B Name: Instance Name: Instance
SUPINF Inc. // twitter.com/toricls ǗȗǪǮڪɨƛLjȗǹȍȆǫȏ ǓȍǝǣȜ Cluster-Name: Some Project ෳͷϗετͷू߹
SUPINF Inc. // twitter.com/toricls ǗȗǪǮڪɨƛLjȗǹȍȆǫȏ ǓȍǝǣȜ Cluster-Name: Some Project ෳͷϗετͷू߹
Auto-Scaled :D Auto-Scaled :D
SUPINF Inc. // twitter.com/toricls ǗȗǪǮڪɨƛLjȗǹȍȆǫȏ ǓȍǝǣȜ Cluster-Name: Some Project ෳͷϗετͷू߹
New Service :D
SUPINF Inc. // twitter.com/toricls ǗȗǪǮڪɨƛLjȗǹȍȆǫȏ ǓȍǝǣȜ Cluster-Name: Some Project ෳͷϗετͷू߹
SUPINF Inc. // twitter.com/toricls ǗȗǪǮڪɨƛLjȗǹȍȆǫȏ ǓȍǝǣȜ Cluster-Name: Some Project ෳͷϗετͷू߹
New Service :D
SUPINF Inc. // twitter.com/toricls ǗȗǪǮڪɨƛLjȗǹȍȆǫȏ ǓȍǝǣȜ Cluster-Name: Some Project ෳͷϗετͷू߹
New Service :D ǓȍǝǣȜ˦ʇƛ ȎǡȜǝɆ࢜Ź ƿ௳ŵƌඵ
SUPINF Inc. // twitter.com/toricls ǗȗǪǮڪɨƛLjȗǹȍȆǫȏ ǓȍǝǣȜ Cluster-Name: Some Project ෳͷϗετͷू߹
New Instance :D
SUPINF Inc. // twitter.com/toricls ǗȗǪǮڪɨƛLjȗǹȍȆǫȏ ǓȍǝǣȜ Cluster-Name: Some Project ෳͷϗετͷू߹
New Service :D
SUPINF Inc. // twitter.com/toricls ǗȗǪǮڪɨƛLjȗǹȍȆǫȏ ǓȍǝǣȜ Cluster-Name: Some Project ෳͷϗετͷू߹
ҩҥƔǗȗǪǮŹքୟƗCPUƱȅȆȎƿ ڞुƆƸƀƕƘƵƷř ţɆ࢜ŤƕűųȅǬȎǓǝƔ ȎǡȜǝƛǝǕȜȎȗǔŹΏ੧ƘƗƐƌ
SUPINF Inc. // twitter.com/toricls Questions?
SUPINF Inc. // twitter.com/toricls ڪŹʉƐƌƶৼźƛȅȆۆźƔƆ
SUPINF Inc. // twitter.com/toricls ǥȜȄʇ̛ǫȎǴȎȜ ▶︎ ǻȑǜNjǓǬƘډƄż̲ƼƐƌ್ࣲਾŹୟƆƸڪƕǗǝǬƿۋӑ͎ƆƸ ▶︎ ȑȜǏȏ್ࣲࢷЭƛݙŹҞ˦ƘƯƄżƜřƨƩ ઈ͎̿ƂƹƓűƸ
▶︎ ൰ƛƵųƘűഭۆƿȃǝƗżҩƄƗűƕ̿ŸƗűdžǻȎǕȜǛȋȗƜřшƛМΙʓґȍLjǺȍȎƱȃǭȏNJNjdžƛۅډŹǥȜȄȅȗ ǴȜŸƶօƂƹřƖǀƖǀ೨ੳ͎ƄƓűż ▶︎ ৻ৼࣶǫǻȑLjٵ̐řٵڪͣʂƔƛǫǻȑLj ƿŵƸʇ̛ƘƆƸ ▶︎ ৻ৼࣶƘǫǻȑLjƿųƌƮƘƜřǫǻȑLjŹઈ͎̿ƂƹƓűƸƀƕƕřǫǻȑLjƘύ഻ŹůƐƌƕźƘҜփƄƓשƈƸƀƕŹಈୟ ▶︎ ǗȜǭƿۆűƌۙɛŹۙࣘࢷЭƛǫǻȑLjƫƔ߲żƼƸ ▶︎ ǗȗǪǮƛ൭űȁȜǣǷȎǪLJƿࣁŸƆƕřքࡔࣶƘǗȜǭǽȜǝƥƛǥNjǧǓLjȗŸƶǫǻȑLjƫƔƛڪŹटਘƂƹƸ ▶︎ ್ࣲࢷЭƛǗȗǪǮŹƊƛƫƫۙࣘƔ̿żƄřƊųƗƸƵųƘdžǻȎǕȜǛȋȗƿʊƐƓűƸƜƇƗƛƔ ▶︎ LjȗǹȍnjȗǜǯdžƜǫǻȑLjƊƹઈʇƿ؇զƆƸƛƔƜƗżřʢഺ֕൭żઈ͎̿ƂƹƌǫǻȑLjڊ߆ƛݙƘӊ֍ƆƸƦź ▶︎ ǫǻȑLjŹэٯƄƌƕźřрƗƯƛƿǫǻȑLjƄƓƄƫƐƌƕźƘƘƖųƱƐƓȎǴȜǬƆƸŸƕŸdžǻȎǕȜǛȋȗnjȗǜǯdžƕ͡ ̰ƄƓટűǵLjǻȍLjȗƿʊƸ ▶︎ űű"MAICPLjȅȜǜƛʊƷڊƿȟਊƘŵƓůſƓƯűűŸƯřLjȅȜǜʊƐƎưƐƓƯűűŸƯ ▶︎ Ɩƹƍž̵̰ƄƓƯύ഻ƜքƇ௲źƸ"ύ഻ƿ௲ƀƂƗűƌƮƛǥNjǧǓʇ̛ƱȏȜȏƿքୟɪȥƘƁƎưƁƎưƱƸ"ƀƕƵƷƯř"ύ഻Ź ࣲࣁƄƌƕźƘۋटƛȎȜǭǣLjȄƔʤބࡱƛdžǻȎǕȜǛȋȗƿǫǻȑLjƔźƸ"ƀƕƛڊŹٵ˒ʫಈୟƔƜƗŸƺųŸƕ
SUPINF Inc. // twitter.com/toricls ǥȜȄʇ̛ǫȎǴȎȜ ▶︎ ǷȏǭřȎȎȜǝřҩŹڞऺƘ̐ആƂƹƌǝǪȜǜƕƄƓ̿ż ▶︎ " ȂLjǔȐȜǛȋȗƜҩǹNjȜǞƔƜƗżȎȎȜǝƕҩƛƘґϺƆƸǝǪȜǜƕؤŵƸƦź
SUPINF Inc. // twitter.com/toricls ▶︎ ǗȜǭǽȜǝŹǴȜǜȋȗভࢪǛǝǪȄƛভࢪȦƘůƸ ▶︎ ȑǔƜݢࠑ̰̌ƘΡż ▶︎ džǻȎǕȜǛȋȗƛ̿рۅƜͳ̡ƕƄƓࢷЭрٵƔࠀƆ
▶︎ ǫǻȑLj˝ƛࢷЭƘʓґƄƌҥʱƕǫǻȑLjƛǗȗǪǑǝǬƿΝƅ"ҥ"ƕƄƓভࢪƆƸƕնƔǶLjLJƐƓƗƸ ▶︎ CE0?GJQƛҥǹDžLjȏƔűųƕƀƺƛ"ۙࣘƍƐƌƶƀƛǫȜǣǽȜǝ"ƛۆźڊƜࡽҥƛǛȜȗƔƑƶżƗƸƪƵ ▶︎ ǴǧǓnjȗǭǙȜǷǝʓґǙȜǷǝř" ƕŸǑȇǧǛȉǝǬȐȜǜƕŸ ƿҴڠƘ̑ƷۊŵƶƹƸƵųƘҩƂƹƓűƸ ▶︎ ۙࣘ" عৼ˝ƿрŵƵųƕƄƌڪƘǷȏǭŸƶƱƷइƆƛƜƐƓűƸ ▶︎ Ԣƛ0?GJQƛҥǹDžLjȏƛŷʊ߆Ƙչųƕř" عৼ˝рۅƛƌƮƘǗȜǭǽȜǝȎȁǜǬȎ Ƙрۅƿ̲ŵƸքୟŹࣲࣁƄƓƄƫų ▶︎ ţȎȎȜǝŤǝǪȜǜƔ" عৼ˝ƛࢷЭрٵƿۆźهŵřţҩŤǝǪȜǜƔdžǻȎǕȜǛȋȗƿ௰ƶƈƸƛŹۓƫƄűƕƜ֒űƫƈǀŸ ▶︎ ǿǝǬȂǛȗƘʈŸƿەմƄƗű ▶︎ ţǿǝǬƛ'.ƜƀƹƔ̿űƓűƸƜƇඵŤƬƌűƗƛƕŸřǿǝǬƘࡽҥƛǫLJȐǓǬȎǹDžLjȏŹਧűƓůƸƜƇඵƕŸ ▶︎ ǫLJǝǓƘǹDžLjȏƿΡź̌ƂƗű ▶︎ ݹƛȎǓnjǝǬŹ۪ƌƕźƘƊƛǹDžLjȏŹґϺƆƸƀƕƿەմƄƗű ▶︎ ୟƜǝǕȜȏdžNJǬƔźƸƵųƘʊƶƹƓűƸƕűųƀƕ ▶︎ ʓґȍLjǺȍȎŹǵǧǕȜǜভࢪǨȜȏƗƖƿʎƐƓLjȗǝǬȜȏƔźƸƵųƘƗƐƓűƸCE SLBJCP džǻȎǕȜǛȋȗ
SUPINF Inc. // twitter.com/toricls ▶︎ ್ࣲࢷЭƕۙࣘࢷЭƛԎࣙŹӒƗű ▶︎ CE್ࣲࢷЭƜ1/*GRCƍžƖۙࣘƜ.MQREPC1/*ƬƌűƗԎࣙƜdžǏȗ ▶︎ ௲̿ఽԽŹఽű
▶︎ ௲̿ڪƘȆȎȆȎ̅ࢪƿƱƸƵųƗƛƜžƌű" ƛȂLjǔȐȜǛȋȗƕŸƜƊƯƊƯ௲̿̅ࢪƔƜƗűQCCǥȜȄʇ̛ඹǫȎǴȎȜ ▶︎ ǛǔǮȏ1'%2#0+ƕŸ ƿžƐƓƎưǀƕǔȐȜǝǹȏƘ৮ɅƔźƸ ▶︎ ઈఄƛݮ੧ƿȁȜǬƿƅƓ˨್ƆƸ džǻȎǕȜǛȋȗ
SUPINF Inc. // twitter.com/toricls ోࣄ ▶︎ ǗȗǪǮƛҩভࢪŹƔźƓűƸ ▶︎ ǨȜȏƜѝźƗƯƛƿʎŵƝűűƕ֒ų ▶︎
51ȊȜǚȜƛМΙřȂǝǣȜDzȜǭਯƛভࢪǗǝǬƿױƐƓƔƯ#!1ɪуƛƿŵƸƌƮƘƜƊƹई֊ƛࢪࣇŹքୟ ▶︎ ভࢪǣǝǓƯҩƘ௰ƶƈƸ"MAICPLjȅȜǜƕΝƅƯƛƿʎƐƓų ▶︎ ǗȜǭǽȜǝřҥʱƗƖŹ˦ƓΝƅƍŹřǗȗǪǮƿ௰ƶƈƸڪƛǗȂȗǭƍžųࣶƗ ▶︎ džǻȎǕȜǛȋȗҩŹ@SLBJCCVCAP?GJQQƔř" ȂLjǔȐǛȜǛȋȗŹ@SLBJCCVCAP?GJQB@KGEP?RCƬƌűƗ ▶︎ ȅǬȎǓǝƛഁƿųnjȜǜNjȗǬƯǗȗǪǮƔƱƹƸƕűƺűƺҊƄűCE"?R?BME +?AICPCJ ▶︎ ȑǔഁ ▶︎ ǗȗǪǮƛկ̫Ɯ௰ƐƓűƸǻȑǟǝƛݢࠑ̰̌ƿƖƀŸƘǝǬȎȜȃȗǔƆƸƕƀƺƫƔ ▶︎ Ɗƛ˝ƛௐ́Ɯ̘ƛdžǻȎǕȜǛȋȗ?UQJMEQ $JSCLRBƘƼƈƸ ▶︎ ƖƀƔǗȗǪǮŹ̿űƓűƸŸƼŸƶƗűƀƕƿ̣لƘోࣄ୯ƆƸƀƕƿҴƆƸ ▶︎ ƖƀƔ̿żŸƼŸƶƗűƀƕƿҴƔźƸ ▶︎ ƖƀƔƯ̿ŸƈƸ ▶︎ ҰࣲࣁڪƛռڔƘୟƆƸȎȜǭǣLjȄƿटਘƔźƸ ▶︎ ƼȜű
SUPINF Inc. // twitter.com/toricls ోࣄ ▶︎ !'!"ඵ৻ৼࣶǫȎǴȎȜඵƱƶƗűƛǤȅǠǧǣLj ▶︎ !.3ȅȆȎƛ̫ƷզƓƕŸƿƎưǀƕƱƐƓř׆ƫƄƱŸƗǗȗǪǮƿ̿ŸƆ ▶︎
ƀƀƛ̫ƷզƓƿƎưǀƕƱƹƓƗűƕǗȗǪǮƛ̙ࣄƘƵƸǗǝǬ̹࢜Źۋш͎ƔźƗű ▶︎ ƊƯƊƯΝƅǿǝǬƔ̿űƓűƸǗȗǪǮƂǀƌƎƘƕƐƓయֳ ▶︎ "MAICPnjȗǜȗƛǻȑǟǝઈʇƯःӇǗȗǪǮভࢪǨȜȏƛnjȜǜNjȗǬŹȟਊƘ̿űƓűƸМΙƜƊƹƯःƄƌڊŹƬǀƗԬƈ ▶︎ %MJ?LEƔۆŸƹƌdžǻȎƛƵųƘͣȟƛǴLjǮȎƔ̿ʊƆƸdžǻȎǕȜǛȋȗƔƯřǗȗǪǮ͎ƄƓǫǻȑLjƆƸ ▶︎ SGJB 1FGN 0SLƿɤƛdžǻȎǕȜǛȋȗƕ˪୭கȆǫȏ ƔŵƸƀƕƘƵƸోࣄǗǝǬƛʃ߾ ▶︎ ҢٰதɇŹ௲źƸƛƔůǀƫƷ߲żƜ୬ƹƗű
SUPINF Inc. // twitter.com/toricls Thank you :D