SlideShare une entreprise Scribd logo
1  sur  46
Télécharger pour lire hors ligne
Allan Chao
Startup Consultant
Startup V8
allan@startupv8.com

UC Berkeley Extension, Summer 2012
Question of the day:
How many people are involved
in building a web application?
The Agenda
 Quiz
 Quick review of last session


 Servers, Hosting
 Deployment
 Release Cycles, Project Management
 Engineering management
Quiz Time

  Good luck!

10 minutes max
Quick review of prior material
                                               Databases
 IDE Comparison
                                                  Database model
     Notepad++
                                                  Entity relationship model
     NetBeans
                                                  SQL
     Visual Studio
                                               Database Engines
 Backend Programming
                                                  RDBMS
     Truly requires clarification of ideas
                                                  MYSQL
     Complexity
                                                  SQL Server
     Programming Languages
                                               APIs
 Programming example (calculator)
                                                  Application Programing Interface
     Backend integration with frontend
                                                  Precautions
     ASP.NET
                                                  SDK = Software Development Kit
     Error validation
                                               Technology Stacks
 Principles of Programming
                                                  Many different options in different layers
     Some code is better than others
                                                  LAMP = Linux Apache Mysql PHP
     Mistakes have a high cost
                                                  WINS = Windows IIS .NET SQL Server
What is Hosting?
 Where you store the code
 Makes the website publicly-accessible
 What you’re paying for:
   Physical components
       Disk space (space in GB)
       Memory (RAM)
       Processing power (CPU)
   Datacenter costs
     Electricity
     Cooling
     Network Bandwidth

   Administration (technical skill)
What is a server?
 Physical machine
 Usually horizontal, 1-2 inches tall
 Designed and built for reliability, not features
 Lots of redundant components
What is a data center?
 A.k.a. Server farm
 Lots of computers
 Room gets hot…
 Lots of fans, very
  loud
 High security
3 most common hosting options
 3 most common hosting options
    Dedicated Hosting
    Shared Hosting
    Virtual Private Server (VPS)


 Other hosting options
   Colocation
   Cloud hosting
Dedicated Hosting
 Means you rent a physical machine provided by the
  host
   Hardware options provided by the host, you pick one
   Tends to be around $200-1000/month per machine,
    depending on quality
 Great option for almost-total control


 When is it right?
   If you need lots of power and control.
    However, costs can be high.
Shared Hosting
 You “share” a dedicated host with other customers (you
  don’t know who they are)
    Share CPU-power
    Share network connection
    Sometimes, share IP address
 You have limited access to the computer, so less flexibility


 When is it right?
   Generally a poor choice for startups
   Better choice for small business websites
Virtual Private Server (VPS)
 Virtual Private Server = “virtual machine”
 Like having a dedicated server, except that there isn’t a
  physical machine you own.
 Your machine is a “virtual” machine, that lives inside
  of a physical machine.

 • When is it right?
    • Low cost way of having lots
      of control.
    • Great option to start
Colocation
 Means you buy your own physical machine
    Much more expensive than consumer machines… generally costs
     at least $4,000, easily $10,000
    In addition to monthly fees to data center
 You choose the hardware
   Maximum flexibility regarding the hardware used (e.g. fancy servers and
    storage configurations)
 You manage everything.
   Requires more effort and management compared to cloud and managed


 When is it right?
   Best for maturing startups that can afford costly servers and hire
    staff to manage them
Cloud Hosting
 “Pay as you go”, pay-for-use
 Amazon EC2, S3
 Good for starting out when server needs are unknown and
  it’s easy to scale up and down quickly
 Best for environments that have differing scale needs on a
  regular basis
    (e.g. imagine you normally need 20 servers but for a few
     hours each night you need 100 servers to crunch data)

 When is it right?
   Great low-cost way to start, but limitations can be
    frustrating
   Excellent choice if sudden scale is needed
Comparison
                Managed (dedicated, Colocation      Cloud
                shared, VPS)        (aka colo)
Cost at first   Average             Very high       Very low
Cost at scale   Average-high        Low             Very high
Flexibility     Medium              Very flexible   Not flexible
Management      Depends on host     You manage      Harder to manage
Tools for hosting
 Who is hosting a website?
   http://www.whoishostingthis.com
   Note that high-traffic websites run their own data
    centers
Rackspace
 http://www.rackspacestartups.com/
Try Buying Hosting
 Cheaper and lower-quality options
    Your domain registrant
    Bluehost, dreamhost, etc.


 Better and more expensive options
    Rackspace
    Softlayer
Deployment
 Deployment = Release = Shipping


 The process of getting a website from your local
 machine to the host
   Once it is on the host, it’s viewable by the public
