Stan Chollet
Chapter Lead Core API @ Dailymotion
Orléans Tech / CNCF Paris
https://stan.life
Story
an opinionated way to launch common tasks on your project.
Stan Chollet - @tsunammis - https://stan.life
Gazr.io
from
to
PHP
800k lines of code
Python 2.x
Python 3.x
PHP 7
monolith architecture
micro-services architecture
Scala
Golang
...
from a 10 years old monolith to a brand new micro-service architecture
Why "Gazr"?
an opinionated way to launch common tasks on your project.
Stan Chollet - @tsunammis - https://stan.life
Gazr.io
from
to
monolith architecture
micro-services architecture
run tests
~$ phpunit src/*
09:55 AM
run tests
~$ phpunit src/*
run tests
~$ phpunit src/*
10:05 AM
11:52 AM
run tests
~$ phpunit src/*
02:45 PM
run tests
~$ phpunit src/*
04:36 PM
run tests on service #1 (PHP)
~$ phpunit src/*
09:55 AM
run tests on service #2 (Python)
~$ py.test -s tests .
run tests on service #3 (Python)
~$ python -m unittest app
10:05 AM
11:52 AM
run tests on service #4 (Golang)
~$ go test -run ''
02:45 PM
run tests on service #1 (PHP)
~$ phpunit ???
04:36 PM
Why "Gazr"?
an opinionated way to launch common tasks on your project.
Stan Chollet - @tsunammis - https://stan.life
Gazr.io
-
Hard to maintain a lot of different CI pipelines
-
Hard to deal with many technologies on our laptop
-
Onboarding process different from each team/project
How?
an opinionated way to launch common tasks on your project.
Stan Chollet - @tsunammis - https://stan.life
Gazr.io
A container runtime as the only dependency on the developer's laptop.
we are using docker
makefile as the global interface
# Check lint, code styling rules
make style
# Cyclomatic complexity check
make complexity
# Format code.
make format
# Launch test
make test
make test-unit
make test-functional
make test-integration
# Locally run the application
make run
# Hot reloading for development.
make watch
an opinionated way to launch common tasks on your project
How?
an opinionated way to launch common tasks on your project.
Stan Chollet - @tsunammis - https://stan.life
Gazr.io
What?
an opinionated way to launch common tasks on your project.
Stan Chollet - @tsunammis - https://stan.life
Gazr.io
- Improve project and technology switching
- Fast onboarding process for newcomers
- Homogenize the CI Pipeline
- Bring consistency between development and production environments
Now?
an opinionated way to launch common tasks on your project.
Stan Chollet - @tsunammis - https://stan.life
Gazr.io
run tests on service #1 (PHP)
~$ make test
09:55 AM
run tests on service #2 (Python)
~$ make test
run tests on service #3 (Python)
~$ make test
10:05 AM
11:52 AM
run tests on service #4 (Golang)
~$ make test
02:45 PM
run tests on service #1 (PHP)
~$ make test
04:36 PM
Thanks
https://gazr.io
@tsunammis
Gazr [Gather]
By Stan Chollet
Gazr [Gather]
gazr, pronounced "Gather", is an opinionated way to launch common tasks on your project.
- 1,829