How Opensource / Open
Technology could help on your
Project / Startup
wanleung - 19th Oct 2013
This talk is for Who?
● Newbie in the Open source world
● Startups
● For those who want to start a new software
project
● ...
This talk is for Who?
For those, Who think writing Software is just a
piece of cake,
something like just clicking a button...
About Me
● Vice-Chairman of the HKLUG
● Over 10 years experience on Linux
● Experience on Backend services, website,
web A...
About Me
● Co-founder of LinkOmnia
● http://www.linkomnia.com
● Providing services on Consultancy and
Customized Products
...
Why use Opensource?
● Free Licenses (MIT, Apache, LGPL...)
● Cost effective
● existing solutions / similar solutions - nee...
What can we use?
Database:
● (SQL) PostgreSQL, MySQL...
● (NoSQL) Redis, Cassandra, MongoDB...
● (Graph DB) neo4j, Rexster...
What can we use?
Common Web / API Frameworks:
● Dancer, Catalyst... (Perl)
● Django, Grok, Pylons, TurboGears...
(Python)
...
What can we use?
● Nginx, Apache, Tomcat (webserver, reverse
proxy)
● haproxy, pound (reverse proxy)
● squid (web proxy)
●...
What can we use?
● LibreOffice, KOffice, Abiwords, Numeric
(Office Tools)
● VSFTPD, ProFTPD (FTP Server)
Bootstrap (CSS), ...
What can we use?
●
●
●
●

Google is your good friend
Github is your good friend
Forums are also your good friends
Join the...
How to use them Right?
What is the aim of the project?
What is the scope of the project?
How many time or stages to commit...
How to use them Right?
Does the product need servers?
Does the servers need high-availability?
How important of the data?
...
How to use them Right?
Think about the behavior of the user.
How many request and update on the user on
each time using?
D...
How to use them Right?
The user has to see the update “Instantly”.
The other users also have to see the update
“Instantly”...
How to use them Right?
Those questions you have to ask yourself
before you start your project.
Software is not totally vir...
How to use them Right?
Security is Important. Do it first. It is hard to
change afterward.
Hacking is everywhere.
Don’t th...
How to use them Right?
System Design: Think Large
But execute in small scope first.

Large system = many components
= comp...
How to use them Right?
Think Large = Prepared how to scale up
Start in small scope = few components
= Less code
= Less bug...
How to use them Right?
Less is More
Get feedback from users and change much
easier.
Time == Money
How to use them Right?
Database is not just a Data bin.
A good data structure
= better organise
= better indexing
= better...
How to use them Right?
Web server:
Concurrency User
Connection Pool
Proxy
Cache
Message Queue
Deployment tools
Monitoring ...
How to use them Right?
●
●
●
●

Google is your good friend
Github is your good friend
Forums are also your good friends
Jo...
Failure Example
Miss Hong Kong 2012 Voting System
Common Server Design
Common Server Design
Common Server Design
Common Server Design
Common Server Design
Q&A
Thanks.
Upcoming SlideShare
Loading in...5
×

How open source / open technology could help on your project / startup

779

Published on

How open source / open technology could help on your project / startup

A Talk in Hong Kong Open Source Conference 2013
http://www.youtube.com/watch?v=obgyJUxKzaQ

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

  • Be the first to like this

No Downloads
Views
Total Views
779
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
4
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

