TOC思考プロセスで考える Python 2→3移行問題 2015-10-11 PyCon JP 2015
-
Upload
monotaro-it -
Category
Engineering
-
view
4.530 -
download
1
Transcript of TOC思考プロセスで考える Python 2→3移行問題 2015-10-11 PyCon JP 2015
http://www.monotaro.com/
(株)MonotaRO 金谷 敦志
!
PyCon JP 2015 Lightning Talks
TOC思考プロセスで考えるPython 2→3移行問題
http://www.monotaro.com/
お前誰やねん
2
• 金谷 敦志 (Twitter: @todogzm) • (株) MonotaRO IT部門 • ECサイト開発に従事
• 大阪Pythonユーザの集まり主催者のひとり #osakapy (今年は一度も開催できておらず… 12月にでもやりましょう!)
http://www.monotaro.com/ 3
DiamondスポンサーMonotaROはPythonの会社です
一緒にモノタロウを成長させる仲間を募集中! 詳細はノベルティ内のチラシやスタッフにお声がけを!
http://www.monotaro.com/
Pythonの会社のソースはPython 2ベース
4
• 内製システムはほぼPython 2で構築 ‒ ECサイト ‒ 基幹システム ‒ 各種ツール群
• 独自Webフレームワーク上で構築 • 10年以上に渡るメンテナンス
http://www.monotaro.com/
Python 2系 2020年でメンテナンス終了
5
• PEP 0307 ‒ Python 2.7 Release Schedule ‒ https://www.python.org/dev/peps/pep-0373/
• Python 2系のメンテナンスリリースは2020年まで!あと5年しかない! !
• さぁどうする!時間はないぞ! ‒ Python 3に全面移行するか? ‒ Python 2でだましだまし運用するか?
http://www.monotaro.com/ 6※元ネタ: スラムダンク 仙道彰
http://www.monotaro.com/
TOC思考プロセスの「クラウド」で考える
7
• 制約理論(TOC)の思考プロセスで登場するツールのひとつ • 矛盾や対立を解消するときに使う
http://www.monotaro.com/
クラウドの基本構造
8
D: 行動
D’: 行動
B: 要望
C: 要望
A: 共通目的 対立妥協
http://www.monotaro.com/
対立する行動D, D’
9
• Python 2と3どちらを使うかで対立が発生
Python 2を使い続ける
Python 3に 移行する
B: 要望
C: 要望
A: 共通目的 対立妥協
http://www.monotaro.com/
共通目的A
10
• モノタロウのビジネスを継続的に成長させること
10
Python 2を使い続ける
Python 3に 移行する
B: 要望
C: 要望
継続的にビジネスを成長させる
対立妥協
http://www.monotaro.com/
共通目的のうち満たしたい要望 B, C
11
• 機能追加により売上・利益へ貢献したい • 一方で、将来のセキュリティリスクも下げたい
Python 2を使い続ける
Python 3に 移行する
継続的に機能を追加する
将来のセキュリティリスクを下げる
継続的にビジネスを成長させる
対立妥協
http://www.monotaro.com/
声に出して読んでみて違和感なければOK
12
ためには
必要がある。そのために べきだと感じる
Python 2を使い続ける
Python 3に 移行する
継続的に機能を追加する
将来のセキュリティリスクを下げる
継続的にビジネスを成長させる
対立妥協
http://www.monotaro.com/
仮定・思い込みを見つける• Python 3に移行すると継続的な機能追加に妥協? • Python 2を使い続けるとセキュリティリスク対策に妥協?
Python 2を使い続ける
Python 3に 移行する
継続的に機能を追加する
将来のセキュリティリスクを下げる
継続的にビジネスを成長させる
対立妥協
13
http://www.monotaro.com/
仮定・思い込みを見つける
14
Python 2を使い続ける
Python 3に 移行する
継続的に機能を追加する
将来のセキュリティリスクを下げる
継続的にビジネスを成長させる
対立妥協
■ Python 3移行コストが高く付きそう ■ Python 3に移行しても売上に直結しない
■ 2020年以降メンテナンスされないと脆弱性の対策が出来ない
http://www.monotaro.com/
思い込みを利用し第3の妙案を出す
15
• 移行はそう大変じゃないかも? • そもそも自分たちで全機能をメンテする必要ないかも? • いっそのことPythonも自分たちで…(したくないけど)
Python 2を使い続ける
Python 3に 移行する
継続的に機能を追加する
将来のセキュリティリスクを下げる
継続的にビジネスを成長させる
対立
• フレームワークで差異吸収
• 外部サービスへの処理移譲
• 自分でPython 2をメンテ!?
http://www.monotaro.com/
なぜクラウドを作るのか?• 共通の目的を明確にできる • 行動は対立するが要望は両立できる
注目すべきは!ココ!
Python 2を使い続ける
Python 3に 移行する
継続的に機能を追加する
将来のセキュリティリスクを下げる
継続的にビジネスを成長させる
対立妥協
16
http://www.monotaro.com/
共通の目的があれば第3の妙案は出てくるはず!
17
• 共通の目的は何ですか? • 各行動は共通目的のどんな要望を満たすものですか? • 2つの要望を満たす妙案はありませんか?
D: 行動
D’: 行動
B: 要望
C: 要望
A: 共通目的 対立妥協
http://www.monotaro.com/ 18
一緒にモノタロウを成長させる仲間を募集しています!
Python 2資産いっぱいだけどな!