devops in php environment
TRANSCRIPT
![Page 1: DevOps in PHP environment](https://reader031.vdocuments.net/reader031/viewer/2022021502/58ee938e1a28abfe268b4611/html5/thumbnails/1.jpg)
PHP environment Workflow / Deployment / Tools
![Page 2: DevOps in PHP environment](https://reader031.vdocuments.net/reader031/viewer/2022021502/58ee938e1a28abfe268b4611/html5/thumbnails/2.jpg)
Evaldo Felipe216 years SysAdmin 5 months DevOpsclint.solutions@evaldofelipe
![Page 3: DevOps in PHP environment](https://reader031.vdocuments.net/reader031/viewer/2022021502/58ee938e1a28abfe268b4611/html5/thumbnails/3.jpg)
Gabriel Koerich26Adm, full-stack dev & everything betweenalgorit.com.brbulldesk.com.br@gabrielmkoerich
![Page 4: DevOps in PHP environment](https://reader031.vdocuments.net/reader031/viewer/2022021502/58ee938e1a28abfe268b4611/html5/thumbnails/4.jpg)
PHP?!
● Easy for beginners● Easy to "deploy"● PHP mixed in HTML● No conventions for
function names
Evolution
< 5.3 Lixo
5.3 Namespaces, closures (anonymous functions)
5.4 Traits, [] for arrays
5.5 OPcache, finally on try blocks
5.6 Agument unpacking (...$args)
7.0 Performance (thanks to HHVM), return types, scalar types (int, float, string, bool), improved exceptions
7.1 Nullable types (?int), catch multiple exceptions
![Page 5: DevOps in PHP environment](https://reader031.vdocuments.net/reader031/viewer/2022021502/58ee938e1a28abfe268b4611/html5/thumbnails/5.jpg)
PHP?!Community
Composer / Packagist / AutoloaderDotenvPHP FIG and PSRs
StandardsPSR 1 - Basic CodingPSR 2 - Coding Style GuidePSR 3 - Logger InterfacePSR 4 - AutoloadingPSR 5 - Caching InterfacePSR 7 - HTTP Message Interface
![Page 6: DevOps in PHP environment](https://reader031.vdocuments.net/reader031/viewer/2022021502/58ee938e1a28abfe268b4611/html5/thumbnails/6.jpg)
Laravel FrameworkReleased in 2011
Key Features
● Routes● Controllers● Service Container & Dependency Injection● Broadcasting (Pusher or socket.io)● Migrations (tables)● Eloquent ORM (sql)● Artisan command line● Queues (beanstalkd, redis, amazon sqs)● Unit Testing● Laravel Elixir for gulp and Laravel Mix for webpack
![Page 7: DevOps in PHP environment](https://reader031.vdocuments.net/reader031/viewer/2022021502/58ee938e1a28abfe268b4611/html5/thumbnails/7.jpg)
Modern PHP
![Page 8: DevOps in PHP environment](https://reader031.vdocuments.net/reader031/viewer/2022021502/58ee938e1a28abfe268b4611/html5/thumbnails/8.jpg)
Laravel x Rails
![Page 9: DevOps in PHP environment](https://reader031.vdocuments.net/reader031/viewer/2022021502/58ee938e1a28abfe268b4611/html5/thumbnails/9.jpg)
Local Environment
![Page 10: DevOps in PHP environment](https://reader031.vdocuments.net/reader031/viewer/2022021502/58ee938e1a28abfe268b4611/html5/thumbnails/10.jpg)
Require mysql and php local
$ composer global require laravel/valet
$ valet park
$ valet paths
.dev
$ valet domain .etc
Valet
![Page 11: DevOps in PHP environment](https://reader031.vdocuments.net/reader031/viewer/2022021502/58ee938e1a28abfe268b4611/html5/thumbnails/11.jpg)
/** * Determine if the driver serves the request. * * @param string $sitePath * @param string $siteName * @param string $uri * @return bool */public function serves($sitePath, $siteName, $uri){ return is_dir($sitePath.'/wp-admin');}
![Page 12: DevOps in PHP environment](https://reader031.vdocuments.net/reader031/viewer/2022021502/58ee938e1a28abfe268b4611/html5/thumbnails/12.jpg)
![Page 13: DevOps in PHP environment](https://reader031.vdocuments.net/reader031/viewer/2022021502/58ee938e1a28abfe268b4611/html5/thumbnails/13.jpg)
Production Environment
![Page 14: DevOps in PHP environment](https://reader031.vdocuments.net/reader031/viewer/2022021502/58ee938e1a28abfe268b4611/html5/thumbnails/14.jpg)
![Page 15: DevOps in PHP environment](https://reader031.vdocuments.net/reader031/viewer/2022021502/58ee938e1a28abfe268b4611/html5/thumbnails/15.jpg)
![Page 16: DevOps in PHP environment](https://reader031.vdocuments.net/reader031/viewer/2022021502/58ee938e1a28abfe268b4611/html5/thumbnails/16.jpg)
![Page 17: DevOps in PHP environment](https://reader031.vdocuments.net/reader031/viewer/2022021502/58ee938e1a28abfe268b4611/html5/thumbnails/17.jpg)
![Page 18: DevOps in PHP environment](https://reader031.vdocuments.net/reader031/viewer/2022021502/58ee938e1a28abfe268b4611/html5/thumbnails/18.jpg)
ACCEPT tcp -- 10.132.103.204 anywhere tcp dpt:mysqlACCEPT udp -- 10.132.103.204 anywhere udp dpt:mysqlACCEPT tcp -- 10.132.103.204 anywhere tcp dpt:postgresqlACCEPT udp -- 10.132.103.204 anywhere udp dpt:postgresqlACCEPT tcp -- 10.132.103.204 anywhere tcp dpt:11211ACCEPT udp -- 10.132.103.204 anywhere udp dpt:11211ACCEPT tcp -- 10.132.103.204 anywhere tcp dpt:6379ACCEPT udp -- 10.132.103.204 anywhere udp dpt:6379ACCEPT tcp -- 10.132.103.204 anywhere tcp dpt:11300ACCEPT udp -- 10.132.103.204 anywhere udp dpt:11300
![Page 19: DevOps in PHP environment](https://reader031.vdocuments.net/reader031/viewer/2022021502/58ee938e1a28abfe268b4611/html5/thumbnails/19.jpg)
![Page 20: DevOps in PHP environment](https://reader031.vdocuments.net/reader031/viewer/2022021502/58ee938e1a28abfe268b4611/html5/thumbnails/20.jpg)
![Page 21: DevOps in PHP environment](https://reader031.vdocuments.net/reader031/viewer/2022021502/58ee938e1a28abfe268b4611/html5/thumbnails/21.jpg)
![Page 22: DevOps in PHP environment](https://reader031.vdocuments.net/reader031/viewer/2022021502/58ee938e1a28abfe268b4611/html5/thumbnails/22.jpg)
![Page 23: DevOps in PHP environment](https://reader031.vdocuments.net/reader031/viewer/2022021502/58ee938e1a28abfe268b4611/html5/thumbnails/23.jpg)
![Page 24: DevOps in PHP environment](https://reader031.vdocuments.net/reader031/viewer/2022021502/58ee938e1a28abfe268b4611/html5/thumbnails/24.jpg)
![Page 25: DevOps in PHP environment](https://reader031.vdocuments.net/reader031/viewer/2022021502/58ee938e1a28abfe268b4611/html5/thumbnails/25.jpg)
![Page 26: DevOps in PHP environment](https://reader031.vdocuments.net/reader031/viewer/2022021502/58ee938e1a28abfe268b4611/html5/thumbnails/26.jpg)
![Page 27: DevOps in PHP environment](https://reader031.vdocuments.net/reader031/viewer/2022021502/58ee938e1a28abfe268b4611/html5/thumbnails/27.jpg)
![Page 28: DevOps in PHP environment](https://reader031.vdocuments.net/reader031/viewer/2022021502/58ee938e1a28abfe268b4611/html5/thumbnails/28.jpg)
![Page 29: DevOps in PHP environment](https://reader031.vdocuments.net/reader031/viewer/2022021502/58ee938e1a28abfe268b4611/html5/thumbnails/29.jpg)
![Page 30: DevOps in PHP environment](https://reader031.vdocuments.net/reader031/viewer/2022021502/58ee938e1a28abfe268b4611/html5/thumbnails/30.jpg)
Security and Optimization
![Page 31: DevOps in PHP environment](https://reader031.vdocuments.net/reader031/viewer/2022021502/58ee938e1a28abfe268b4611/html5/thumbnails/31.jpg)
Let's Monitor
![Page 32: DevOps in PHP environment](https://reader031.vdocuments.net/reader031/viewer/2022021502/58ee938e1a28abfe268b4611/html5/thumbnails/32.jpg)
CloudFlare
![Page 33: DevOps in PHP environment](https://reader031.vdocuments.net/reader031/viewer/2022021502/58ee938e1a28abfe268b4611/html5/thumbnails/33.jpg)
![Page 34: DevOps in PHP environment](https://reader031.vdocuments.net/reader031/viewer/2022021502/58ee938e1a28abfe268b4611/html5/thumbnails/34.jpg)
![Page 35: DevOps in PHP environment](https://reader031.vdocuments.net/reader031/viewer/2022021502/58ee938e1a28abfe268b4611/html5/thumbnails/35.jpg)
Nginx as Load Balancer
![Page 36: DevOps in PHP environment](https://reader031.vdocuments.net/reader031/viewer/2022021502/58ee938e1a28abfe268b4611/html5/thumbnails/36.jpg)
Static & socket.io upstreamsnginxload balancer - gabstatic content - gabcloudflare ip config pass to app - gab
![Page 37: DevOps in PHP environment](https://reader031.vdocuments.net/reader031/viewer/2022021502/58ee938e1a28abfe268b4611/html5/thumbnails/37.jpg)
DBs
![Page 38: DevOps in PHP environment](https://reader031.vdocuments.net/reader031/viewer/2022021502/58ee938e1a28abfe268b4611/html5/thumbnails/38.jpg)
Master / Slave
Write / Read
Bkp S3 using PHP or CLI
Mysql
![Page 39: DevOps in PHP environment](https://reader031.vdocuments.net/reader031/viewer/2022021502/58ee938e1a28abfe268b4611/html5/thumbnails/39.jpg)
Background Jobs
![Page 40: DevOps in PHP environment](https://reader031.vdocuments.net/reader031/viewer/2022021502/58ee938e1a28abfe268b4611/html5/thumbnails/40.jpg)
Beanstalkd queue + Supervisor
![Page 41: DevOps in PHP environment](https://reader031.vdocuments.net/reader031/viewer/2022021502/58ee938e1a28abfe268b4611/html5/thumbnails/41.jpg)
Code Quality
![Page 42: DevOps in PHP environment](https://reader031.vdocuments.net/reader031/viewer/2022021502/58ee938e1a28abfe268b4611/html5/thumbnails/42.jpg)
Travis CITravis CI - gabCode climate - gab
![Page 43: DevOps in PHP environment](https://reader031.vdocuments.net/reader031/viewer/2022021502/58ee938e1a28abfe268b4611/html5/thumbnails/43.jpg)
Code Climate
![Page 44: DevOps in PHP environment](https://reader031.vdocuments.net/reader031/viewer/2022021502/58ee938e1a28abfe268b4611/html5/thumbnails/44.jpg)
Monitors
![Page 45: DevOps in PHP environment](https://reader031.vdocuments.net/reader031/viewer/2022021502/58ee938e1a28abfe268b4611/html5/thumbnails/45.jpg)
Papertrail
![Page 46: DevOps in PHP environment](https://reader031.vdocuments.net/reader031/viewer/2022021502/58ee938e1a28abfe268b4611/html5/thumbnails/46.jpg)
Bugsnag
![Page 47: DevOps in PHP environment](https://reader031.vdocuments.net/reader031/viewer/2022021502/58ee938e1a28abfe268b4611/html5/thumbnails/47.jpg)
![Page 48: DevOps in PHP environment](https://reader031.vdocuments.net/reader031/viewer/2022021502/58ee938e1a28abfe268b4611/html5/thumbnails/48.jpg)
![Page 49: DevOps in PHP environment](https://reader031.vdocuments.net/reader031/viewer/2022021502/58ee938e1a28abfe268b4611/html5/thumbnails/49.jpg)
![Page 50: DevOps in PHP environment](https://reader031.vdocuments.net/reader031/viewer/2022021502/58ee938e1a28abfe268b4611/html5/thumbnails/50.jpg)
![Page 51: DevOps in PHP environment](https://reader031.vdocuments.net/reader031/viewer/2022021502/58ee938e1a28abfe268b4611/html5/thumbnails/51.jpg)
NewRelic
![Page 52: DevOps in PHP environment](https://reader031.vdocuments.net/reader031/viewer/2022021502/58ee938e1a28abfe268b4611/html5/thumbnails/52.jpg)
Datadog
![Page 53: DevOps in PHP environment](https://reader031.vdocuments.net/reader031/viewer/2022021502/58ee938e1a28abfe268b4611/html5/thumbnails/53.jpg)
That's it!Where is the beer? :D