PHP Industrialization is not only a question of IT skills. Industrializing a technology on a large scale is also related to people and finance.
During this conference, Eric Rappe, PHP skills center manager at Orange (DDSI) will give you keys that enabled him and his team to industrialize an Agile way for PHP development and production. A conference to attend if you want to develop faster and be more productive with PHP.
2024: Domino Containers - The Next Step. News from the Domino Container commu...
Â
PHP Industrialization: Simplifying Hosting and Development
1. and welcome to Orange !
szia
dag
hello
hola
shalom
nangadĂŞf
sat sri akal
bonjour
2. 2PHP at Orange, the keys for industrialization â 2010
Introduction
ď Who am i ?
ď PHP Skill center manager at Orange
ď Telco graduate degree from EPITA
(Graduate School of Computer Science and Advanced Technologies.)
ď 3 years in a System Integrator company, working mainly in Banking
and Insurance sector.
ď I moved to Orange 13 years ago, I had different responsibilities
from Application development to web portals project management.
ď Today I manage the PHP skills Center at Orange, my team is
composed of ten people.
3. 3PHP at Orange, the keys for industrialization â 2010
Agenda
Orange Company
Why industrialize PHP ?
Goals to achieve
Need of industrialization
Process of PHP industrialization
Workshop on industrialization
Conclusion
5. 5PHP at Orange, the keys for industrialization â 2010
more than 203millions customers in the world
3%of people in the world
are orangeâs customer
33,7
billion euros of
Revenue
Worldwide presence in
220countries
A staff of approximatively
181,000people in the world
Orange
the first nine months of 2010
6. 6PHP at Orange, the keys for industrialization â 2010
Our global activities (figures at
30 June 2010)
8. 8PHP at Orange, the keys for industrialization â 2010
Why choose PHP ?
PHP is Open Source, Interfaces very well with Mysql
Large community of PHP programmers
Easy to integrate with web pages
PHP can run on both Unix and Windows
PHP5 a fully object oriented language
ď¨ A really efficient language for Web Applications
Inside Orange
Company ?
Speed of development, low entry cost
Many applications are built with PHP (more than a thousand)
Many people are familiar with PHP ( more one hundred fifty developpers)
For development of non mission critical IT projects => but business critical
ď¨ An appropriate response to the needs of
business
PHP
9. 9PHP at Orange, the keys for industrialization â 2010
Why Industrialization ?
ď¨ Faster development, improved efficiency and
productivity
Improve the quality of development
Increase the productivity of development teams
Build reliable, adequate and sustainable applications
Reduce the duration and the load for application testing
Reduce the number of defects in the production phase
Allow projects to share the same tools and methods
Avoid each project to contract his own hosting environment
Reduce application time and cost to go live
Avoid an application to be developed several times in different places
Provide a real and effective support to projects
Inside Orange Company ?
ď¨ An appropriate response to the needs of the business
10. 10PHP at Orange, the keys for industrialization â 2010
Needs of industrializationâŚFew or no standardization, mutualization or reusability
> No prescription development for PHP
> Each project has to contract his own hosting SLA
> Each project has to produce all the documentation to satisfy quality system requirements
> No overview of the IT application life cycle
> No development prescription for PHP (Rules, Method, Tools)
> Slow delivery of platforms needed by the project
Monolithic approach in IT development
> High cost to each project, whatever its complexity (no segmentation or uses cases),
> Minimum of 3 to 6 months to build platforms needed by the project,
> Very poor support for âsimple applicationsâ (from an urbansism and technical point of view)
> How to identify what are the most sensitive applications (ticketing, hosting crisis) ?
> Poor efficiency and agility
Applications Powered by IT : reliable but expensive and not business compliant
> Are too slow for the business
> Cost a lot of money
> Are designed with heavy method
Applications Powered by field developers : business compliant but not scalable for high usage
> Are not reliable within high usage
> Canât be hosted with a good SLA
> Are not designed with appropriate technology
ď¨ Ensure that the IT world understands the needs of the Business, recognizes
the use of PHP and makes all its power to "organize" and "mentor" and "sustain" its
use and the resulting developments...
11. 11PHP at Orange, the keys for industrialization â 2010
PHP Industrialization is not only a question of IT skills.
(Industrializing a technology on a large scale is also related to people and finance).
Be sure whether development should be done in PHP and then be able to
Support the project throughout its life cycle
Accept to share your work, your source code
Accept that your source code is to be audited
Follow the recommendations in terms of tools and development rules
Change working methods, more agility,
Increase PHP skills, learn new technologiesâŚ
Value the work of PHP developers and interest of developing applications in PHP
ď¨ Create a real community of php developers in the company
ď¨ Trust with each other and accept to change
12. 12PHP at Orange, the keys for industrialization â 2010
PHP Industrialization is not only a question of IT skills.
(Industrializing a technology on a large scale is also related to people and finance).
Industrialize the workstation of PHP developers, methods and tools they use
Industrialize the test strategy
Build normalized infrastructure to cover nearly all PHP applications requirements
Reduce the recurring costs for the project
Contracting with vendors for support including maintenance,
patches and software changes.
Create different skill centers to meet projects needs
Invent new processes
Develop tools to facilitate and simplify trading between different players
working around PHP technologies
automate routine tasks, accelerate production of PHP applications
Implementation Process simplified and optimized to obtain a hosting environment
ď¨For the company, industrialization of PHP has a real cost
ď¨But If we do it well, there is a real ROI
13. 13PHP at Orange, the keys for industrialization â 2010
Goals to achieve
Provide Integrated services
High QOS
Normalized easy hosting
solution
ď Time To Market and Agility
ď§Reduce time and delay
How : with standards offering for each step of projects life cycle , with ready-to use
packaged environments and dematerialized on-demand process
14. 14
what is the process of
industrialization
that we followed ?
15. 15PHP at Orange, the keys for industrialization â 2010
Process of PHP industrialization
Workshop #1 : Identify
Workshop #2: Rationalize
Workshop #3 : simplify hosting
Workshop #4: Recommend
Workshop #8 : Communicate
Workshop #7 : Capitalize
Workshop #6 : Train
Workshop #5 : Support
16. 16PHP at Orange, the keys for industrialization â 2010
Workshop #1 : Identify
Build a repository of applications (PHP or not) developed outside the SI
construct a form describing the project in term of :
ď˘ Goals, project life cycle
ď˘ Application Hosting
ď˘ Version of PHP (or other technologies), name and version of databaseâŚ
ď˘ Business Owners Contacts, End Users, Application Manager
Appoint people on each site to facilitate the referencing
Each application is assigned a unique identifier code
"Vestalâ is the name of the repository for local applications
17. 17PHP at Orange, the keys for industrialization â 2010
Workshop #2 : Rationalize
Implement a new process for projects to ensure that :
ď˘ development is useful and fills a real need
ď˘ there are no other existing applications that already meet this problem
identify development teams PHP :
ď˘ avoid leaving isolated developers
ď˘ Take stock of knowledge developers
stop the hosting of applications on workstations*
ď¨ Vestal has listed more than 2300 applications, today only 500 are still in production
ď¨ More than 150 developers referenced
Migrate applications in the correct versions of PHP and MySQL
(Main database used )
18. 18PHP at Orange, the keys for industrialization â 2010
Workshop #3 : simplify hosting (1/2)
Construction of a virtualized hosting platform standard dedicated or shared
ď¨ The hosting infrastructure for LAMP projects is called "PHENIX"
end-users
load balancing
Production
(dedicated)
(2)
PHP web servers
file storage
MySQL databases
Production
(mutualized)
(9)
PHP web servers
MySQL databases
file storage
developers
Quarantine
(3)
PHP web servers
MySQL databases
file storage
PHENIX tools
CFT
Batch & Stats s
Monitoring
servers
PHP web servers
MySQL databases
file storage
âŚ
Pre-production
(2)
âŚ..
âŚ..
Network
intranet orange
ď¨ Hosting platform sized and configured for a stable and efficient production
19. 19PHP at Orange, the keys for industrialization â 2010
Workshop #3 : simplify hosting (2/2)
Develop an application workflow to facilitate all steps of projects
ď¨ The workflow application is called "Selfcare Phenix"
ď¨This application allows projects to make their demand in order to have a hosting environment
ď¨ Projects autonomy increased with the use of a workflow covering all the project lifecycle
ď¨ Requests are processed automatically and quickly
ď¨ Moreover this application gives informations about the statistics of the project, application
monitoring, server health, configuration of virtual machinesâŚ
20. 20PHP at Orange, the keys for industrialization â 2010
Workshop #4 : Recommend (1/3)
Objectives of the center of expertise PHP is to define :
ď˘ Method
ď˘ Rule
ď˘ Prescription
ď˘ tools
ď¨ Build a center of expertise to assist project teams
What About developers Workstation :
ď˘ developers should have an appropriate workstation
Make recommendations is not to prohibit use of this methods or this tools
but to say, if you follow these recommendations you can count on support of
PHP skill center
21. 21PHP at Orange, the keys for industrialization â 2010
Workshop #4 : Recommend (2/3)
ď¨ Build a prescription
Just for example :
* The products subject to licensing are bolded in the
table.
*
*
*
22. 22PHP at Orange, the keys for industrialization â 2010
Workshop #4 : Recommend (3/3)
Other work undertaken by the Center of Expertise
- Do not reinvent the wheel across the different projects
- Create a community around a development project
- Share best practices on technical and business components
- As close as possible with the philosophy of PHP & Zend Framework
- Getting a test coverage of 70% with PHPUnit and quality tools
- Adress common projects issues : authentication, user rights managment, look and feel, CRUD,...
ď˘ Virtual development environment
-1 Zend Studio as the standard IDE
-2 Development virtual machines
-3 OFT framework to simplify
developments
- Allow to give a production like environment
- Limits the time needed to set an environment up
- Web tools to handle one or multiple projects for one or multiple developers
- Bridge between SVN and the pre production
- Best practices : Hudson is embeded with a set of PHP quality tools to help projects during
development
ď˘ OFT Framework (Orange Framework & Tools)
- 4 Selfcare for the hosting lifecycle of the application
- 5 Pre production for staging and technical validations
- 6 Production
ď˘ To resumeâŚ
23. 23PHP at Orange, the keys for industrialization â 2010
Workshop #5 & 6 : Support & Train
Train :
ď˘ Different trainings for architects and developpers (generic or specific to cover
all needs )
ď˘ Ability to go through certification
Support :
ď˘ Generic support mailbox and call center
ď˘ PHP skill center to help projects along its lifecycle
(from development to production
ď˘ Audit Application
ď¨ You must have an application that register all requests for assistance in order
to have dashboards and statistics
24. 24PHP at Orange, the keys for industrialization â 2010
Workshop #7 & 8 : Capitalize & Communicatio
Capitalize :
ď˘ every assistance should be referenced and classified for reuse if
necessary so as not to waste time
Communicate :
ď˘ Creating a community gathering all developers (monthly meeting)
ď˘ Build a web portail for the PHP skill center (you can find there
documentations and recommendations)
ď¨ Construction of a comprehensive solution for communication
around all the services (portal, forum, newsletter, mailing, ...)
ď¨We developed a special application in order to capitalize and
to help PHP developers
26. 26PHP at Orange, the keys for industrialization â 2010
(finally we can still reuse the wheel..... The PHP and PHENIX
wheel ;-)
1200+ requests per month
to the PHP skill center
Monthly report per project
statistics
370 projects in pre-production
450 projects in production
10 new projects per month
98% availability
based on 60 VMs
300+ users per month
selfcare phenix
ď¨ 120 000+ users per month to application host on Phenix platform
350+ users monthly for the PHP portal
300+ Zend Studio licenses installed
60 VM installed for developpers
100+ participants to PHP meetings
120+ developpers trained in 2009
Conclusion
Vous devez avoir une application qui rĂŠfĂŠrencent toutes les demandes dâassistances, et donner la visibilitĂŠ aux projets pour connaitre lâĂŠtat dâavancement de leur demande