prototype4production presented at fossasia2015 at singapore

25
Prototype for Production Use FOSS smartly to Deliver your ideas with Speed and Quality

Upload: dhruv-gohil

Post on 17-Jul-2015

131 views

Category:

Technology


1 download

TRANSCRIPT

Page 1: Prototype4Production Presented at FOSSASIA2015 at Singapore

Prototype for Production

Use FOSS smartly to Deliver your ideas with

Speed and Quality

Page 2: Prototype4Production Presented at FOSSASIA2015 at Singapore

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..

Page 3: Prototype4Production Presented at FOSSASIA2015 at Singapore

..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 ;-)

Page 4: Prototype4Production Presented at FOSSASIA2015 at Singapore

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

Page 5: Prototype4Production Presented at FOSSASIA2015 at Singapore

Let’s divide and rule!

Phase 1: Things about IDEA

Phase 2: Things about Execution

Phase 3: Continues Improvements

Page 6: Prototype4Production Presented at FOSSASIA2015 at Singapore

Abstract to Actionable

Phase1 : IDEA

Page 7: Prototype4Production Presented at FOSSASIA2015 at Singapore

Business Model Hypotheses

http://practicetrumpstheory.com/businessmodelcanvas/

Page 8: Prototype4Production Presented at FOSSASIA2015 at Singapore

(Lean) Business Model Canvas

http://www.leanstack.com/

Page 9: Prototype4Production Presented at FOSSASIA2015 at Singapore

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

Page 10: Prototype4Production Presented at FOSSASIA2015 at Singapore

Actionable to Measurable

Phase2 : Execution

Page 11: Prototype4Production Presented at FOSSASIA2015 at Singapore

Trello : Boards that Boosts!

https://community.uservoice.com/blog/trello-google-docs-product-management/

Page 12: Prototype4Production Presented at FOSSASIA2015 at Singapore

Trello : Boards that Executes ;-)

https://community.uservoice.com/blog/trello-google-docs-product-management/

Page 13: Prototype4Production Presented at FOSSASIA2015 at Singapore

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

Page 14: Prototype4Production Presented at FOSSASIA2015 at Singapore

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

Page 15: Prototype4Production Presented at FOSSASIA2015 at Singapore

Data Migration : Git for database!

● Django is serious about migrationo Auto migration

o Full manual mode

Page 16: Prototype4Production Presented at FOSSASIA2015 at Singapore

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

Page 17: Prototype4Production Presented at FOSSASIA2015 at Singapore

Ansible : Git for Infrastructure!

● Cool as git

● Simple as SSH

● Works as puppeto 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!

Page 18: Prototype4Production Presented at FOSSASIA2015 at Singapore

Ansible : Templatize configuration

dbname: myAppDB

dbuser: myAppDBUser

[webservers]

webserver1

webserver2

hosts file vars file

Page 19: Prototype4Production Presented at FOSSASIA2015 at Singapore

SupervisorD: Integrating with Non

Python Stuff

● Run java service in background

Page 20: Prototype4Production Presented at FOSSASIA2015 at Singapore

Measure to Take Action

Phase 3 : Continues

Improvement

Page 21: Prototype4Production Presented at FOSSASIA2015 at Singapore

Learning: There is no separate phase-3

Phase 3 :

Execution tools/Design

must support Continuous

Improvement

Page 22: Prototype4Production Presented at FOSSASIA2015 at Singapore

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.

Page 23: Prototype4Production Presented at FOSSASIA2015 at Singapore

PsDash : Monitor ThingsMonitor live process, Load Avg, Open Files, Network state, Disk Space,

Even tail & search logs!

https://github.com/Jahaja/psdash

Page 24: Prototype4Production Presented at FOSSASIA2015 at Singapore

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

Page 25: Prototype4Production Presented at FOSSASIA2015 at Singapore

Thanks! -

@yourFriendDhruv

yourFriendDhruv@Gmail

+yourFriendDhruv

+ =