How open source / open technology could help on your project / startup

  1. 1. How Opensource / Open Technology could help on your Project / Startup wanleung - 19th Oct 2013
  2. 2. This talk is for Who? ● Newbie in the Open source world ● Startups ● For those who want to start a new software project ● For those who want to work in the software development field.
  3. 3. This talk is for Who? For those, Who think writing Software is just a piece of cake, something like just clicking a button, a Facebook clone or Whatsapp clone will be come out in 60 seconds =P (joking)
  4. 4. About Me ● Vice-Chairman of the HKLUG ● Over 10 years experience on Linux ● Experience on Backend services, website, web API development ● Experience on virtualization and Cloud Farm building ● http://about.me/wanleung
  5. 5. About Me ● Co-founder of LinkOmnia ● http://www.linkomnia.com ● Providing services on Consultancy and Customized Products ● Strengths on Cloud Computing and Big Data
  6. 6. Why use Opensource? ● Free Licenses (MIT, Apache, LGPL...) ● Cost effective ● existing solutions / similar solutions - need not to reinvent the wheel ● Have Rights to modify and fit into the business models / the requirement of the clients. ● Helps are all over the world
  7. 7. What can we use? Database: ● (SQL) PostgreSQL, MySQL... ● (NoSQL) Redis, Cassandra, MongoDB... ● (Graph DB) neo4j, Rexster… File base: SQLite, BDB...
  8. 8. What can we use? Common Web / API Frameworks: ● Dancer, Catalyst... (Perl) ● Django, Grok, Pylons, TurboGears... (Python) ● Kohana, cakephp… (Php) ● Revel, go-restful... (Go lang) ● Ruby on Rails (Ruby) ● mojito, blueprint (node.js)
  9. 9. What can we use? ● Nginx, Apache, Tomcat (webserver, reverse proxy) ● haproxy, pound (reverse proxy) ● squid (web proxy) ● ImageMagick, GIMP, OpenCV...(Image Processing) ● RabbitMQ, ActiveMQ (Message Queue) ● Postfix, exim (Mail Server), dovecot (IMAP, POP3)
  10. 10. What can we use? ● LibreOffice, KOffice, Abiwords, Numeric (Office Tools) ● VSFTPD, ProFTPD (FTP Server) Bootstrap (CSS), jQuery (Javascript), Prototype (Javascript) And More, and more...
  11. 11. What can we use? ● ● ● ● Google is your good friend Github is your good friend Forums are also your good friends Join the local Open source communities Please Don’t hesitate to ask questions And Please Don’t hesitate to answer questions
  12. 12. How to use them Right? What is the aim of the project? What is the scope of the project? How many time or stages to commit? How many users you want to support on each stage?
  13. 13. How to use them Right? Does the product need servers? Does the servers need high-availability? How important of the data? How frequent of the data update? How frequent of the data request? How large of the data set? What is the relations between each data? How many dimensions?
  14. 14. How to use them Right? Think about the behavior of the user. How many request and update on the user on each time using? Does the user accept the down time? How long?
  15. 15. How to use them Right? The user has to see the update “Instantly”. The other users also have to see the update “Instantly”. What is the meaning of “Instantly/Now/Present”? Does it accept delay? What will happen if the user saw an Error page or waiting for the request for a long time?
  16. 16. How to use them Right? Those questions you have to ask yourself before you start your project. Software is not totally virtual, Software is also limited by the physical hardwares. Different Answers will affect the use of technology, tools, design, UX, Development Time & Cost.
  17. 17. How to use them Right? Security is Important. Do it first. It is hard to change afterward. Hacking is everywhere. Don’t think small site won’t get attack. Beware SQL injection, API/CGI injection Use the Right security method, especially in Password store and Password Recovering.
  18. 18. How to use them Right? System Design: Think Large But execute in small scope first. Large system = many components = complicate = Time = Money
  19. 19. How to use them Right? Think Large = Prepared how to scale up Start in small scope = few components = Less code = Less bug = easy to fix
  20. 20. How to use them Right? Less is More Get feedback from users and change much easier. Time == Money
  21. 21. How to use them Right? Database is not just a Data bin. A good data structure = better organise = better indexing = better performance = faster Repacation == High availability Backup == Data Recovery
  22. 22. How to use them Right? Web server: Concurrency User Connection Pool Proxy Cache Message Queue Deployment tools Monitoring tools
  23. 23. How to use them Right? ● ● ● ● Google is your good friend Github is your good friend Forums are also your good friends Join the local Open source communities Please Don’t hesitate to ask questions And Please Don’t hesitate to answer questions
  24. 24. Failure Example Miss Hong Kong 2012 Voting System
  25. 25. Common Server Design
  26. 26. Common Server Design
  27. 27. Common Server Design
  28. 28. Common Server Design
  29. 29. Common Server Design
  30. 30. Q&A Thanks.
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.

×