FTP
 File Transfer Protocol
    Very old way of transferring files
 We’ll use Filezilla
Practice Deploying
 FTP Connect to 208.79.77.29
 Username class
 Password: same password as classroom computers




 Create a folder with your name (lowercase, one word)
 Upload your HTML files
 Test it at http://class.testing.startupv8.com/yourname
Multiple Environments
 Risks of single-environment
    Accidental deployment
    Very hard to recover in production
        High cost, high pressure, lots of “site is down” time
 Dev > QA > Staging > Production
   The “build” process
   Automated tests
   Automatic documentation and/or release notes
   Automatically moving from one stage to another
        “latest build”, “nightly build”, “build 142”
Advanced Deployment Tools
 Beyond Compare (like FTP, but highlights line-by-line
  differences)
 Custom programs
   Write your own script that copies files
 Available software
    xCopy / robocopy
    MSDeploy
    UrbanCode www.urbancode.com
Release Planning and Cycles
 Planning process of what
 to deploy and when
   MVP
   Version 2
   Version 3…
Case study: firefox
Project Management
 Starts off as…
    1 product owner, 1 designer, 1 engineer = 3 people
 Soon afterward…
    1 product owner, 1 designer, 3 engineers = 5 people
 Company grows…
    1 product owner, 2 designers, 4 engineers,
     1 project manager, 1 tester = 9 people

 Project management = coordination and allocation of
  people, time, money.
Gantt chart
 Like a waterfall process
 Great for known projects
 Less applicable for ongoing development
Agile Development
 Small, incremental Iterations
 1-2 weeks
 Standing meetings
 “Product owner”
 Burndown charts
Tools for Project Management
 FugBugz
 BaseCamp
 Trello
 Pivotal Tracker
Budgeting
 Very hard to budget new development projects
    How much does it cost to build a house? It depends


 Do a bottom up estimate, not a top down estimate
   A 2-story house in a specific subdivision with a garage
    and 3 bed 2 bath with the same interior that all the other
    houses in the subdivision have?
Ninety-ninety rule
Good project management
 Setting milestones
 Hitting the milestones
 Lots of communication


 Don’t change the features
 Go through the design process
Tips on Shipping
 Stick to a feature-set, and build it.
 Adding developers doesn’t always make the project finish sooner
 “The mythical man-month”

 Q: How does a large software project get to be one year late?
 A: One day at a time!
Deployments
on closed
platforms
 E.g. Apple App Store
    Unclear requirements
    Time consuming and
     frustrating
Hiring Developers
 Hiring full time developers
   Very hard, very expensive


 Part-time developers (freelancers)
    Tends to be the best option for startups


 Difficult even for engineers to assess skill in an interview
 Developers are almost never effective on joining a
  project… always takes training time
Managing Developers
 Great developers are very self-motivated
    They like to work on things they think are important
    They like to solve interesting problems
 Constant pressure is annoying
Extreme Programming
 A subtype of agile development
 Adds some elements
    Pair programming
    Extensive unit testing
    Flat management
Code Reviews
 Engineers look over each other’s code as a “second pair
  of eyes”
 Tends to result in much better code
 Also enables peer-to-peer training
Outsourcing
 Tends to be very difficult for startups
    Low quality work
        Offshore companies do not design
        And they produce low-quality code
   Poor communication
 The takeaway: tempting, but usually a net loss
Homework
 Individual, read the following:
    Read Michael Wolfe’s answer... http://www.quora.com/Engineering-Management/Why-
     are-software-development-task-estimations-regularly-off-by-a-factor-of-2-3
    Mythical man-month… http://en.wikipedia.org/wiki/The_Mythical_Man-Month


 (Team) Deploy your application
    If there’s no backend, that’s OK


 (Team) Keep Going!!
    Keep programming
    Keep working on the pitch deck
    Keep marketing your new startup
    Occasionally review the market research data (Google Analytics, etc.)

Contenu connexe

Tendances (7)

Silverlight 5
Silverlight 5Silverlight 5
Silverlight 5
 
Writing less code with Serverless on AWS at AWS User Group Nairobi
Writing less code with Serverless on AWS at AWS User Group NairobiWriting less code with Serverless on AWS at AWS User Group Nairobi
Writing less code with Serverless on AWS at AWS User Group Nairobi
 
CuriousMinds and Siemens in Brasov 2015 - Building and Developing for the Clo...
CuriousMinds and Siemens in Brasov 2015 - Building and Developing for the Clo...CuriousMinds and Siemens in Brasov 2015 - Building and Developing for the Clo...
CuriousMinds and Siemens in Brasov 2015 - Building and Developing for the Clo...
 
Os Long
Os LongOs Long
Os Long
 
