Submit Search
Upload
How we realized SOA by Python at PyCon JP 2015
•
1 like
•
8,327 views
H
hirokiky
Follow
How we realized SOA by Python at PyCon JP 2015
Read less
Read more
Technology
Report
Share
Report
Share
1 of 89
Download now
Download to read offline
Recommended
Introduction to web development
Introduction to web development
Anh Nguyen
GREAT STEP 2. TDD & MockMVC
GREAT STEP 2. TDD & MockMVC
Covenant Ko
Managing modular software for your nu get, c++ and java development
Managing modular software for your nu get, c++ and java development
Baruch Sadogursky
[아이펀팩토리] 2018 데브데이 서버위더스 _03 Scalable 한 게임 서버 만들기
[아이펀팩토리] 2018 데브데이 서버위더스 _03 Scalable 한 게임 서버 만들기
iFunFactory Inc.
Ať se z kódu nepráší! 2013
Ať se z kódu nepráší! 2013
Juraj Michálek
Gorush: A push notification server written in Go
Gorush: A push notification server written in Go
Bo-Yi Wu
Take control. write a plugin. part II
Take control. write a plugin. part II
Baruch Sadogursky
Metasepi team meeting #8': Haskell apps on Android NDK
Metasepi team meeting #8': Haskell apps on Android NDK
Kiwamu Okabe
Recommended
Introduction to web development
Introduction to web development
Anh Nguyen
GREAT STEP 2. TDD & MockMVC
GREAT STEP 2. TDD & MockMVC
Covenant Ko
Managing modular software for your nu get, c++ and java development
Managing modular software for your nu get, c++ and java development
Baruch Sadogursky
[아이펀팩토리] 2018 데브데이 서버위더스 _03 Scalable 한 게임 서버 만들기
[아이펀팩토리] 2018 데브데이 서버위더스 _03 Scalable 한 게임 서버 만들기
iFunFactory Inc.
Ať se z kódu nepráší! 2013
Ať se z kódu nepráší! 2013
Juraj Michálek
Gorush: A push notification server written in Go
Gorush: A push notification server written in Go
Bo-Yi Wu
Take control. write a plugin. part II
Take control. write a plugin. part II
Baruch Sadogursky
Metasepi team meeting #8': Haskell apps on Android NDK
Metasepi team meeting #8': Haskell apps on Android NDK
Kiwamu Okabe
Spring Cloud Netflixを使おう #jsug
Spring Cloud Netflixを使おう #jsug
Toshiaki Maki
響應式程式開發之 .NET Core 應用
響應式程式開發之 .NET Core 應用
Chen-Tien Tsai
.Net core 與 .net standard 實戰教學 開發指南
.Net core 與 .net standard 實戰教學 開發指南
Alan Tsai
Creando microservicios con java micro profile y tomee - CUNORI 2020
Creando microservicios con java micro profile y tomee - CUNORI 2020
César Hernández
Python for IoT, A return of experience
Python for IoT, A return of experience
Alexandre Abadie
JPA 스터디 Week2 - Object Relational Mapping
JPA 스터디 Week2 - Object Relational Mapping
Covenant Ko
JPA 스터디 Week1 - 하이버네이트, 캐시
JPA 스터디 Week1 - 하이버네이트, 캐시
Covenant Ko
Beachhead implements new opcode on CLR JIT
Beachhead implements new opcode on CLR JIT
Kouji Matsui
Explicit architecture
Explicit architecture
Herberto Graça
Django framework
Django framework
TIB Academy
給 RD 的 Kubernetes 初體驗 (gcpug 2019-06 version)
給 RD 的 Kubernetes 初體驗 (gcpug 2019-06 version)
William Yeh
CodeStarではじめるRailsアプリのCodeDeploy化
CodeStarではじめるRailsアプリのCodeDeploy化
Keishi Hosoba
Test Engineering on Mobage
Test Engineering on Mobage
Masaki Nakagawa
[D2 campus seminar]웹브라우저 엔진
[D2 campus seminar]웹브라우저 엔진
NAVER D2
OpenAPI development with Python
OpenAPI development with Python
Takuro Wada
Week6 autowired beanlifecycle
Week6 autowired beanlifecycle
Covenant Ko
Automated Testing in WordPress, Really?!
Automated Testing in WordPress, Really?!
Ptah Dunbar
Enter Cookbook: refactoring under a microscope
Enter Cookbook: refactoring under a microscope
Kamil Samigullin
WordPress automation and CI
WordPress automation and CI
Ran Bar-Zik
Future of Grails
Future of Grails
Daniel Woods
PyCon JP 2015 keynote
PyCon JP 2015 keynote
Haruo Sato
Sphinxで作る貢献しやすいドキュメント翻訳の仕組み
Sphinxで作る貢献しやすいドキュメント翻訳の仕組み
Takayuki Shimizukawa
More Related Content
What's hot
Spring Cloud Netflixを使おう #jsug
Spring Cloud Netflixを使おう #jsug
Toshiaki Maki
響應式程式開發之 .NET Core 應用
響應式程式開發之 .NET Core 應用
Chen-Tien Tsai
.Net core 與 .net standard 實戰教學 開發指南
.Net core 與 .net standard 實戰教學 開發指南
Alan Tsai
Creando microservicios con java micro profile y tomee - CUNORI 2020
Creando microservicios con java micro profile y tomee - CUNORI 2020
César Hernández
Python for IoT, A return of experience
Python for IoT, A return of experience
Alexandre Abadie
JPA 스터디 Week2 - Object Relational Mapping
JPA 스터디 Week2 - Object Relational Mapping
Covenant Ko
JPA 스터디 Week1 - 하이버네이트, 캐시
JPA 스터디 Week1 - 하이버네이트, 캐시
Covenant Ko
Beachhead implements new opcode on CLR JIT
Beachhead implements new opcode on CLR JIT
Kouji Matsui
Explicit architecture
Explicit architecture
Herberto Graça
Django framework
Django framework
TIB Academy
給 RD 的 Kubernetes 初體驗 (gcpug 2019-06 version)
給 RD 的 Kubernetes 初體驗 (gcpug 2019-06 version)
William Yeh
CodeStarではじめるRailsアプリのCodeDeploy化
CodeStarではじめるRailsアプリのCodeDeploy化
Keishi Hosoba
Test Engineering on Mobage
Test Engineering on Mobage
Masaki Nakagawa
[D2 campus seminar]웹브라우저 엔진
[D2 campus seminar]웹브라우저 엔진
NAVER D2
OpenAPI development with Python
OpenAPI development with Python
Takuro Wada
Week6 autowired beanlifecycle
Week6 autowired beanlifecycle
Covenant Ko
Automated Testing in WordPress, Really?!
Automated Testing in WordPress, Really?!
Ptah Dunbar
Enter Cookbook: refactoring under a microscope
Enter Cookbook: refactoring under a microscope
Kamil Samigullin
WordPress automation and CI
WordPress automation and CI
Ran Bar-Zik
Future of Grails
Future of Grails
Daniel Woods
What's hot
(20)
Spring Cloud Netflixを使おう #jsug
Spring Cloud Netflixを使おう #jsug
響應式程式開發之 .NET Core 應用
響應式程式開發之 .NET Core 應用
.Net core 與 .net standard 實戰教學 開發指南
.Net core 與 .net standard 實戰教學 開發指南
Creando microservicios con java micro profile y tomee - CUNORI 2020
Creando microservicios con java micro profile y tomee - CUNORI 2020
Python for IoT, A return of experience
Python for IoT, A return of experience
JPA 스터디 Week2 - Object Relational Mapping
JPA 스터디 Week2 - Object Relational Mapping
JPA 스터디 Week1 - 하이버네이트, 캐시
JPA 스터디 Week1 - 하이버네이트, 캐시
Beachhead implements new opcode on CLR JIT
Beachhead implements new opcode on CLR JIT
Explicit architecture
Explicit architecture
Django framework
Django framework
給 RD 的 Kubernetes 初體驗 (gcpug 2019-06 version)
給 RD 的 Kubernetes 初體驗 (gcpug 2019-06 version)
CodeStarではじめるRailsアプリのCodeDeploy化
CodeStarではじめるRailsアプリのCodeDeploy化
Test Engineering on Mobage
Test Engineering on Mobage
[D2 campus seminar]웹브라우저 엔진
[D2 campus seminar]웹브라우저 엔진
OpenAPI development with Python
OpenAPI development with Python
Week6 autowired beanlifecycle
Week6 autowired beanlifecycle
Automated Testing in WordPress, Really?!
Automated Testing in WordPress, Really?!
Enter Cookbook: refactoring under a microscope
Enter Cookbook: refactoring under a microscope
WordPress automation and CI
WordPress automation and CI
Future of Grails
Future of Grails
Viewers also liked
PyCon JP 2015 keynote
PyCon JP 2015 keynote
Haruo Sato
Sphinxで作る貢献しやすいドキュメント翻訳の仕組み
Sphinxで作る貢献しやすいドキュメント翻訳の仕組み
Takayuki Shimizukawa
Writing Fast Code (JP) - PyCon JP 2015
Writing Fast Code (JP) - PyCon JP 2015
Younggun Kim
pyconjp2015_talk_Translation of Python Program__
pyconjp2015_talk_Translation of Python Program__
Renyuan Lyu
Pythonで作る俺様サウンドエフェクター
Pythonで作る俺様サウンドエフェクター
Ransui Iso
SekainoKAO by TeamKAO
SekainoKAO by TeamKAO
Hideki
tse - Pythonによるテキスト整形ユーティリティ
tse - Pythonによるテキスト整形ユーティリティ
Atsuo Ishimoto
PyLadies Tokyo - 初心者向けPython体験ワークショップ開催の裏側
PyLadies Tokyo - 初心者向けPython体験ワークショップ開催の裏側
Katayanagi Nobuko
Ry pyconjp2015 karaoke
Ry pyconjp2015 karaoke
Renyuan Lyu
Python と型ヒント (Type Hints)
Python と型ヒント (Type Hints)
Tetsuya Morimoto
アドネットワークのデータ解析チームを支える技術
アドネットワークのデータ解析チームを支える技術
hagino 3000
組合せ最適化を体系的に知ってPythonで実行してみよう PyCon 2015
組合せ最適化を体系的に知ってPythonで実行してみよう PyCon 2015
SaitoTsutomu
PythonとPyCoRAMでお手軽にFPGAシステムを開発してみよう
PythonとPyCoRAMでお手軽にFPGAシステムを開発してみよう
Shinya Takamaeda-Y
強くなるためのプログラミング -プログラミングに関する様々なコンテストとそのはじめ方-#pyconjp
強くなるためのプログラミング -プログラミングに関する様々なコンテストとそのはじめ方-#pyconjp
cocodrips
野球Hack!~Pythonを用いたデータ分析と可視化 #pyconjp
野球Hack!~Pythonを用いたデータ分析と可視化 #pyconjp
Shinichi Nakagawa
日本のオープンデータプラットフォームをPythonでつくる
日本のオープンデータプラットフォームをPythonでつくる
Yuta Kashino
BPStudy#97 世界に価値を創り出すエンジニアの技術
BPStudy#97 世界に価値を創り出すエンジニアの技術
Haruo Sato
S13 t0 introduction
S13 t0 introduction
Takeshi Akutsu
pandasによるデータ加工時の注意点やライブラリの話
pandasによるデータ加工時の注意点やライブラリの話
Masashi Shibata
micropythonで遊んでみる
micropythonで遊んでみる
satokengo
Viewers also liked
(20)
PyCon JP 2015 keynote
PyCon JP 2015 keynote
Sphinxで作る貢献しやすいドキュメント翻訳の仕組み
Sphinxで作る貢献しやすいドキュメント翻訳の仕組み
Writing Fast Code (JP) - PyCon JP 2015
Writing Fast Code (JP) - PyCon JP 2015
pyconjp2015_talk_Translation of Python Program__
pyconjp2015_talk_Translation of Python Program__
Pythonで作る俺様サウンドエフェクター
Pythonで作る俺様サウンドエフェクター
SekainoKAO by TeamKAO
SekainoKAO by TeamKAO
tse - Pythonによるテキスト整形ユーティリティ
tse - Pythonによるテキスト整形ユーティリティ
PyLadies Tokyo - 初心者向けPython体験ワークショップ開催の裏側
PyLadies Tokyo - 初心者向けPython体験ワークショップ開催の裏側
Ry pyconjp2015 karaoke
Ry pyconjp2015 karaoke
Python と型ヒント (Type Hints)
Python と型ヒント (Type Hints)
アドネットワークのデータ解析チームを支える技術
アドネットワークのデータ解析チームを支える技術
組合せ最適化を体系的に知ってPythonで実行してみよう PyCon 2015
組合せ最適化を体系的に知ってPythonで実行してみよう PyCon 2015
PythonとPyCoRAMでお手軽にFPGAシステムを開発してみよう
PythonとPyCoRAMでお手軽にFPGAシステムを開発してみよう
強くなるためのプログラミング -プログラミングに関する様々なコンテストとそのはじめ方-#pyconjp
強くなるためのプログラミング -プログラミングに関する様々なコンテストとそのはじめ方-#pyconjp
野球Hack!~Pythonを用いたデータ分析と可視化 #pyconjp
野球Hack!~Pythonを用いたデータ分析と可視化 #pyconjp
日本のオープンデータプラットフォームをPythonでつくる
日本のオープンデータプラットフォームをPythonでつくる
BPStudy#97 世界に価値を創り出すエンジニアの技術
BPStudy#97 世界に価値を創り出すエンジニアの技術
S13 t0 introduction
S13 t0 introduction
pandasによるデータ加工時の注意点やライブラリの話
pandasによるデータ加工時の注意点やライブラリの話
micropythonで遊んでみる
micropythonで遊んでみる
Similar to How we realized SOA by Python at PyCon JP 2015
Tdd using Jasmine and karma
Tdd using Jasmine and karma
Siddharth Mishra
DevOps for TYPO3 Teams and Projects
DevOps for TYPO3 Teams and Projects
Fedir RYKHTIK
2 万林涛
2 万林涛
Jiang Shang
Getting Started with Serverless Architectures
Getting Started with Serverless Architectures
Amazon Web Services
Cloudstack Continuous Delivery
Cloudstack Continuous Delivery
buildacloud
Dropwizard and Groovy
Dropwizard and Groovy
tomaslin
we45 DEFCON Workshop - Building AppSec Automation with Python
we45 DEFCON Workshop - Building AppSec Automation with Python
Abhay Bhargav
Nagios Conference 2014 - Mike Merideth - The Art and Zen of Managing Nagios w...
Nagios Conference 2014 - Mike Merideth - The Art and Zen of Managing Nagios w...
Nagios
2015 jcconf-h2s-devops-practice
2015 jcconf-h2s-devops-practice
Hochi Chuang
Deploying software at Scale
Deploying software at Scale
Kris Buytaert
Automating Web Application Deployment
Automating Web Application Deployment
Mathew Byrne
OWASP ZAP Workshop for QA Testers
OWASP ZAP Workshop for QA Testers
Javan Rasokat
Developers Testing - Girl Code at bloomon
Developers Testing - Girl Code at bloomon
Ineke Scheffers
Golang @ Tokopedia
Golang @ Tokopedia
Qasim Zaidi
Getting to Walk with DevOps
Getting to Walk with DevOps
Eklove Mohan
Devops
Devops
JyothirmaiG4
10 things you should know about django
10 things you should know about django
Adieu
A Byte of Software Deployment
A Byte of Software Deployment
Gong Haibing
Deliver Python Apps with Docker
Deliver Python Apps with Docker
Anton Egorov
DevOpsDays Taipei 2019 - Mastering IaC the DevOps Way
DevOpsDays Taipei 2019 - Mastering IaC the DevOps Way
smalltown
Similar to How we realized SOA by Python at PyCon JP 2015
(20)
Tdd using Jasmine and karma
Tdd using Jasmine and karma
DevOps for TYPO3 Teams and Projects
DevOps for TYPO3 Teams and Projects
2 万林涛
2 万林涛
Getting Started with Serverless Architectures
Getting Started with Serverless Architectures
Cloudstack Continuous Delivery
Cloudstack Continuous Delivery
Dropwizard and Groovy
Dropwizard and Groovy
we45 DEFCON Workshop - Building AppSec Automation with Python
we45 DEFCON Workshop - Building AppSec Automation with Python
Nagios Conference 2014 - Mike Merideth - The Art and Zen of Managing Nagios w...
Nagios Conference 2014 - Mike Merideth - The Art and Zen of Managing Nagios w...
2015 jcconf-h2s-devops-practice
2015 jcconf-h2s-devops-practice
Deploying software at Scale
Deploying software at Scale
Automating Web Application Deployment
Automating Web Application Deployment
OWASP ZAP Workshop for QA Testers
OWASP ZAP Workshop for QA Testers
Developers Testing - Girl Code at bloomon
Developers Testing - Girl Code at bloomon
Golang @ Tokopedia
Golang @ Tokopedia
Getting to Walk with DevOps
Getting to Walk with DevOps
Devops
Devops
10 things you should know about django
10 things you should know about django
A Byte of Software Deployment
A Byte of Software Deployment
Deliver Python Apps with Docker
Deliver Python Apps with Docker
DevOpsDays Taipei 2019 - Mastering IaC the DevOps Way
DevOpsDays Taipei 2019 - Mastering IaC the DevOps Way
More from hirokiky
簡単な算数でできる文章校正
簡単な算数でできる文章校正
hirokiky
エンジニアが起業のアイディアを見つける方法
エンジニアが起業のアイディアを見つける方法
hirokiky
それ、公開しちゃおうよ - みんなのPython勉強会63登壇
それ、公開しちゃおうよ - みんなのPython勉強会63登壇
hirokiky
プロダクト開発してわかったDjangoの深〜いパーミッション管理の話 @ PyconJP2017
プロダクト開発してわかったDjangoの深〜いパーミッション管理の話 @ PyconJP2017
hirokiky
営業も広報もいない僕たちが11年間やってきたこと
営業も広報もいない僕たちが11年間やってきたこと
hirokiky
LLoT ランゲージアップデート Python
LLoT ランゲージアップデート Python
hirokiky
価値を届ける技術 #bpstudy 96
価値を届ける技術 #bpstudy 96
hirokiky
Pycon2014 django performance
Pycon2014 django performance
hirokiky
gargant.dispatch, a flexible dispatcher for WSGI
gargant.dispatch, a flexible dispatcher for WSGI
hirokiky
Django最速デバッグ指南 PyConAPAC 2013
Django最速デバッグ指南 PyConAPAC 2013
hirokiky
軽量のススメ
軽量のススメ
hirokiky
django-websettingsの紹介
django-websettingsの紹介
hirokiky
pyramid_layoutと僕と、ときどきzope.interface
pyramid_layoutと僕と、ときどきzope.interface
hirokiky
My pyhack 1301
My pyhack 1301
hirokiky
Useful Django 1.4
Useful Django 1.4
hirokiky
使えるDjango1.4
使えるDjango1.4
hirokiky
個人の嗜好を学習し記事を推奨するフィードリーダ
個人の嗜好を学習し記事を推奨するフィードリーダ
hirokiky
卒研中間発表資料:個人に最適化したフィードリーダの構築
卒研中間発表資料:個人に最適化したフィードリーダの構築
hirokiky
More from hirokiky
(18)
簡単な算数でできる文章校正
簡単な算数でできる文章校正
エンジニアが起業のアイディアを見つける方法
エンジニアが起業のアイディアを見つける方法
それ、公開しちゃおうよ - みんなのPython勉強会63登壇
それ、公開しちゃおうよ - みんなのPython勉強会63登壇
プロダクト開発してわかったDjangoの深〜いパーミッション管理の話 @ PyconJP2017
プロダクト開発してわかったDjangoの深〜いパーミッション管理の話 @ PyconJP2017
営業も広報もいない僕たちが11年間やってきたこと
営業も広報もいない僕たちが11年間やってきたこと
LLoT ランゲージアップデート Python
LLoT ランゲージアップデート Python
価値を届ける技術 #bpstudy 96
価値を届ける技術 #bpstudy 96
Pycon2014 django performance
Pycon2014 django performance
gargant.dispatch, a flexible dispatcher for WSGI
gargant.dispatch, a flexible dispatcher for WSGI
Django最速デバッグ指南 PyConAPAC 2013
Django最速デバッグ指南 PyConAPAC 2013
軽量のススメ
軽量のススメ
django-websettingsの紹介
django-websettingsの紹介
pyramid_layoutと僕と、ときどきzope.interface
pyramid_layoutと僕と、ときどきzope.interface
My pyhack 1301
My pyhack 1301
Useful Django 1.4
Useful Django 1.4
使えるDjango1.4
使えるDjango1.4
個人の嗜好を学習し記事を推奨するフィードリーダ
個人の嗜好を学習し記事を推奨するフィードリーダ
卒研中間発表資料:個人に最適化したフィードリーダの構築
卒研中間発表資料:個人に最適化したフィードリーダの構築
Recently uploaded
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024
Stephanie Beckett
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck Presentation
Slibray Presentation
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365
2toLead Limited
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024
Lorenzo Miniero
The Future of Software Development - Devin AI Innovative Approach.pdf
The Future of Software Development - Devin AI Innovative Approach.pdf
SeasiaInfotech2
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
carlostorres15106
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platforms
Sergiu Bodiu
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project Setup
Florian Wilhelm
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdf
Addepto
Powerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time Clash
charlottematthew16
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
BookNet Canada
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Mark Simos
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
Fwdays
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko
Fwdays
Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024
Enterprise Knowledge
Vertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering Tips
Miki Katsuragi
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache Maven
Hervé Boutemy
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQL
ScyllaDB
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easy
Alfredo García Lavilla
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 Presentation
Ridwan Fadjar
Recently uploaded
(20)
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck Presentation
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024
The Future of Software Development - Devin AI Innovative Approach.pdf
The Future of Software Development - Devin AI Innovative Approach.pdf
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platforms
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project Setup
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdf
Powerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time Clash
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko
Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024
Vertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering Tips
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache Maven
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQL
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easy
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 Presentation
How we realized SOA by Python at PyCon JP 2015
1.
How we realize
SOA by Python In PyCon JP 2015
2.
#PyConJP_C
3.
SOA meaning Service Oriented
Architecture
4.
What's SOA SOA is
an approach to create a system based on small servers separated for small functions.
5.
SOA WebApp Search Auth Other Images
6.
https://www.nginx.com/blog/building-microservices-using-an-api-gateway/
7.
So... is the
SOA comfy? • Yes. • But... no silver bullet.
8.
Pros • Separated responsibilities •
Rapid integration • Flexible scaling
9.
Cons • Lots of
servers ● To create ● To deploy ● To monitor
10.
Can't realize SOA
with legacy style
11.
• Direct transmitting •
Manual deploying • Manual testing
12.
So how we
realize SOA
13.
Today you can
learn • Case study of SOA by Python • Practices to manage lots of services
14.
Today you can't
lean • Step by step guide • So much about Python's core
15.
Agenda About Our case
Summary Architecture Creating MonitoringTesting Deploying
16.
Who I am •
Hiroki Kiyohara (hirokiky) • BePROUD Inc • Developer, Consultant, Trainer • Admin of djangoproject.jp
17.
Who we are •
News paper company ● Over 400,000 paid user (Web) • Migrating to in-house production
18.
Our case
19.
Architecture
20.
Architecture
21.
Architecture REST API
22.
Architecture Separated from
Web
23.
API Gateway • Proxy
for back-end servers • Handling permissions
24.
Creating
25.
Creating • Need to
create many services • Share docs
26.
Django • Easy to
create • Many libraries • Community and knowledge
27.
DjangoRestFramework • Framework on
Django to create REST API • Useful modules • Smart Auth/Authz framework
28.
DRF: Serializer • Django's
Form for REST API ● Nested ● Array of objects
29.
Serializer is really
simple
30.
Validating by serializer >>>
from search.serializers import BulkPostSerializer >>> BulkPostSerializer(data={ ... "name": "hiroki", ... "posts": [ ... {"title": "PyCon JP 2015", ... "body": "This is awesome event"}, ... {"title": "How we realize SOA", ... "body": "Python is awesome"}, ... ] ... }) >>> serializer.is_valid() True >>> serializer.validated_data OrderedDict([('name', 'hiroki'), ('pos...
31.
cookiecutter • Template of
repository • Share best practices
32.
. ├── README.md ├── project_name │
├── manage.py │ └── project_name │ ├── settings │ │ ├── __init__.py │ │ └── test.py │ ├── urls.py │ └── wsgi.py ├── .elasticbeanstalk/ ├── .coveragerc ├── .gitignore ├── circle.yml ├── Dockerfile ├── Dockerrun.aws.json ├── requirements.txt ├── setup.cfg └── tox.ini
33.
OK so... created •
Many applications • Share docs
34.
django-rest-swagger • API docs
from docstring and code • Demo-able API docs
35.
django-rest-swagger
36.
django-rest-swagger
37.
Creating • Django • DjangoRestFramework •
cookiecutter • tox
38.
Testing
39.
Testing • Handy unit
tests • E2E tests
40.
I know you
won't run. MEE TOO • Complex • Slow • Useless
41.
Speed up by
django's setting • On memory sqlite • Dummy or local cache • Light hasher Refer Two scoops of Django
42.
Use nice tools •
tox • flake8 • ...
43.
tox • Just type
`tox` • Run several tests in separated virtualenv
44.
[tox] envlist = py34,
flake8 skipsdist = True setupdir = ./myprj/ [testenv:py34] deps = coverage -rrequirements.txt setenv = DJANGO_SETTINGS_MODULE = myprj.settings.test commands = coverage erase coverage run myprj/manage.py test myprj coverage report [testenv:flake8] basepython = python3.4 deps = flake8 commands = flake8 myprj
45.
[tox] envlist = py34,
flake8 skipsdist = True setupdir = ./myprj/ [testenv:py34] deps = coverage -rrequirements.txt setenv = DJANGO_SETTINGS_MODULE = myprj.settings.test commands = coverage erase coverage run myprj/manage.py test myprj coverage report [testenv:flake8] basepython = python3.4 deps = flake8 commands = flake8 myprj Installing dependencies
46.
[tox] envlist = py34,
flake8 skipsdist = True setupdir = ./myprj/ [testenv:py34] deps = coverage -rrequirements.txt setenv = DJANGO_SETTINGS_MODULE = myprj.settings.test commands = coverage erase coverage run myprj/manage.py test myprj coverage report [testenv:flake8] basepython = python3.4 deps = flake8 commands = flake8 myprj Using settings for test
47.
[tox] envlist = py34,
flake8 skipsdist = True setupdir = ./myprj/ [testenv:py34] deps = coverage -rrequirements.txt setenv = DJANGO_SETTINGS_MODULE = myprj.settings.test commands = coverage erase coverage run myprj/manage.py test myprj coverage report [testenv:flake8] basepython = python3.4 deps = flake8 commands = flake8 myprj Running tests with coverage
48.
[tox] envlist = py34,
flake8 skipsdist = True setupdir = ./myprj/ [testenv:py34] deps = coverage -rrequirements.txt setenv = DJANGO_SETTINGS_MODULE = myprj.settings.test commands = coverage erase coverage run myprj/manage.py test myprj coverage report [testenv:flake8] basepython = python3.4 deps = flake8 commands = flake8 myprj Static analysis
49.
Just... $ tox
50.
flake8 • Code style
check • Static analysis
51.
flake8 • Don't review
about syntax • Remove tiny and messy code bugs
52.
And more • responses •
testfixtures • factory-boy
53.
Of cause, DO
NOT • Accessing outer services • Setting middle wares locally
54.
E2E testing • Using
requests • Checking connection of each services
55.
Locust.io • Load tests
by Python • Distributed clients but aggregated report
56.
Test • Faster Django
setting • tox • flake8 • locust.io
57.
Deploying
58.
Reduce costs to
deploy • Automated deploy by ElasticBeanstalk • Master deploying from CI
59.
Auto deploy • Master
branch is on development env • Deploying from CI tool
60.
Deploying
61.
Deploying Deploy It
62.
Deploying GREEN
63.
Deploying Push
64.
Deploying Deploy
65.
Deploying OK Pulling
66.
Deploying Deployed
67.
Also from CLI
or Web console • Just type `$ eb deploy` • Or through the Web
68.
Deploy • GitHub • CircleCI •
Docker • ElasticBeanstalk
69.
Monitoring
70.
A lots of
servers to monitor • Many services, lots servers • Immutable infrastructure
71.
Monitoring tools
72.
Sentry • Event (log)
aggregation platform • Manage console of each events
73.
74.
75.
Sentry • Many events
but one notification • Marked as `Resolved`, it'll come again
76.
Fluentd • Aggregating access
log • S3 and BigQuery
77.
NewRelic • Resource monitoring
for containers • And APM is awesome
78.
NewRelic APM • Analyzing
Python application • Which progress is slow?
79.
80.
Rundeck • Job scheduler •
Better crond
81.
Rundeck
82.
Monitor • Sentry • Fluentd •
NewRelic • Rundeck
83.
So...
84.
Will SOA be
a silver bullet?
85.
No
86.
Pros • Separated responsibilities •
Rapid integration • Flexible scaling
87.
But you need
to do • Easy creating • Handy testing • Auto deploying • Relief monitoring
88.
What should we
do next? • Non-blocking • Nicer container platform
89.
Thank you • For
listening • For this nice event
Download now