Your SlideShare is downloading. ×
0
Software Deployment, Maintenance & Evolution
Software Deployment, Maintenance & Evolution
Software Deployment, Maintenance & Evolution
Software Deployment, Maintenance & Evolution
Software Deployment, Maintenance & Evolution
Software Deployment, Maintenance & Evolution
Software Deployment, Maintenance & Evolution
Software Deployment, Maintenance & Evolution
Software Deployment, Maintenance & Evolution
Software Deployment, Maintenance & Evolution
Software Deployment, Maintenance & Evolution
Software Deployment, Maintenance & Evolution
Software Deployment, Maintenance & Evolution
Software Deployment, Maintenance & Evolution
Software Deployment, Maintenance & Evolution
Software Deployment, Maintenance & Evolution
Software Deployment, Maintenance & Evolution
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×
Saving this for later? Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime – even offline.
Text the download link to your phone
Standard text messaging rates apply

Software Deployment, Maintenance & Evolution

582

Published on

Guest talk for HIT3311 Software Deployment and Evolution

Guest talk for HIT3311 Software Deployment and Evolution

Published in: Technology
0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
582
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
6
Comments
0
Likes
1
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

  • 1. Deployment, Maintenance & Evolution Benny Chew
  • 2. Brief Background- BSc (Computer Science & Software Engineering) - 2006- Infrastructure Engineer at Adslot (subsidiary of Webfirm Group Ltd)- Adslot platforms provide self serve sales tools, ad building and ad serving for publishers- Current clients - REA Group, Carsales.com, Realestate.co.nz, SeLoger- But first, we shall go back in time..
  • 3. QDC- Startup focused on personalised advertising- MySQL + Java + Adobe Flash/Flex RIA- Client-server architecture, with separate backend services for rendering, distribution, reporting- Physical windows servers for application/DB- Linux server for version control (Subversion), wiki/issue management (Trac)
  • 4. Adlizard- In print advertising wanting to move to digital- Simplify personalisation tech we have, just support self serve banner advertising (ad builder)- Chance to refactor!
  • 5. Issues and Solutions- Only part of the old app relevant -> Extracted decompile/recompile tech, new app wraps around this core- Manual cobbling of boilerplate code -> Automatic code generation from DB schema- Windows licensing costs -> Re-tested core tech in Linux, migrated to UbuntuServer- Lack of automated testing/builds -> Implemented Hudson (Jenkins) to drive ANT tasks automatically
  • 6. Issues and Solutions- Obsolete expensive physical hardware, application availability -> Architected and implemented on AWS -> Implemented nginx (reverse proxy), DNS failover -> Switched file asset management to use S3- AWS was still only US East, slow asset loads -> Implemented usage of a CDN with origin server
  • 7. Adslot- Acquired IP of QDC (Ad builder), Adimise (Ad server) - combine with its sales platform- Should present itself as a seamless integrated user experience- Heres the tech we ended up with..
  • 8. The List- Java, C#.NET- Hibernate, Quartz, NHibernate, Quartz.NET- Flex, ASP.NET MVC3- JUnit, xUnit- ANT / BASH, MSBuild / Rake- nginx / GlassFish, IIS- MySQL, MS SQL Server- Jenkins, TeamCity- Linux, Windows- AWS, Ultraserve
  • 9. Issues- Separate code repositories, wikis, hosting, CI- Silo-ed development, testing, deploy strategies withineach division- No visibility - too many moving parts- Lack of automation, low level of guarantee of reproducibility- Slow turnaround times to support our agile processes
  • 10. Solutions- Automated all manual tasks used for deployment- Version controlled all required files- Consolidated CI - create single point of truth- Created Adslots internal PaaS solution- Consolidated on AWS from development to production environments- Switched to GitHub- Created Adslots continuous delivery (still evolving) workflow
  • 11. Adslot Continuous Delivery- Derived from continuous integration, automated testing and continuous deployment processes- Tailored to suit Adslots version of the agile development process- Multiple products, client UAT requirements- Tech we used for this: -> Jenkins, Watir, ANT, Rake, makefile, Bash and batch support scripts, DB migrations
  • 12. Radiator View
  • 13. Then we did more things..- Developed new lightweight ad server in node.js and redis (in production)- Ad builder reworked to use node.js and MongoDB (beta)- Centralised logging across all products with Graylog2
  • 14. Ending Notes- Constant learning, monitoring, improvement- Keep things simple, avoid over engineering
  • 15. Questions? Benny Chew (Adslot) http://cardcloud.com/benny

×