Fast, Cheap
Fast, Cheap Fast, Cheap
Fast, Cheap
 
Os Alrubaie Ruby
Os Alrubaie RubyOs Alrubaie Ruby
Os Alrubaie Ruby
 
Os Krug
Os KrugOs Krug
Os Krug
 

Similaire à Class 7: Introduction to web technology entrepreneurship

DOs and DONTs on the way to 10M users
DOs and DONTs on the way to 10M usersDOs and DONTs on the way to 10M users
DOs and DONTs on the way to 10M users
Yoav Avrahami
 
Windows Azure & How to Deploy Wordress
Windows Azure & How to Deploy WordressWindows Azure & How to Deploy Wordress
Windows Azure & How to Deploy Wordress
George Kanellopoulos
 

Similaire à Class 7: Introduction to web technology entrepreneurship (20)

PHP – Faster And Cheaper. Scale Vertically with IBM i
PHP – Faster And Cheaper. Scale Vertically with IBM iPHP – Faster And Cheaper. Scale Vertically with IBM i
PHP – Faster And Cheaper. Scale Vertically with IBM i
 
The "Holy Grail" of Dev/Ops
The "Holy Grail" of Dev/OpsThe "Holy Grail" of Dev/Ops
The "Holy Grail" of Dev/Ops
 
DevOps, Continuous Integration and Deployment on AWS: Putting Money Back into...
DevOps, Continuous Integration and Deployment on AWS: Putting Money Back into...DevOps, Continuous Integration and Deployment on AWS: Putting Money Back into...
DevOps, Continuous Integration and Deployment on AWS: Putting Money Back into...
 
Devops continuousintegration and deployment onaws puttingmoneybackintoyourmis...
Devops continuousintegration and deployment onaws puttingmoneybackintoyourmis...Devops continuousintegration and deployment onaws puttingmoneybackintoyourmis...
Devops continuousintegration and deployment onaws puttingmoneybackintoyourmis...
 
RavenDB overview
RavenDB overviewRavenDB overview
RavenDB overview
 
UnConference for Georgia Southern Computer Science March 31, 2015
UnConference for Georgia Southern Computer Science March 31, 2015UnConference for Georgia Southern Computer Science March 31, 2015
UnConference for Georgia Southern Computer Science March 31, 2015
 
Experiences using CouchDB inside Microsoft's Azure team
Experiences using CouchDB inside Microsoft's Azure teamExperiences using CouchDB inside Microsoft's Azure team
Experiences using CouchDB inside Microsoft's Azure team
 
Austin Web Architecture
Austin Web ArchitectureAustin Web Architecture
Austin Web Architecture
 
Windows Azure Platform + PHP - Jonathan Wong
Windows Azure Platform + PHP - Jonathan WongWindows Azure Platform + PHP - Jonathan Wong
Windows Azure Platform + PHP - Jonathan Wong
 
Building Low Cost Scalable Web Applications Tools & Techniques
Building Low Cost Scalable Web Applications   Tools & TechniquesBuilding Low Cost Scalable Web Applications   Tools & Techniques
Building Low Cost Scalable Web Applications Tools & Techniques
 
[Capitole du Libre] #serverless -  mettez-le en oeuvre dans votre entreprise...
[Capitole du Libre] #serverless -  mettez-le en oeuvre dans votre entreprise...[Capitole du Libre] #serverless -  mettez-le en oeuvre dans votre entreprise...
[Capitole du Libre] #serverless -  mettez-le en oeuvre dans votre entreprise...
 
Building FoundationDB
Building FoundationDBBuilding FoundationDB
Building FoundationDB
 
2017 Microservices Practitioner Virtual Summit: Ancestry's Journey towards Mi...
2017 Microservices Practitioner Virtual Summit: Ancestry's Journey towards Mi...2017 Microservices Practitioner Virtual Summit: Ancestry's Journey towards Mi...
2017 Microservices Practitioner Virtual Summit: Ancestry's Journey towards Mi...
 
DOs and DONTs on the way to 10M users
DOs and DONTs on the way to 10M usersDOs and DONTs on the way to 10M users
DOs and DONTs on the way to 10M users
 
Writing less code with Serverless on AWS at FrOSCon 2021
Writing less code with Serverless on AWS at FrOSCon 2021Writing less code with Serverless on AWS at FrOSCon 2021
Writing less code with Serverless on AWS at FrOSCon 2021
 
Aws-What You Need to Know_Simon Elisha
Aws-What You Need to Know_Simon ElishaAws-What You Need to Know_Simon Elisha
Aws-What You Need to Know_Simon Elisha
 
The Next Big Thing: Serverless
The Next Big Thing: ServerlessThe Next Big Thing: Serverless
The Next Big Thing: Serverless
 
