technology, performance and scalability - presentation - anjesh tuladhar

23
Technology, Performance and Scalability Anjesh Tuladhar YoungInnovations

Upload: mobilenepal

Post on 29-Jun-2015

149 views

Category:

Technology


1 download

DESCRIPTION

Mr. Anjesh Tuladhar, one of the trainers during Ncell App Camp 2014, talked about the what the participants should do now for the competition and have a vision for future regarding their apps in terms of technology, performance and scalability.

TRANSCRIPT

Page 1: Technology, Performance and Scalability - Presentation - Anjesh Tuladhar

Technology, Performance and Scalability

Anjesh TuladharYoungInnovations

Page 2: Technology, Performance and Scalability - Presentation - Anjesh Tuladhar

Ebay: Current statusRevenue: USD 16 billion (2013)Employees: 33500 (2013)

Q3 2012 Q3 2013 Q3 20140

20

40

60

80

100

120

140

160

108.3

134.9

152.3

Ebay Users (in millions)

Page 3: Technology, Performance and Scalability - Presentation - Anjesh Tuladhar

Ebay: Evolvement over time1995 – set of perl scripts build over a weekend

1997 – replaced with C++ system

2002 – rewritten in java

Right architecture to support 1995-ebay isn’t going to be right one for 2002-ebay

Page 4: Technology, Performance and Scalability - Presentation - Anjesh Tuladhar

How many users will be using your app in 1-3 months?

1,000,000100,000

10,0001,000

10010

1

Page 5: Technology, Performance and Scalability - Presentation - Anjesh Tuladhar

How can your app attract the first

100/10/1 users

to pay for the services your app provides? ?

Page 6: Technology, Performance and Scalability - Presentation - Anjesh Tuladhar

How much

time do you have to build the application

?

Page 7: Technology, Performance and Scalability - Presentation - Anjesh Tuladhar

Focus?

• Business case• User Experience and Design• Minimum Viable Product (MVP)

Page 8: Technology, Performance and Scalability - Presentation - Anjesh Tuladhar

MVP

Minimum Viable Product is the small thing you can build that delivers customer value

Doesn’t mean unfinished product at all!

Analyse each feature and ask what if I take it out

Page 9: Technology, Performance and Scalability - Presentation - Anjesh Tuladhar

Technology• Technology is definitely Important• Just remember– No over-engineering

Page 10: Technology, Performance and Scalability - Presentation - Anjesh Tuladhar

Avoid Over-engineering

Over-engineered design is design that leads to difficulty in implementation, makes maintenance a nightmare, and turns otherwise simple code into a twisty maze of complexity

Page 11: Technology, Performance and Scalability - Presentation - Anjesh Tuladhar

Strategy pattern

Page 12: Technology, Performance and Scalability - Presentation - Anjesh Tuladhar

Strategy pattern vs

Simple Switch case

Page 13: Technology, Performance and Scalability - Presentation - Anjesh Tuladhar

High-level Architecture

mobileWeb

SystemAPIinternet

Page 14: Technology, Performance and Scalability - Presentation - Anjesh Tuladhar

Web services?• SOAP• REST• JSON-RPC• …

Page 15: Technology, Performance and Scalability - Presentation - Anjesh Tuladhar

Security in API• Do you want to over-engineer the security or just have in basic

setup– Basic authentication– Oauth– Custom

• Maybe start with basic and then later move on to Oauth or other more secure mechanism

Don’t risk the personal info of your users

Page 16: Technology, Performance and Scalability - Presentation - Anjesh Tuladhar

Error handling• Errors are part of your application. • Does your application handle the errors well?• Do you think your user will come back to use your

buggy app?

There will be no excuse if you app was working yesterday or just an hour ago.

Page 17: Technology, Performance and Scalability - Presentation - Anjesh Tuladhar

Source code versioning• Make sure you always have the good commit to come

back to

Page 18: Technology, Performance and Scalability - Presentation - Anjesh Tuladhar

Are tests important?No if you can sleep sound at night

100% coverage is not needed, but make sure that the key functions have unit-tests

Page 19: Technology, Performance and Scalability - Presentation - Anjesh Tuladhar

Automated DeploymentDo you want to save time during your deployment?

Do you want to avoid panic during last minute deployment?

Page 20: Technology, Performance and Scalability - Presentation - Anjesh Tuladhar

Performance• Is you app slow to use and respond?• Performance can also get hit by users – maybe it’s

little early to look into users hit performance

Your interface should be quick to load and provide feedback

Page 21: Technology, Performance and Scalability - Presentation - Anjesh Tuladhar

ScalabilityHow important is it now?Your near future user base is the answer.

Scalability is ability to handle more users

Page 22: Technology, Performance and Scalability - Presentation - Anjesh Tuladhar

What are the minimum key features (MVP) that you can have in your app

in the limited time for the first 100/10/1 users and

get paid for your services?

Page 23: Technology, Performance and Scalability - Presentation - Anjesh Tuladhar

Thank you