Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

php-1701-a

145 views

Published on

Regardless of claims by trendy developer websites, Enterprise PHP really is a thing: the final frontier. A reality for companies doing business at scale who turn to their developers for selecting frameworks, libraries, and tools that work at the scale they operate. These are the undocumented, and unspoken criteria driving what they trust.

Join us in this talk as Adam Culp walks through lessons learned over a five-year mission, consulting with companies who operate enterprise scale PHP applications. See what was boldly learned about squeezing more power out of PHP's engines.

Published in: Technology
  • Login to see the comments

  • Be the first to like this

php-1701-a

  1. 1. PHP-1701-A By: Adam Culp Twitter: @adamculp
  2. 2. 2 PHP-1701-A ● About me – OSS Contributor – PHP Certified – Zend Certification Advisory Board – PHP-Fig voting member (IBM i Toolkit) – Consultant at Zend Technologies – Organizer SoFloPHP (South Florida) – Organizer SunshinePHP (Miami) – Long distance (ultra) runner – Photography Enthusiast – Judo Black Belt Instructor
  3. 3. 3 PHP-1701-A ● About me – OSS Contributor – PHP Certified – Zend Certification Advisory Board – PHP-Fig voting member (IBM i Toolkit) – Consultant at Zend Technologies – Organizer SoFloPHP (South Florida) – Organizer SunshinePHP (Miami) – Long distance (ultra) runner – Photography Enthusiast – Judo Black Belt Instructor I am the PHP Ninja!!!
  4. 4. 4 PHP-1701-A ● Fan of iteration – Pretty much everything requires iteration to do well: ● Long distance running ● Judo ● Development ● Evading project managers ● Enterprise Software!
  5. 5. 5 PHP-1701-A ● What is Enterprise Software? – No, not the starship!
  6. 6. 6 PHP-1701-A ● What is Enterprise Software? – PHP vs Java vs Python vs Go?
  7. 7. 7 PHP-1701-A ● What is Enterprise Software? – Active Record versus Data Mapper?
  8. 8. 8 PHP-1701-A ● What is Enterprise Software? – Symfony vs Zend vs Laravel?
  9. 9. 9 PHP-1701-A ● What is Enterprise Software? – “...is computer software used to satisfy the needs of an organization rather than individual users.” - wikipedia
  10. 10. 10 PHP-1701-A ● What is Enterprise Software? – “...describes a collection of computer programs with common business applications, tools for modeling how the entire organization works, and development tools for building applications unique to the organization...” - also wikipedia
  11. 11. 11 PHP-1701-A ● What is Enterprise Software? – "Enterprise applications are about the display, manipulation, and storage of large amounts of often complex data and the support or automation of business processes with that data." - Martin Fowler
  12. 12. 12 PHP-1701-A ● Really? – Organization vs User – Large Companies – Corporate Patterns – Data or Complex Data
  13. 13. 13 PHP-1701-A ● In Other Words: – No small companies – No individual users – No simple/small data
  14. 14. 14 PHP-1701-A ● Really? – Organizations versus users – Large companies – Patterns – Data or Complex Data
  15. 15. 15 PHP-1701-A ● What is Enterprise Software? – License
  16. 16. 16 PHP-1701-A ● License – OSS vs Proprietary (many for each) – No license == no sharing – License == Responsibility
  17. 17. 17 PHP-1701-A ● What is Enterprise Software? – License – Interoperability
  18. 18. 18 PHP-1701-A ● Interoperability – Composer ● 433+ million package downloads...in July 2018 ● 10.25 billion total since 2012 ● More than just left-pad – Play nice with others – Easily add functionality – Caring users/community – PHP-FIG ● (politics aside) ● Passions == arguing
  19. 19. 19 PHP-1701-A ● What is Enterprise Software? – License – Interoperability – Lock-in
  20. 20. 20 PHP-1701-A ● Lock-in – Less lock-in is preferred – What if I want Ginger Ale instead of Koolaid? – Can seem innocent ● “We’re trying to help our users.” ● “Oops, sorry, must continue using this to use that.”
  21. 21. 21 PHP-1701-A ● What is Enterprise Software? – License – Interoperability – Lock-in – Contributors
  22. 22. 22 PHP-1701-A ● Contributors – More eyeballs – More brains – More ideas – More updated – More faster – Role of Git
  23. 23. 23 PHP-1701-A ● What is Enterprise Software? – License – Interoperability – Lock-in – Contributors – Bus Factor
  24. 24. 24 PHP-1701-A ● Bus Factor – Will it die without {{so-and-so}}? ● Visionary ● Energy ● Glue
  25. 25. 25 PHP-1701-A ● What is Enterprise Software? – License – Interoperability – Lock-in – Contributors – Bus Factor – Documentation
  26. 26. 26 PHP-1701-A ● Documentation – App is not complete without it – Entry level to advanced – Searchable – Complete – Books, Blogs, Podcasts – Videos
  27. 27. 27 PHP-1701-A ● What is Enterprise Software? – License – Interoperability – Lock-in – Contributors – Bus Factor – Documentation – Support
  28. 28. 28 PHP-1701-A ● Support – Throat to choke ● Who’s to blame – Community – Corporate – More than one
  29. 29. 29 PHP-1701-A ● What is Enterprise Software? – License – Interoperability – Lock-in – Contributors – Bus Factor – Documentation – Support – Compliance/Security
  30. 30. 30 PHP-1701-A ● Compliance/Security – SOC, OCI, SAS70, PCI, Sarbanes Oxley (SOX), Oh my! – Richardson Maturity Model (REST) – RFCs – CVE issues ● Friends of PHP: https://github.com/FriendsOfPHP/security-advisories ● https://cve.mitre.org/
  31. 31. 31 PHP-1701-A ● What is Enterprise Software? – License – Interoperability – Lock-in – Contributors – Bus Factor – Documentation – Support – Compliance/Security – Longevity
  32. 32. 32 PHP-1701-A ● Longevity – Experience level – Older == stability … usually ;-) – Waiting for version n.01 – Version 8 being defined
  33. 33. 33 PHP-1701-A ● What is Enterprise Software? – License – Interoperability – Lock-in – Contributors – Bus Factor – Documentation – Support – Compliance/Security – Longevity – Upgradeable
  34. 34. 34 PHP-1701-A ● Upgradeable – Wizards – Documentation – BC (backward compatible) – Composer
  35. 35. 35 PHP-1701-A ● What is Enterprise Software? – License – Interoperability – Lock-in – Contributors – Bus Factor – Documentation – Support – Compliance/Security – Longevity – Upgradeable – Roadmap
  36. 36. 36 PHP-1701-A ● Roadmap – Plans for next version – Vision or ideas – Stagnant – Openness
  37. 37. 37 PHP-1701-A ● Other Considerations – Performance
  38. 38. 38 PHP-1701-A ● Other Considerations – Performance – Code Quality
  39. 39. 39 PHP-1701-A ● Other Considerations – Performance – Code Quality – Coding Standards
  40. 40. 40 PHP-1701-A ● Other Considerations – Performance – Code Quality – Coding Standards – IDE Friendly
  41. 41. 41 PHP-1701-A ● Other Considerations – Performance – Code Quality – Coding Standards – IDE Friendly – Tested/Testable
  42. 42. 42 PHP-1701-A ● Future – Remote working
  43. 43. 43 PHP-1701-A ● Future – Remote working – Microservices
  44. 44. 44 PHP-1701-A ● Future – Remote working – Microservices – Containers
  45. 45. 45 PHP-1701-A ● Future – Remote working – Microservices – Containers – Async PHP (Swoole, ReactPHP, PHP v.8)
  46. 46. 46 PHP-1701-A ● Future – Remote working – Microservices – Containers – Async PHP (Swoole, ReactPHP, PHP v.8) – Middleware (SlimPHP, Expressive, etc.)
  47. 47. 47 PHP-1701-A ● Future – Remote working – Microservices – Containers – Async PHP (Swoole, ReactPHP, PHP v.8) – Middleware (SlimPHP, Expressive, etc.) – Serverless
  48. 48. 48 PHP-1701-A ● Future – Remote working – Microservices – Containers – Async PHP (Swoole, ReactPHP, PHP v.8) – Middleware (SlimPHP, Expressive, etc.) – Serverless – Function as a Service (FaaS)
  49. 49. 49 PHP-1701-A ● Summary... “Enterprise” is: – Stability – Dependability – Security – Business Continuity
  50. 50. ● Thank you! – Code: https://github.com/adamculp/ Adam Culp http://www.geekyboy.com http://RunGeekRadio.com Twitter @adamculp Questions?

×