The document discusses using free and open source software (FOSS) tools to quickly develop and launch ideas with production quality. It outlines a three phase approach: 1) defining the business idea, 2) executing the idea using tools like Trello, Git, Django, PostgreSQL, Ansible, and SupervisorD, and 3) continuously improving using tools like PsDash to monitor performance and writing tests to generate reports. The presenter advocates for FOSS tools and shares code snippets and best practices to integrate them for developing and deploying applications.
2. What’s in it for you?
● If you have an Idea and want to launch it in a
week with production quality using free &
open source tools.
● If you are a DevOps looking for code
snippets of real life usage cases.
● ...Or..
3. ..or.. If you just love to hear about
Django
NLP
Ansible
LibreOffice
AngujarJS
REST APIs
Postgresql
Editors
Supervisord Diagram Tools
Nginx+Uwsgi Test Reports
Trello
Git
Agile, Business Model Canvas…
…. & Simple common sense ;-)
4. Who am I?
FOSS Advocate everywhere
Delivering BigData products to Telco giants @Ishisystems
was part of Apache Hadoop contributor team @Huawei
was building JavaEE products for Telco @IBM
Driving Largest Meetup Group in State Gujarat,India
- More @ end of presentation, if we have time ;-)
- If you are reading this then you should tweet me @yourfrienddhruv
5. Let’s divide and rule!
Phase 1: Things about IDEA
Phase 2: Things about Execution
Phase 3: Continues Improvements
9. Do's &
Dont’s
● Iterate multiple times
● Iterate in parallel
● Let whole team agree
on BMC
● Don’t create BMC with
hi-fi tools (just use
docs/whiteboard)
● Don’t complicate single
BMC
11. Trello : Boards that Boosts!
https://community.uservoice.com/blog/trello-google-docs-product-management/
12. Trello : Boards that Executes ;-)
https://community.uservoice.com/blog/trello-google-docs-product-management/
13. GIT : branch me if you can
- Master based git development
- “master” => always ready for Production.
- use “develop” branch as working branch
- each branch must represent fully working release..
- else .. Don’t branch!
- use Feature Flags
14. The real meat: Django!
● One of the best frameworks which provides
out of the box Production readiness
● One of the best doc, from where copy
pasted code can actually work in production!
● Lot of extension points:
o Make it work first => then make it correct.
● Django is awesome:
o but will talk about only few relevant features to
highlight integration
15. Data Migration : Git for database!
● Django is serious about migration
o Auto migration
o Full manual mode
16. PostgreSQL : Pinnacle in FOSS DB
● “Use Blue elephant before trying out Yellow elephant” - @yourfrienddhruv
● Again, talking about only few PostgreSQL thing here
● Full Text Search
o Without writing Lot of code, without running external services!
o https://github.com/niwibe/djorm-ext-pgfulltext
o Full pros/cons
https://news.ycombinator.com/item?id=8714477
17. Ansible : Git for Infrastructure!
● Cool as git
● Simple as SSH
● Works as puppet
o but does it install like puppet :Hell NO!
● Template like Markdown
● Modularize like Django
I see docker there: Yes but not enough time to talk about it now, Sorry!
21. Learning: There is no separate phase-3
Phase 3 :
Execution tools/Design
must support Continuous
Improvement
22. Few quick things helps you measure
● Measure Python API performance!
o Google UA python Tracker
o Actually you can send some meta data too ;-)
o P.S: For production kindly use reverseAsyncProxy to avoid slowdown
in case of slow HTTPS calls to GA.
23. PsDash : Monitor ThingsMonitor live process, Load Avg, Open Files, Network state, Disk Space,
Even tail & search logs!
https://github.com/Jahaja/psdash
24. QA:Test and Report Business Cases
Use even simple tools:
Write simple Shell/Python script to invoke Django CLI custom
commands to trigger tests which produces Json Results
https://github.com/yourfrienddhruv/SPARTA