Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.
October 2014
Startup Engineering
Cookbook
From Slides to Website
Overview
Slide Topic
3 Purpose
4 The Lean Startup
5 Implementation Options
6-17 Architecture Options
18-22 Sample Architec...
Purpose
Covering the various technical options
when going from a concept to
building a website and beyond...
3
[meant for ...
The Lean Startup
It’s an approach for launching
businesses and products, that
relies on validated learning,
scientific exp...
Implementation Options
There are 3 options for building a website:
1 Build internally
2 Outsource
3 Hybrid - hire a techni...
Architecture Options
6
Infrastructure Provider
The website will have to reside on a computer for the world to see. 



Options: Amazon Web Servic...
Central vs. Distributed
The old way of designing the infrastructure for a website was to put
all the resources such as dat...
Managed vs. Self-Service
If your team is technical it might not be technical in terms of
hardware. Just because someone kn...
Operating System
There are only two options Microsoft Windows or Linux. Windows is
limited in the type of programming lang...
Software that delivers web pages from the server to a clients web
browser.
Options: Apache, Lighttpd, Microsoft Internet I...
The heart of any web based application is the database since it
stores all the user information and everything else relate...
If you ask 4 programmers which is the best language, you will most
likely get 5 different answers. If you are building a w...
Instead of re-inventing the wheel it’s better to use a pre-existing
framework to start building an application. Frameworks...
This is what the consumer sees on their phone, tablet or computer
screen. Previously, the trend was to create a website de...
Version control is a system that records changes to a file or set of
files over time so that you can recall specific versi...
You can interact with your online version control service using the
command line interface of your computer. However, many...
Sample Architecture
18
UI is a
small piece
19
Website Roles
20
Visually creates
the user
interface (UI)
and the overall
user experience
(UX)
Front End
Engineer
Back End...
Day 0
Elastic Compute
Cloud (EC2)
t1.micro
RDS
MySQL
t1.micro
S3
Region: APAC- Singapore
Single Region, Single Availabilit...
Day 0+X
RDS
MySQL
S3
Single Region, Multi Availability Zones
The fault tolerant design allows for one of
the availability ...
RDS
MySQL
S3
Users Internet
RDS
MySQL
Elastic Load Balancer (ELB)
S3
Day 0+2X
Multi Region
The fault tolerant design allow...
Monitoring
24
By monitoring the infrastructure, you can
proactively plan if certain components need to be
upgraded.
Infrastructure Perfo...
Understanding how the application affects the
infrastructure is essential. If there are very few
users but the servers and...
Google Analytics is the industry standard for tracking
website statistics such as hits, users, content
viewed, conversions...
Once a user starts to use your web application
you will want to engage with the customer.
Intercom.io allows you to send e...
Disaster Recovery
29
Having a disaster recovery plan in place is critical to ensure the
website can recover from a catastrophic event.
Taking a...
Scaling
31
Hopefully, the website you launch is a massive success and leads to
your website having a tough time handling the load.
Wi...
Internal Tools
33
Team communication is critical in a fast paced web business.
Yammer is an internal social network for employees. Pivotal T...
The End
35
Questions?
36
Manish Jain
Co-Founder
MProfit
@mrjain_
mrjain@gmail.com
You’ve finished this document.
Download and read it offline.
Upcoming SlideShare
10 Things about Aadhaar
Next
Upcoming SlideShare
10 Things about Aadhaar
Next
Download to read offline and view in fullscreen.

Share

Startup Engineering Cookbook

Download to read offline

Are you a non-technical founder confused about the technology to deploy for your new website? The presentation covers the various options available for building a website and beyond...

Related Books

Free with a 30 day trial from Scribd

See all

Related Audiobooks

Free with a 30 day trial from Scribd

See all

Startup Engineering Cookbook

  1. 1. October 2014 Startup Engineering Cookbook From Slides to Website
  2. 2. Overview Slide Topic 3 Purpose 4 The Lean Startup 5 Implementation Options 6-17 Architecture Options 18-22 Sample Architecture 24-28 Monitoring 29-30 Disaster Recovery 31-32 Scaling 33-34 Internal Tools 35 The End 36 Contributors
  3. 3. Purpose Covering the various technical options when going from a concept to building a website and beyond... 3 [meant for a non-technical audience]
  4. 4. The Lean Startup It’s an approach for launching businesses and products, that relies on validated learning, scientific experimentation, and iterative product releases to shorten product development cycles, measure progress, and gain valuable customer feedback. [ Wikipedia ] It is THE industry bible for startups...READ IT. [ The Reality ] 4
  5. 5. Implementation Options There are 3 options for building a website: 1 Build internally 2 Outsource 3 Hybrid - hire a technical lead Building a website is like the Kama Sutra... many ways to accomplish “it” 5
  6. 6. Architecture Options 6
  7. 7. Infrastructure Provider The website will have to reside on a computer for the world to see. 
 
 Options: Amazon Web Services (AWS), Google Cloud Platform, Heroku, local hosting provider, Microsoft Azure, Netmagic, RackSpace 
 
 Our choice: Amazon Web Services (AWS). They are the #1 leader in web infrastructure services also known as cloud services. In addition, they have a free 1 year trial which allows you to try many of their services at zero cost. After 1 year they will bill you based on usage of their services. web hosting services 7
  8. 8. Central vs. Distributed The old way of designing the infrastructure for a website was to put all the resources such as databases, files, images, etc... on the same server. The problem is if your database is slow and everything else is fine, you have to upgrade the entire server and disrupt the other functions.  By distributing the resources you can quickly pinpoint the bottleneck and scale that particular resource. distributed web architecture Central Our choice: Distributed Architecture. Distributed Computing Database Static Files Computing, database, files, etc... 8
  9. 9. Managed vs. Self-Service If your team is technical it might not be technical in terms of hardware. Just because someone knows a programming language does not mean they have the infrastructure knowledge to run a website. Some startups prefer to outsource the management of their hardware to a hosting provider or use the “premium” option of a cloud service provider. Our choice: Self-Service. The tools that are provided by AWS are quite powerful and easy to use for managing the entire AWS infrastructure. managed server hosting 9
  10. 10. Operating System There are only two options Microsoft Windows or Linux. Windows is limited in the type of programming languages that you can run on the server. Linux is open source and has a large community that is continually improving the operating system. Within Linux there are many options such as Debian and Red Hat to choose from, but are all pretty similar in their offerings. Our choice: Linux. Linux is usually cheaper to run and used by more websites than any other platform. Part of the LAMP stack - Linux (operating system), Apache (web server), MySQL (database) and PHP (programming language). linux hosting 10
  11. 11. Software that delivers web pages from the server to a clients web browser. Options: Apache, Lighttpd, Microsoft Internet Information Server (IIS), Nginx, Node.js, Rails, Tornado Our choice: Apache. It’s part of the LAMP stack and is widely used by many websites. Web Server apache web server 11
  12. 12. The heart of any web based application is the database since it stores all the user information and everything else related to the web application. Options: Amazon DynamoDB, Cassandra, CouchDB, Microsoft SQL, MongoDB, MySQL, Oracle, SimpleDB Our choice: MySQL. It’s part of the LAMP stack and widely used by many websites. Database mysql nosql 12
  13. 13. If you ask 4 programmers which is the best language, you will most likely get 5 different answers. If you are building a website on a Windows environment then you can choose .NET, for Linux there are several choices. Options: Clojure, Microsoft’s .NET, Perl, PHP, Python, Ruby Our choice: PHP. It’s part of the LAMP stack and more importantly has a large community so finding people to hire with PHP knowledge is better. Back End Language web php languages 13
  14. 14. Instead of re-inventing the wheel it’s better to use a pre-existing framework to start building an application. Frameworks provide a foundation where developers’ code can be neatly arranged. Also, documentation, common problems, solutions, tips and advice can be shared online in an open source manner. Options: CakePHP, CodeIgniter, Laravel, Symfony, Yii Framework, Zend Framework Our choice: CodeIgniter. One of the fastest performing frameworks and very active support community. PHP Framework php framework 14
  15. 15. This is what the consumer sees on their phone, tablet or computer screen. Previously, the trend was to create a website design that was different for each type of device that was accessing the site. Now everyone is moving towards a “responsive” design, which means you design a single site that can be viewed on any device that a consumer may own. Options: Bootstrap, Foundation, jQuery UI, Kendo UI Our choice: Bootstrap. It was developed by Twitter and released as an open source project which means there is a large community of users. Front End UI Framework front end framework 15
  16. 16. Version control is a system that records changes to a file or set of files over time so that you can recall specific versions later. It’s a service that will make your life easier as you will be able to keep track of the changes to your code base. Options: BeanStalk, Bitbucket, GitHub, ProjectLocker, Springloops Our choice: Bitbucket. They have a free plan that allows 5 users which should accommodate any startup. Version Control Service git version control service 16
  17. 17. You can interact with your online version control service using the command line interface of your computer. However, many people prefer to use a graphical front end which is usually referred to as a git client. Options: Gitbox, GitHub, SourceTree, Tower, Versions Our choice: SourceTree. They have a Mac and Windows client which are both free. The software is from the same people that provide the Bitbucket service, so they very well together. Version Control Client git client Tower Versions 17
  18. 18. Sample Architecture 18
  19. 19. UI is a small piece 19
  20. 20. Website Roles 20 Visually creates the user interface (UI) and the overall user experience (UX) Front End Engineer Back End Engineer Operations Engineer Browser Server UI/UX Designer Converts the UI/ UX design into Bootstrap, HTML5, CSS, JavaScript, etc... Converts the business logic into computer code using PHP, Python, PERL, .NET, etc... Manages the servers, databases, DNS information, and other website infrastructure
  21. 21. Day 0 Elastic Compute Cloud (EC2) t1.micro RDS MySQL t1.micro S3 Region: APAC- Singapore Single Region, Single Availability Zone (AWS Free Tier Program) Users Internet 21 Availability Zone: AP-Southeast-1a
  22. 22. Day 0+X RDS MySQL S3 Single Region, Multi Availability Zones The fault tolerant design allows for one of the availability zones not being available. Users Internet Database Replication Elastic Compute Cloud (EC2) RDS MySQL Availability Zone: AP-Southeast-1b Elastic Load Balancer (ELB) S3 Elastic Compute Cloud (EC2) 22 Region: APAC- Singapore Availability Zone: AP-Southeast-1a
  23. 23. RDS MySQL S3 Users Internet RDS MySQL Elastic Load Balancer (ELB) S3 Day 0+2X Multi Region The fault tolerant design allows for one of the regions not being available. The design also allows for users to be load balanced based on geographic location. Availability Zone: US-East-1a Elastic Compute Cloud (EC2) Elastic Compute Cloud (EC2) 23 Region: APAC- Singapore Availability Zone: AP-Southeast-1a Region: US East (N. Virginia)
  24. 24. Monitoring 24
  25. 25. By monitoring the infrastructure, you can proactively plan if certain components need to be upgraded. Infrastructure Performance 25
  26. 26. Understanding how the application affects the infrastructure is essential. If there are very few users but the servers and databases are consistently running at peak utilization, that might indicate a programming issue. Application Performance 26
  27. 27. Google Analytics is the industry standard for tracking website statistics such as hits, users, content viewed, conversions and many other statistics. Traffic Analysis 27
  28. 28. Once a user starts to use your web application you will want to engage with the customer. Intercom.io allows you to send emails based on pre-defined rules such as “send a welcome email to a new user”. User Engagement 28
  29. 29. Disaster Recovery 29
  30. 30. Having a disaster recovery plan in place is critical to ensure the website can recover from a catastrophic event. Taking a daily/weekly/monthly snapshot of the servers, files and databases is a minimum requirement. The daily/weekly/monthly backup schedule is sometimes referred to as the son/father/ grandfather rotation schedule. Backing Up & Restoring If disaster does strikes and a complete backup strategy is in place, then it should not be very difficult to restore the website from the backups that are being maintained. 30
  31. 31. Scaling 31
  32. 32. Hopefully, the website you launch is a massive success and leads to your website having a tough time handling the load. With many cloud service providers you can automatically add additional resources based on predefined rules. An example is below: Adding Resources Rule Action If CPU utilization goes above 60% during a 5 minute period Upgrade the server to the next larger size to handle the additional load 32
  33. 33. Internal Tools 33
  34. 34. Team communication is critical in a fast paced web business. Yammer is an internal social network for employees. Pivotal Tracker is a project management tool. HipChat is an instant messaging application. Team Communications 34
  35. 35. The End 35
  36. 36. Questions? 36 Manish Jain Co-Founder MProfit @mrjain_ mrjain@gmail.com
  • DaveAngelow

    Jan. 18, 2019
  • Dagorath

    Jun. 16, 2016
  • armai0413

    Aug. 23, 2015
  • sbepstein

    May. 30, 2015
  • alanemeugochukwu

    May. 23, 2015
  • sina200

    Oct. 21, 2014
  • fariborzn1

    Apr. 13, 2014
  • demoinvest

    Jan. 29, 2014
  • satpalparmar

    Nov. 3, 2013
  • foaindia

    Oct. 23, 2013
  • chandrahyd

    Sep. 25, 2013
  • fcarb

    Sep. 18, 2013
  • ssuser450ae1

    Aug. 13, 2013
  • ankurdineshsharma

    Jun. 3, 2013
  • parasgupta1984

    Jun. 2, 2013
  • yourfrienddhruv

    May. 28, 2013
  • malayeri

    May. 27, 2013
  • userbiasa

    May. 24, 2013
  • ivoqnev

    May. 24, 2013
  • zergot

    May. 24, 2013

Are you a non-technical founder confused about the technology to deploy for your new website? The presentation covers the various options available for building a website and beyond...

Views

Total views

9,459

On Slideshare

0

From embeds

0

Number of embeds

1,810

Actions

Downloads

154

Shares

0

Comments

0

Likes

28

×