Java-Jersey 到 Python-Flask 服務不中斷重構之旅

Abstract

一年多前在因緣際會下承接了公司以 Java 為基礎的 RESTful Backend, 由於自己比較熟悉 Python 這個工具,於是就展開了一段 Backend 架構重構之旅。
本演講將分享這一路來所遇到的技術抉擇以及問題解決的經驗,內容將包含
* Restful Framework 選擇考量
* SQLAlchemy 與既有 MySQL DB 連線的問題
* 置換既有 RESTful API 的開發策略
* Tarven RESTful API 自動化測試簡介
* 以金絲雀部署(Canary Release)進行新舊版 API A/B test
* Flask App on Docker 在 Azure 的佈署經驗
以上內容還會用一個 demo 系統來作實例說明

Description

本演講會提到以下的專案或主題 * RESTful API * [Flask](http://flask.pocoo.org/) vs [Django REST framework](http://www.django-rest-framework.org/) * [Flasgger - API playground with Flask and Swagger UI](http://brunorocha.org/python/flask/flasgger-api-playground-with-flask-and-swagger-ui.html) * [Flask-SQLAlchemy](http://flask-sqlalchemy.pocoo.org/) * 整合測試及重構 * [Tarven RESTful API 自動化測試](https://taverntesting.github.io/) * [金絲雀部署(Canary Release)](https://martinfowler.com/bliki/CanaryRelease.html) * Nginx Reverse Proxy * Flask on Docker

Slides

http://bit.ly/pycontw2018-flask

Speaker

Max Lai

• Taichung.py共同發起人
• 目前在一家穿戴式新創公司參與人工智慧與後端軟體研發工作
• 專長是電腦視覺,機器學習與敏捷開發,業餘的時間也嘗試研究 Python 與 IoT 領域相關的 project.