Gruntwork Executive Summary
Gruntwork Executive SummaryGruntwork Executive Summary
Gruntwork Executive Summary
 
Windows Azure & How to Deploy Wordress
Windows Azure & How to Deploy WordressWindows Azure & How to Deploy Wordress
Windows Azure & How to Deploy Wordress
 
Docker vs. Kubernetes vs. Serverless
Docker vs. Kubernetes vs. ServerlessDocker vs. Kubernetes vs. Serverless
Docker vs. Kubernetes vs. Serverless
 

Plus de allanchao

Class 10: Introduction to web technology entrepreneurship
Class 10: Introduction to web technology entrepreneurshipClass 10: Introduction to web technology entrepreneurship
Class 10: Introduction to web technology entrepreneurship
allanchao
 
Class 9: Introduction to web technology entrepreneurship
Class 9: Introduction to web technology entrepreneurshipClass 9: Introduction to web technology entrepreneurship
Class 9: Introduction to web technology entrepreneurship
allanchao
 
Class 4: Introduction to web technology entrepreneurship
Class 4: Introduction to web technology entrepreneurshipClass 4: Introduction to web technology entrepreneurship
Class 4: Introduction to web technology entrepreneurship
allanchao
 
Class 2: Introduction to web technology entrepreneurship
Class 2: Introduction to web technology entrepreneurship Class 2: Introduction to web technology entrepreneurship
Class 2: Introduction to web technology entrepreneurship
allanchao
 
Class 1: Introduction to web technology entrepreneurship
Class 1: Introduction to web technology entrepreneurship Class 1: Introduction to web technology entrepreneurship
Class 1: Introduction to web technology entrepreneurship
allanchao
 
Sba 20111003b - starting your own web startup
Sba   20111003b - starting your own web startupSba   20111003b - starting your own web startup
Sba 20111003b - starting your own web startup
allanchao
 

Plus de allanchao (6)

Class 10: Introduction to web technology entrepreneurship
Class 10: Introduction to web technology entrepreneurshipClass 10: Introduction to web technology entrepreneurship
Class 10: Introduction to web technology entrepreneurship
 
Class 9: Introduction to web technology entrepreneurship
Class 9: Introduction to web technology entrepreneurshipClass 9: Introduction to web technology entrepreneurship
Class 9: Introduction to web technology entrepreneurship
 
Class 4: Introduction to web technology entrepreneurship
Class 4: Introduction to web technology entrepreneurshipClass 4: Introduction to web technology entrepreneurship
Class 4: Introduction to web technology entrepreneurship
 
Class 2: Introduction to web technology entrepreneurship
Class 2: Introduction to web technology entrepreneurship Class 2: Introduction to web technology entrepreneurship
Class 2: Introduction to web technology entrepreneurship
 
Class 1: Introduction to web technology entrepreneurship
Class 1: Introduction to web technology entrepreneurship Class 1: Introduction to web technology entrepreneurship
Class 1: Introduction to web technology entrepreneurship
 
Sba 20111003b - starting your own web startup
Sba   20111003b - starting your own web startupSba   20111003b - starting your own web startup
Sba 20111003b - starting your own web startup
 

Dernier

Call Girls Electronic City Just Call 👗 7737669865 👗 Top Class Call Girl Servi...
Call Girls Electronic City Just Call 👗 7737669865 👗 Top Class Call Girl Servi...Call Girls Electronic City Just Call 👗 7737669865 👗 Top Class Call Girl Servi...
Call Girls Electronic City Just Call 👗 7737669865 👗 Top Class Call Girl Servi...
amitlee9823
 
Call Now ☎️🔝 9332606886🔝 Call Girls ❤ Service In Bhilwara Female Escorts Serv...
Call Now ☎️🔝 9332606886🔝 Call Girls ❤ Service In Bhilwara Female Escorts Serv...Call Now ☎️🔝 9332606886🔝 Call Girls ❤ Service In Bhilwara Female Escorts Serv...
Call Now ☎️🔝 9332606886🔝 Call Girls ❤ Service In Bhilwara Female Escorts Serv...
Anamikakaur10
 
Al Mizhar Dubai Escorts +971561403006 Escorts Service In Al Mizhar
Al Mizhar Dubai Escorts +971561403006 Escorts Service In Al MizharAl Mizhar Dubai Escorts +971561403006 Escorts Service In Al Mizhar
Al Mizhar Dubai Escorts +971561403006 Escorts Service In Al Mizhar
allensay1
 
Call Girls In Noida 959961⊹3876 Independent Escort Service Noida
Call Girls In Noida 959961⊹3876 Independent Escort Service NoidaCall Girls In Noida 959961⊹3876 Independent Escort Service Noida
Call Girls In Noida 959961⊹3876 Independent Escort Service Noida
dlhescort
 
