application depolyment
Post on 20-Oct-2014
193 views
DESCRIPTION
TRANSCRIPT
Application Deployment
By Shrikant Lokhande
Exclusive For SBS.
© 2012 Shrikant Lokhande All rights reserved.
1. Proper skeleton using Capistrano remote deployment. Directory Structure as follows: myapp/releases |_ 20081019001122 20081019001123 myapp/current -> releases/20081019001122 # Sym link current. myapp/shared |_ images config |_ config.php myapp/system |_maintenance.html
2. Proper Permission. File's and Folder's
3. Backend process
Configuration And Management.
4. SEO optimization. Check which URLs feeds are submitted to webmaster.
http://devgrow.com/quick-seo-tip-set-preferred-domain-in-google-webmaster-tools/
5. Source code under Git (Version Control). Maintained Branches as per release.
http://philsturgeon.co.uk/blog/2010/02/Deploying-websites-with-Git
6. Source code should be Clean. (Do not push any unused file/folder's in that)
7. Rewrite Rules / URL's
8. Should be use oops Language's like:
Python, Ruby, Jruby, Java for Frontend and Backend for application scalability.
9. Always use and work on cutting edge technology.
10. If using Check Framework/API/Library/Plugins versions for Application.
11. Simple and quick setup.
12. Check Efficiency and Scalability.
# NewRelic ? http://newrelic.com/php
13. Stress testing with using testing tools Like: Apache benchmark (ab)
14. Check the performance tool. i.e. yslow and firebug. http://developer.yahoo.com/performance/rules.html
15. Images should lightweight for serving. Create in .PNG format from designer. http://www.codinghorror.com/blog/2007/03/getting-the-most-out-of-png.html
16.CDN setup and update DNS records for serving only static content.http://www.codinghorror.com/blog/2007/03/using-amazon-s3-as-an-image-hosting-service.html
17. Exception notification for Application.
18. No hard coding please.
19. Bug/Testing resolve dependency.
20. Error Pages. ( If the links broken) use 404 for not found. if break URLS redirect to home path.
21. Only one DB and SMTP config file for each application. Do not add DB connection and SMTP in any .php file.
22. We all should know and follow the Agile Development. http://en.wikipedia.org/wiki/Agile_software_development
23. After production deployment will not change any things manually. If we found it should to update it will go in next release.
24. Enable Error Logs and Access Logs for Application
25. Add SSL for site if there is any account activity done.
26. Understanding of software designing.
27. Good in estimation.
28. Involved in code review and check coding stranded. With PM, Dev, Operation Team.
29. Contribution towards performance, stability and operation of the app
30. Strategy: Start 1. create revision and functionality for the release. 2. List the changes and To do's in revision. 3. Updates on local/staging 4. Testing and Bug fix. 5. Push to production. End.
31. Production deploy only on weekdays Tuesday or Wednesday, so everyone in office. Starting Time: 10:00 Am End Time : 5:00 PM #After that will stop deployment.
Planning2
Shrikant Lokhande
Proper Planning and discussion. All should be on same page.
If site down should show Maintenance page on website.
Continuous Integration and Proper development and deployment
Do major services optimization.
Httpd, mysql, if any other.
Database side optimization. Do plan which database is suitable for our application.
e.g. pgsql,nosql,mongodb,mysql,percona,tok
yo cabinet
Database Slow query optimization. Make it to faster to them.
Master-master, Master-slave, Multi master environment.
Mail server configuration. All set with mail server
prospective.
Work on critical task.
Proper server management by server admin only. There will no any kind
of access for developers.
Backup and Restoration plan and management.
AWS S3, NFS. Volume, Snapshot, Backup Directory.
The good comes not from the code or the features,but process standardization.