FULL ENJOY Call Girls In Mahipalpur Delhi Contact Us 8377877756
FULL ENJOY Call Girls In Mahipalpur Delhi Contact Us 8377877756FULL ENJOY Call Girls In Mahipalpur Delhi Contact Us 8377877756
FULL ENJOY Call Girls In Mahipalpur Delhi Contact Us 8377877756
dollysharma2066
 
Nelamangala Call Girls: 🍓 7737669865 🍓 High Profile Model Escorts | Bangalore...
Nelamangala Call Girls: 🍓 7737669865 🍓 High Profile Model Escorts | Bangalore...Nelamangala Call Girls: 🍓 7737669865 🍓 High Profile Model Escorts | Bangalore...
Nelamangala Call Girls: 🍓 7737669865 🍓 High Profile Model Escorts | Bangalore...
amitlee9823
 
Russian Call Girls In Rajiv Chowk Gurgaon ❤️8448577510 ⊹Best Escorts Service ...
Russian Call Girls In Rajiv Chowk Gurgaon ❤️8448577510 ⊹Best Escorts Service ...Russian Call Girls In Rajiv Chowk Gurgaon ❤️8448577510 ⊹Best Escorts Service ...
Russian Call Girls In Rajiv Chowk Gurgaon ❤️8448577510 ⊹Best Escorts Service ...
lizamodels9
 
Call Girls From Raj Nagar Extension Ghaziabad❤️8448577510 ⊹Best Escorts Servi...
Call Girls From Raj Nagar Extension Ghaziabad❤️8448577510 ⊹Best Escorts Servi...Call Girls From Raj Nagar Extension Ghaziabad❤️8448577510 ⊹Best Escorts Servi...
Call Girls From Raj Nagar Extension Ghaziabad❤️8448577510 ⊹Best Escorts Servi...
lizamodels9
 
Call Girls Hebbal Just Call 👗 7737669865 👗 Top Class Call Girl Service Bangalore
Call Girls Hebbal Just Call 👗 7737669865 👗 Top Class Call Girl Service BangaloreCall Girls Hebbal Just Call 👗 7737669865 👗 Top Class Call Girl Service Bangalore
Call Girls Hebbal Just Call 👗 7737669865 👗 Top Class Call Girl Service Bangalore
amitlee9823
 
Call Girls Kengeri Satellite Town Just Call 👗 7737669865 👗 Top Class Call Gir...
Call Girls Kengeri Satellite Town Just Call 👗 7737669865 👗 Top Class Call Gir...Call Girls Kengeri Satellite Town Just Call 👗 7737669865 👗 Top Class Call Gir...
Call Girls Kengeri Satellite Town Just Call 👗 7737669865 👗 Top Class Call Gir...
amitlee9823
 
Quick Doctor In Kuwait +2773`7758`557 Kuwait Doha Qatar Dubai Abu Dhabi Sharj...
Quick Doctor In Kuwait +2773`7758`557 Kuwait Doha Qatar Dubai Abu Dhabi Sharj...Quick Doctor In Kuwait +2773`7758`557 Kuwait Doha Qatar Dubai Abu Dhabi Sharj...
Quick Doctor In Kuwait +2773`7758`557 Kuwait Doha Qatar Dubai Abu Dhabi Sharj...
daisycvs
 

Dernier (20)

How to Get Started in Social Media for Art League City
How to Get Started in Social Media for Art League CityHow to Get Started in Social Media for Art League City
How to Get Started in Social Media for Art League City
 
Call Girls Electronic City Just Call 👗 7737669865 👗 Top Class Call Girl Servi...
Call Girls Electronic City Just Call 👗 7737669865 👗 Top Class Call Girl Servi...Call Girls Electronic City Just Call 👗 7737669865 👗 Top Class Call Girl Servi...
Call Girls Electronic City Just Call 👗 7737669865 👗 Top Class Call Girl Servi...
 
Call Now ☎️🔝 9332606886🔝 Call Girls ❤ Service In Bhilwara Female Escorts Serv...
Call Now ☎️🔝 9332606886🔝 Call Girls ❤ Service In Bhilwara Female Escorts Serv...Call Now ☎️🔝 9332606886🔝 Call Girls ❤ Service In Bhilwara Female Escorts Serv...
Call Now ☎️🔝 9332606886🔝 Call Girls ❤ Service In Bhilwara Female Escorts Serv...
 
Cheap Rate Call Girls In Noida Sector 62 Metro 959961乂3876
Cheap Rate Call Girls In Noida Sector 62 Metro 959961乂3876Cheap Rate Call Girls In Noida Sector 62 Metro 959961乂3876
Cheap Rate Call Girls In Noida Sector 62 Metro 959961乂3876
 
Al Mizhar Dubai Escorts +971561403006 Escorts Service In Al Mizhar
Al Mizhar Dubai Escorts +971561403006 Escorts Service In Al MizharAl Mizhar Dubai Escorts +971561403006 Escorts Service In Al Mizhar
Al Mizhar Dubai Escorts +971561403006 Escorts Service In Al Mizhar
 
Falcon Invoice Discounting: The best investment platform in india for investors
Falcon Invoice Discounting: The best investment platform in india for investorsFalcon Invoice Discounting: The best investment platform in india for investors
Falcon Invoice Discounting: The best investment platform in india for investors
 
Call Girls In Noida 959961⊹3876 Independent Escort Service Noida
Call Girls In Noida 959961⊹3876 Independent Escort Service NoidaCall Girls In Noida 959961⊹3876 Independent Escort Service Noida
Call Girls In Noida 959961⊹3876 Independent Escort Service Noida
 
👉Chandigarh Call Girls 👉9878799926👉Just Call👉Chandigarh Call Girl In Chandiga...
👉Chandigarh Call Girls 👉9878799926👉Just Call👉Chandigarh Call Girl In Chandiga...👉Chandigarh Call Girls 👉9878799926👉Just Call👉Chandigarh Call Girl In Chandiga...
👉Chandigarh Call Girls 👉9878799926👉Just Call👉Chandigarh Call Girl In Chandiga...
 
Dr. Admir Softic_ presentation_Green Club_ENG.pdf
Dr. Admir Softic_ presentation_Green Club_ENG.pdfDr. Admir Softic_ presentation_Green Club_ENG.pdf
Dr. Admir Softic_ presentation_Green Club_ENG.pdf
 
PHX May 2024 Corporate Presentation Final
PHX May 2024 Corporate Presentation FinalPHX May 2024 Corporate Presentation Final
PHX May 2024 Corporate Presentation Final
 
FULL ENJOY Call Girls In Mahipalpur Delhi Contact Us 8377877756
FULL ENJOY Call Girls In Mahipalpur Delhi Contact Us 8377877756FULL ENJOY Call Girls In Mahipalpur Delhi Contact Us 8377877756
FULL ENJOY Call Girls In Mahipalpur Delhi Contact Us 8377877756
 
Nelamangala Call Girls: 🍓 7737669865 🍓 High Profile Model Escorts | Bangalore...
Nelamangala Call Girls: 🍓 7737669865 🍓 High Profile Model Escorts | Bangalore...Nelamangala Call Girls: 🍓 7737669865 🍓 High Profile Model Escorts | Bangalore...
Nelamangala Call Girls: 🍓 7737669865 🍓 High Profile Model Escorts | Bangalore...
 
Russian Call Girls In Rajiv Chowk Gurgaon ❤️8448577510 ⊹Best Escorts Service ...
Russian Call Girls In Rajiv Chowk Gurgaon ❤️8448577510 ⊹Best Escorts Service ...Russian Call Girls In Rajiv Chowk Gurgaon ❤️8448577510 ⊹Best Escorts Service ...
Russian Call Girls In Rajiv Chowk Gurgaon ❤️8448577510 ⊹Best Escorts Service ...
 
The Path to Product Excellence: Avoiding Common Pitfalls and Enhancing Commun...
The Path to Product Excellence: Avoiding Common Pitfalls and Enhancing Commun...The Path to Product Excellence: Avoiding Common Pitfalls and Enhancing Commun...
The Path to Product Excellence: Avoiding Common Pitfalls and Enhancing Commun...
 
Call Girls From Raj Nagar Extension Ghaziabad❤️8448577510 ⊹Best Escorts Servi...
Call Girls From Raj Nagar Extension Ghaziabad❤️8448577510 ⊹Best Escorts Servi...Call Girls From Raj Nagar Extension Ghaziabad❤️8448577510 ⊹Best Escorts Servi...
Call Girls From Raj Nagar Extension Ghaziabad❤️8448577510 ⊹Best Escorts Servi...
 
Marel Q1 2024 Investor Presentation from May 8, 2024
Marel Q1 2024 Investor Presentation from May 8, 2024Marel Q1 2024 Investor Presentation from May 8, 2024
Marel Q1 2024 Investor Presentation from May 8, 2024
 
Call Girls Hebbal Just Call 👗 7737669865 👗 Top Class Call Girl Service Bangalore
Call Girls Hebbal Just Call 👗 7737669865 👗 Top Class Call Girl Service BangaloreCall Girls Hebbal Just Call 👗 7737669865 👗 Top Class Call Girl Service Bangalore
Call Girls Hebbal Just Call 👗 7737669865 👗 Top Class Call Girl Service Bangalore
 
Falcon's Invoice Discounting: Your Path to Prosperity
Falcon's Invoice Discounting: Your Path to ProsperityFalcon's Invoice Discounting: Your Path to Prosperity
Falcon's Invoice Discounting: Your Path to Prosperity
 
Call Girls Kengeri Satellite Town Just Call 👗 7737669865 👗 Top Class Call Gir...
Call Girls Kengeri Satellite Town Just Call 👗 7737669865 👗 Top Class Call Gir...Call Girls Kengeri Satellite Town Just Call 👗 7737669865 👗 Top Class Call Gir...
Call Girls Kengeri Satellite Town Just Call 👗 7737669865 👗 Top Class Call Gir...
 
Quick Doctor In Kuwait +2773`7758`557 Kuwait Doha Qatar Dubai Abu Dhabi Sharj...
Quick Doctor In Kuwait +2773`7758`557 Kuwait Doha Qatar Dubai Abu Dhabi Sharj...Quick Doctor In Kuwait +2773`7758`557 Kuwait Doha Qatar Dubai Abu Dhabi Sharj...
Quick Doctor In Kuwait +2773`7758`557 Kuwait Doha Qatar Dubai Abu Dhabi Sharj...
 

Class 7: Introduction to web technology entrepreneurship

  • 1. Allan Chao Startup Consultant Startup V8 allan@startupv8.com UC Berkeley Extension, Summer 2012
  • 2. Question of the day: How many people are involved in building a web application?
  • 3. The Agenda  Quiz  Quick review of last session  Servers, Hosting  Deployment  Release Cycles, Project Management  Engineering management
  • 4. Quiz Time Good luck! 10 minutes max
  • 5. Quick review of prior material  Databases  IDE Comparison  Database model  Notepad++  Entity relationship model  NetBeans  SQL  Visual Studio  Database Engines  Backend Programming  RDBMS  Truly requires clarification of ideas  MYSQL  Complexity  SQL Server  Programming Languages  APIs  Programming example (calculator)  Application Programing Interface  Backend integration with frontend  Precautions  ASP.NET  SDK = Software Development Kit  Error validation  Technology Stacks  Principles of Programming  Many different options in different layers  Some code is better than others  LAMP = Linux Apache Mysql PHP  Mistakes have a high cost  WINS = Windows IIS .NET SQL Server
  • 6.
  • 7. What is Hosting?  Where you store the code  Makes the website publicly-accessible  What you’re paying for:  Physical components  Disk space (space in GB)  Memory (RAM)  Processing power (CPU)  Datacenter costs  Electricity  Cooling  Network Bandwidth  Administration (technical skill)
  • 8. What is a server?  Physical machine  Usually horizontal, 1-2 inches tall  Designed and built for reliability, not features  Lots of redundant components
  • 9. What is a data center?  A.k.a. Server farm  Lots of computers  Room gets hot…  Lots of fans, very loud  High security
  • 10. 3 most common hosting options  3 most common hosting options  Dedicated Hosting  Shared Hosting  Virtual Private Server (VPS)  Other hosting options  Colocation  Cloud hosting
  • 11. Dedicated Hosting  Means you rent a physical machine provided by the host  Hardware options provided by the host, you pick one  Tends to be around $200-1000/month per machine, depending on quality  Great option for almost-total control  When is it right?  If you need lots of power and control. However, costs can be high.
  • 12. Shared Hosting  You “share” a dedicated host with other customers (you don’t know who they are)  Share CPU-power  Share network connection  Sometimes, share IP address  You have limited access to the computer, so less flexibility  When is it right?  Generally a poor choice for startups  Better choice for small business websites
  • 13. Virtual Private Server (VPS)  Virtual Private Server = “virtual machine”  Like having a dedicated server, except that there isn’t a physical machine you own.  Your machine is a “virtual” machine, that lives inside of a physical machine. • When is it right? • Low cost way of having lots of control. • Great option to start
  • 14.
  • 15. Colocation  Means you buy your own physical machine  Much more expensive than consumer machines… generally costs at least $4,000, easily $10,000  In addition to monthly fees to data center  You choose the hardware  Maximum flexibility regarding the hardware used (e.g. fancy servers and storage configurations)  You manage everything.  Requires more effort and management compared to cloud and managed  When is it right?  Best for maturing startups that can afford costly servers and hire staff to manage them
  • 16. Cloud Hosting  “Pay as you go”, pay-for-use  Amazon EC2, S3  Good for starting out when server needs are unknown and it’s easy to scale up and down quickly  Best for environments that have differing scale needs on a regular basis  (e.g. imagine you normally need 20 servers but for a few hours each night you need 100 servers to crunch data)  When is it right?  Great low-cost way to start, but limitations can be frustrating  Excellent choice if sudden scale is needed
  • 17. Comparison Managed (dedicated, Colocation Cloud shared, VPS) (aka colo) Cost at first Average Very high Very low Cost at scale Average-high Low Very high Flexibility Medium Very flexible Not flexible Management Depends on host You manage Harder to manage
  • 18. Tools for hosting  Who is hosting a website?  http://www.whoishostingthis.com  Note that high-traffic websites run their own data centers
  • 20. Try Buying Hosting  Cheaper and lower-quality options  Your domain registrant  Bluehost, dreamhost, etc.  Better and more expensive options  Rackspace  Softlayer
  • 21.
  • 22. Deployment  Deployment = Release = Shipping  The process of getting a website from your local machine to the host  Once it is on the host, it’s viewable by the public
  • 23. FTP  File Transfer Protocol  Very old way of transferring files  We’ll use Filezilla
  • 24. Practice Deploying  FTP Connect to 208.79.77.29  Username class  Password: same password as classroom computers  Create a folder with your name (lowercase, one word)  Upload your HTML files  Test it at http://class.testing.startupv8.com/yourname
  • 25. Multiple Environments  Risks of single-environment  Accidental deployment  Very hard to recover in production  High cost, high pressure, lots of “site is down” time  Dev > QA > Staging > Production  The “build” process  Automated tests  Automatic documentation and/or release notes  Automatically moving from one stage to another  “latest build”, “nightly build”, “build 142”
  • 26. Advanced Deployment Tools  Beyond Compare (like FTP, but highlights line-by-line differences)  Custom programs  Write your own script that copies files  Available software  xCopy / robocopy  MSDeploy  UrbanCode www.urbancode.com
  • 27.
  • 28. Release Planning and Cycles  Planning process of what to deploy and when  MVP  Version 2  Version 3…
  • 30. Project Management  Starts off as…  1 product owner, 1 designer, 1 engineer = 3 people  Soon afterward…  1 product owner, 1 designer, 3 engineers = 5 people  Company grows…  1 product owner, 2 designers, 4 engineers, 1 project manager, 1 tester = 9 people  Project management = coordination and allocation of people, time, money.
  • 31. Gantt chart  Like a waterfall process  Great for known projects  Less applicable for ongoing development
  • 32. Agile Development  Small, incremental Iterations  1-2 weeks  Standing meetings  “Product owner”  Burndown charts
  • 33. Tools for Project Management  FugBugz  BaseCamp  Trello  Pivotal Tracker
  • 34. Budgeting  Very hard to budget new development projects  How much does it cost to build a house? It depends  Do a bottom up estimate, not a top down estimate  A 2-story house in a specific subdivision with a garage and 3 bed 2 bath with the same interior that all the other houses in the subdivision have?
  • 36. Good project management  Setting milestones  Hitting the milestones  Lots of communication  Don’t change the features  Go through the design process
  • 37. Tips on Shipping  Stick to a feature-set, and build it.  Adding developers doesn’t always make the project finish sooner  “The mythical man-month”  Q: How does a large software project get to be one year late?  A: One day at a time!
  • 38. Deployments on closed platforms  E.g. Apple App Store  Unclear requirements  Time consuming and frustrating
  • 39.
  • 40. Hiring Developers  Hiring full time developers  Very hard, very expensive  Part-time developers (freelancers)  Tends to be the best option for startups  Difficult even for engineers to assess skill in an interview  Developers are almost never effective on joining a project… always takes training time
  • 41. Managing Developers  Great developers are very self-motivated  They like to work on things they think are important  They like to solve interesting problems  Constant pressure is annoying
  • 42. Extreme Programming  A subtype of agile development  Adds some elements  Pair programming  Extensive unit testing  Flat management
  • 43. Code Reviews  Engineers look over each other’s code as a “second pair of eyes”  Tends to result in much better code  Also enables peer-to-peer training
  • 44. Outsourcing  Tends to be very difficult for startups  Low quality work  Offshore companies do not design  And they produce low-quality code  Poor communication  The takeaway: tempting, but usually a net loss
  • 45.
  • 46. Homework  Individual, read the following:  Read Michael Wolfe’s answer... http://www.quora.com/Engineering-Management/Why- are-software-development-task-estimations-regularly-off-by-a-factor-of-2-3  Mythical man-month… http://en.wikipedia.org/wiki/The_Mythical_Man-Month  (Team) Deploy your application  If there’s no backend, that’s OK  (Team) Keep Going!!  Keep programming  Keep working on the pitch deck  Keep marketing your new startup  Occasionally review the market research data (Google Analytics, etc.)