SlideShare a Scribd company logo
1 of 16
Anthony Somerset
IMPORTANT CONSIDERATIONS IN BUILDING
AND HOSTING WEB AND MOBILE APPS
ABOUT
• Owner, Somerset Technical Solutions
• Started company in 2009
• Worked with and in 2 Startups in that time
• ello group
• W3 EDGE
• Primarily focused on managing webserver infrastructure
• Day to day work is supporting clients & manage there servers
• Some web hosting too
• Motorsport Nut (the 4 wheel variety!)
ROADMAP
• Good Coding Principles
• Security
• Hosting Considerations
• Q & A
GOOD CODING PRINCIPLES
“There are two ways to write error-free programs; only the third one works.”
Alan Perlis, "Epigrams on Programming"
GOOD CODING PRINCIPLES
• Use Open Source where possible – chances are its easier to find developers
• We all like free right?
• Try to stick to known good coding standards
• Use a code framework - They usually have a mature code base
• Often allows you to get to writing your code quicker without worrying about
low level stuff
• Think about the future where you can - Avoid Technical/Code debt
• Use Revision Control Systems like Git or SVN
• http://www.bitbucket.org - free for small teams
• Use GitHub if your project is open source – most people will have accounts
GOOD CODING PRINCIPLES
• Backup!
• Put your code on an external disk or memory
stick
• If its just another folder on disk that’s not
backup!
• Useful as a basic way to copyright your code if
needed
SECURITY
“Securing an environment of Windows platforms from abuse - external or internal - is akin to
trying to install sprinklers in a fireworks factory where smoking on the job is permitted. —
Gene Spafford (in e-mail to organizers of a workshop on insider misuse)”
Anonymous
SECURITY
• Start with Good Quality Frameworks
SECURITY
• Start with Good Quality Frameworks
• Make it easy to update core components in future
• Don’t overwrite core framework components (extend/override them as required)
• Make sure your code is as modular as possible – have clear small tasks to
solve
• Don’t Forget – Keep the core framework up to date too!
• Plan to accept payments via your web app? – HTTPS/SSL Certificates are a MUST!
• Secure your computers
• Hard Drive encryption – TrueCrypt or BitLocker for Windows, FileVault for Mac
SECURITY
• Backup!
• Make sure your backup is physically secure
• Encrypt your backup volume if possible
• Make sure you keep your backup device as
physically separate from your computer as
much as you can
HOSTING CONSIDERATIONS
Q: how many programmers does it take to change a light bulb?
A: none, that's a hardware problem
HOSTING CONSIDERATIONS
• Location – Get it as close as you can to your target audience
• Reliability – more critical in Zimbabwe/Africa
• Don’t assume you can run a server off your consumer grade connection
• Security
• If its plain shared hosting – check that your host is keeping key software
up to date
• If it’s a Dedicated or Virtual Hosting – its usually your responsibility
• Scaling – Treat your infrastructure like your code
• Use tools like Chef or Puppet (Infrastructure as Code)
SHARED, VIRTUAL OR DEDICATED HOSTING?
• In the bootstrap phase get the minimum needed to fulfill the requirements
• You can always upgrade later
• Try and avoid lengthy contracts or commitments - avoid anything longer than
12 months
• Physical Hardware has its own constraints and caveats
• Hardware failure takes longer to recover
• You cant be as flexible to quickly changing demand
• The sweet spot for most tends to be Virtual Servers
• If you know you will need a lot of servers over several locations – Amazon
Web Services is your friend
HOSTING CONSIDERATIONS
• Backup!
• Confirm who is responsible for it? You or the Host
• Shared Hosting – usually backing up your code, environment specific files and
database are enough
• Ideally automate your process to store it offsite – Something like Amazon S3
• Virtual or Dedicated – more complex as you have to backup server configuration
as well
• Puppet or Chef help you here!
• Speak to your host – they may have good deals on reliable backup solutions
CONCLUSION
• Code to known standards and utilize popular open
source frameworks as your base
• Try to make your code easy to maintain and secure –
avoiding Technical Debt
• Choose a reliable host as close as you can get to your
target market
• Make sure you have regular backups of everything
valuable to you, and keep them just as safe too
QUESTIONS?

More Related Content

What's hot

Quality code in wordpress
Quality code in wordpressQuality code in wordpress
Quality code in wordpressRan Bar-Zik
 
Custom coded projects
Custom coded projectsCustom coded projects
Custom coded projectsMarko Heijnen
 
What is SaaS vs Open Source | Open Source CMS (Content Management System) vs ...
What is SaaS vs Open Source | Open Source CMS (Content Management System) vs ...What is SaaS vs Open Source | Open Source CMS (Content Management System) vs ...
What is SaaS vs Open Source | Open Source CMS (Content Management System) vs ...ClickTecs
 
The Final Frontier
The Final FrontierThe Final Frontier
The Final FrontierjClarity
 
Hard Coding as a design approach
Hard Coding as a design approachHard Coding as a design approach
Hard Coding as a design approachOren Eini
 
Automation with Puppet and a Path to Private Hybrid Cloud
Automation with Puppet and a Path to Private Hybrid CloudAutomation with Puppet and a Path to Private Hybrid Cloud
Automation with Puppet and a Path to Private Hybrid CloudAndrew Ludwar
 
Threefold integration: CMS, TMS, and CAT — UTIC 2016
Threefold integration: CMS, TMS, and CAT — UTIC 2016Threefold integration: CMS, TMS, and CAT — UTIC 2016
Threefold integration: CMS, TMS, and CAT — UTIC 2016Jose Palomares
 
"Infrastructure Security Practice" by Wasis Adi Putranto (OLX Indonesia)
"Infrastructure Security Practice" by Wasis Adi Putranto (OLX Indonesia)"Infrastructure Security Practice" by Wasis Adi Putranto (OLX Indonesia)
"Infrastructure Security Practice" by Wasis Adi Putranto (OLX Indonesia)Tech in Asia ID
 
Let's Write Better Node Modules
Let's Write Better Node ModulesLet's Write Better Node Modules
Let's Write Better Node ModulesKevin Whinnery
 
Talking LANDESK to Upper Management and Your Peers
Talking LANDESK to Upper Management and Your PeersTalking LANDESK to Upper Management and Your Peers
Talking LANDESK to Upper Management and Your PeersEric Garlepp
 
Developing Locally with WordPress: No More Cowboy Coding
Developing Locally with WordPress: No More Cowboy CodingDeveloping Locally with WordPress: No More Cowboy Coding
Developing Locally with WordPress: No More Cowboy CodingMatt Banks
 

What's hot (14)

Quality code in wordpress
Quality code in wordpressQuality code in wordpress
Quality code in wordpress
 
Faxing Q and A
Faxing Q and AFaxing Q and A
Faxing Q and A
 
Custom coded projects
Custom coded projectsCustom coded projects
Custom coded projects
 
What is SaaS vs Open Source | Open Source CMS (Content Management System) vs ...
What is SaaS vs Open Source | Open Source CMS (Content Management System) vs ...What is SaaS vs Open Source | Open Source CMS (Content Management System) vs ...
What is SaaS vs Open Source | Open Source CMS (Content Management System) vs ...
 
The Final Frontier
The Final FrontierThe Final Frontier
The Final Frontier
 
Hard Coding as a design approach
Hard Coding as a design approachHard Coding as a design approach
Hard Coding as a design approach
 
Automation with Puppet and a Path to Private Hybrid Cloud
Automation with Puppet and a Path to Private Hybrid CloudAutomation with Puppet and a Path to Private Hybrid Cloud
Automation with Puppet and a Path to Private Hybrid Cloud
 
Andrew bond icera
Andrew bond iceraAndrew bond icera
Andrew bond icera
 
Threefold integration: CMS, TMS, and CAT — UTIC 2016
Threefold integration: CMS, TMS, and CAT — UTIC 2016Threefold integration: CMS, TMS, and CAT — UTIC 2016
Threefold integration: CMS, TMS, and CAT — UTIC 2016
 
"Infrastructure Security Practice" by Wasis Adi Putranto (OLX Indonesia)
"Infrastructure Security Practice" by Wasis Adi Putranto (OLX Indonesia)"Infrastructure Security Practice" by Wasis Adi Putranto (OLX Indonesia)
"Infrastructure Security Practice" by Wasis Adi Putranto (OLX Indonesia)
 
Let's Write Better Node Modules
Let's Write Better Node ModulesLet's Write Better Node Modules
Let's Write Better Node Modules
 
Webcast
WebcastWebcast
Webcast
 
Talking LANDESK to Upper Management and Your Peers
Talking LANDESK to Upper Management and Your PeersTalking LANDESK to Upper Management and Your Peers
Talking LANDESK to Upper Management and Your Peers
 
Developing Locally with WordPress: No More Cowboy Coding
Developing Locally with WordPress: No More Cowboy CodingDeveloping Locally with WordPress: No More Cowboy Coding
Developing Locally with WordPress: No More Cowboy Coding
 

Viewers also liked

Viewers also liked (6)

Delivering Backup as a service
Delivering Backup as a serviceDelivering Backup as a service
Delivering Backup as a service
 
Background Checks Under Fire: Policy Considerations to Avoid Discrimination C...
Background Checks Under Fire: Policy Considerations to Avoid Discrimination C...Background Checks Under Fire: Policy Considerations to Avoid Discrimination C...
Background Checks Under Fire: Policy Considerations to Avoid Discrimination C...
 
Creating And Implementing A Data Disaster Recovery Plan
Creating And Implementing A Data Disaster Recovery PlanCreating And Implementing A Data Disaster Recovery Plan
Creating And Implementing A Data Disaster Recovery Plan
 
Shared leadership
Shared leadershipShared leadership
Shared leadership
 
Shared leadership and task delegation
Shared leadership and task delegationShared leadership and task delegation
Shared leadership and task delegation
 
Delegation
DelegationDelegation
Delegation
 

Similar to Techzim Surge: Important Considerations for Hosting Web or Mobile Apps

DCRUG: Achieving Development-Production Parity
DCRUG: Achieving Development-Production ParityDCRUG: Achieving Development-Production Parity
DCRUG: Achieving Development-Production ParityGeoff Harcourt
 
Putting Compilers to Work
Putting Compilers to WorkPutting Compilers to Work
Putting Compilers to WorkSingleStore
 
Internet of Things, TYBSC IT, Semester 5, Unit II
Internet of Things, TYBSC IT, Semester 5, Unit IIInternet of Things, TYBSC IT, Semester 5, Unit II
Internet of Things, TYBSC IT, Semester 5, Unit IIArti Parab Academics
 
Smart Platform Infrastructure with AWS
Smart Platform Infrastructure with AWSSmart Platform Infrastructure with AWS
Smart Platform Infrastructure with AWSJames Huston
 
System hardening - OS and Application
System hardening - OS and ApplicationSystem hardening - OS and Application
System hardening - OS and Applicationedavid2685
 
Infrastructure as Data with Ansible for easier Continuous Delivery
Infrastructure as Data with Ansible for easier Continuous DeliveryInfrastructure as Data with Ansible for easier Continuous Delivery
Infrastructure as Data with Ansible for easier Continuous DeliveryCarlo Bonamico
 
Developing for Industrial IoT with Linux OS on DragonBoard™ 410c: Session 4
Developing for Industrial IoT with Linux OS on DragonBoard™ 410c: Session 4Developing for Industrial IoT with Linux OS on DragonBoard™ 410c: Session 4
Developing for Industrial IoT with Linux OS on DragonBoard™ 410c: Session 4Qualcomm Developer Network
 
Best Practices for WordPress in Enterprise
Best Practices for WordPress in EnterpriseBest Practices for WordPress in Enterprise
Best Practices for WordPress in EnterpriseTaylor Lovett
 
ThatConference 2016 - Highly Available Node.js
ThatConference 2016 - Highly Available Node.jsThatConference 2016 - Highly Available Node.js
ThatConference 2016 - Highly Available Node.jsBrad Williams
 
Making security-agile matt-tesauro
Making security-agile matt-tesauroMaking security-agile matt-tesauro
Making security-agile matt-tesauroMatt Tesauro
 
Profiling and Tuning a Web Application - The Dirty Details
Profiling and Tuning a Web Application - The Dirty DetailsProfiling and Tuning a Web Application - The Dirty Details
Profiling and Tuning a Web Application - The Dirty DetailsAchievers Tech
 
ProdSec: A Technical Approach
ProdSec: A Technical ApproachProdSec: A Technical Approach
ProdSec: A Technical ApproachJeremy Brown
 
Stopping Storage Hardware Sprawl
Stopping Storage Hardware SprawlStopping Storage Hardware Sprawl
Stopping Storage Hardware SprawlStorage Switzerland
 
Mr. Burhan Khalid - secure dev.
Mr. Burhan Khalid - secure dev.Mr. Burhan Khalid - secure dev.
Mr. Burhan Khalid - secure dev.nooralmousa
 
Managing WorkSpaces at Scale | AWS Public Sector Summit 2016
Managing WorkSpaces at Scale | AWS Public Sector Summit 2016Managing WorkSpaces at Scale | AWS Public Sector Summit 2016
Managing WorkSpaces at Scale | AWS Public Sector Summit 2016Amazon Web Services
 

Similar to Techzim Surge: Important Considerations for Hosting Web or Mobile Apps (20)

DCRUG: Achieving Development-Production Parity
DCRUG: Achieving Development-Production ParityDCRUG: Achieving Development-Production Parity
DCRUG: Achieving Development-Production Parity
 
Putting Compilers to Work
Putting Compilers to WorkPutting Compilers to Work
Putting Compilers to Work
 
Internet of Things, TYBSC IT, Semester 5, Unit II
Internet of Things, TYBSC IT, Semester 5, Unit IIInternet of Things, TYBSC IT, Semester 5, Unit II
Internet of Things, TYBSC IT, Semester 5, Unit II
 
Enterprise PHP
Enterprise PHPEnterprise PHP
Enterprise PHP
 
INTERNET SAFETY FOR KIDS
INTERNET SAFETY FOR KIDSINTERNET SAFETY FOR KIDS
INTERNET SAFETY FOR KIDS
 
Smart Platform Infrastructure with AWS
Smart Platform Infrastructure with AWSSmart Platform Infrastructure with AWS
Smart Platform Infrastructure with AWS
 
System hardening - OS and Application
System hardening - OS and ApplicationSystem hardening - OS and Application
System hardening - OS and Application
 
Infrastructure as Data with Ansible for easier Continuous Delivery
Infrastructure as Data with Ansible for easier Continuous DeliveryInfrastructure as Data with Ansible for easier Continuous Delivery
Infrastructure as Data with Ansible for easier Continuous Delivery
 
Developing for Industrial IoT with Linux OS on DragonBoard™ 410c: Session 4
Developing for Industrial IoT with Linux OS on DragonBoard™ 410c: Session 4Developing for Industrial IoT with Linux OS on DragonBoard™ 410c: Session 4
Developing for Industrial IoT with Linux OS on DragonBoard™ 410c: Session 4
 
Best Practices for WordPress in Enterprise
Best Practices for WordPress in EnterpriseBest Practices for WordPress in Enterprise
Best Practices for WordPress in Enterprise
 
Case study
Case studyCase study
Case study
 
ThatConference 2016 - Highly Available Node.js
ThatConference 2016 - Highly Available Node.jsThatConference 2016 - Highly Available Node.js
ThatConference 2016 - Highly Available Node.js
 
Making security-agile matt-tesauro
Making security-agile matt-tesauroMaking security-agile matt-tesauro
Making security-agile matt-tesauro
 
Profiling and Tuning a Web Application - The Dirty Details
Profiling and Tuning a Web Application - The Dirty DetailsProfiling and Tuning a Web Application - The Dirty Details
Profiling and Tuning a Web Application - The Dirty Details
 
ProdSec: A Technical Approach
ProdSec: A Technical ApproachProdSec: A Technical Approach
ProdSec: A Technical Approach
 
Stopping Storage Hardware Sprawl
Stopping Storage Hardware SprawlStopping Storage Hardware Sprawl
Stopping Storage Hardware Sprawl
 
Mr. Burhan Khalid - secure dev.
Mr. Burhan Khalid - secure dev.Mr. Burhan Khalid - secure dev.
Mr. Burhan Khalid - secure dev.
 
Secured Development
Secured DevelopmentSecured Development
Secured Development
 
Managing WorkSpaces at Scale | AWS Public Sector Summit 2016
Managing WorkSpaces at Scale | AWS Public Sector Summit 2016Managing WorkSpaces at Scale | AWS Public Sector Summit 2016
Managing WorkSpaces at Scale | AWS Public Sector Summit 2016
 
Encryption
EncryptionEncryption
Encryption
 

Recently uploaded

What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024Stephanie Beckett
 
DSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningDSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningLars Bell
 
Powerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time ClashPowerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time Clashcharlottematthew16
 
How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity PlanDatabarracks
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):comworks
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek SchlawackFwdays
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationSlibray Presentation
 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenHervé Boutemy
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebUiPathCommunity
 
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdfHyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdfPrecisely
 
Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Enterprise Knowledge
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLScyllaDB
 
Search Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfSearch Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfRankYa
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyAlfredo García Lavilla
 
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxLoriGlavin3
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr BaganFwdays
 
Artificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxArtificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxhariprasad279825
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfAlex Barbosa Coqueiro
 
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .Alan Dix
 

Recently uploaded (20)

What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024
 
DSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningDSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine Tuning
 
Powerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time ClashPowerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time Clash
 
How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity Plan
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck Presentation
 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache Maven
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio Web
 
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdfHyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
 
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptxE-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
 
Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQL
 
Search Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfSearch Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdf
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easy
 
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan
 
Artificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxArtificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptx
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdf
 
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .
 

Techzim Surge: Important Considerations for Hosting Web or Mobile Apps

  • 1. Anthony Somerset IMPORTANT CONSIDERATIONS IN BUILDING AND HOSTING WEB AND MOBILE APPS
  • 2. ABOUT • Owner, Somerset Technical Solutions • Started company in 2009 • Worked with and in 2 Startups in that time • ello group • W3 EDGE • Primarily focused on managing webserver infrastructure • Day to day work is supporting clients & manage there servers • Some web hosting too • Motorsport Nut (the 4 wheel variety!)
  • 3. ROADMAP • Good Coding Principles • Security • Hosting Considerations • Q & A
  • 4. GOOD CODING PRINCIPLES “There are two ways to write error-free programs; only the third one works.” Alan Perlis, "Epigrams on Programming"
  • 5. GOOD CODING PRINCIPLES • Use Open Source where possible – chances are its easier to find developers • We all like free right? • Try to stick to known good coding standards • Use a code framework - They usually have a mature code base • Often allows you to get to writing your code quicker without worrying about low level stuff • Think about the future where you can - Avoid Technical/Code debt • Use Revision Control Systems like Git or SVN • http://www.bitbucket.org - free for small teams • Use GitHub if your project is open source – most people will have accounts
  • 6. GOOD CODING PRINCIPLES • Backup! • Put your code on an external disk or memory stick • If its just another folder on disk that’s not backup! • Useful as a basic way to copyright your code if needed
  • 7. SECURITY “Securing an environment of Windows platforms from abuse - external or internal - is akin to trying to install sprinklers in a fireworks factory where smoking on the job is permitted. — Gene Spafford (in e-mail to organizers of a workshop on insider misuse)” Anonymous
  • 8. SECURITY • Start with Good Quality Frameworks
  • 9. SECURITY • Start with Good Quality Frameworks • Make it easy to update core components in future • Don’t overwrite core framework components (extend/override them as required) • Make sure your code is as modular as possible – have clear small tasks to solve • Don’t Forget – Keep the core framework up to date too! • Plan to accept payments via your web app? – HTTPS/SSL Certificates are a MUST! • Secure your computers • Hard Drive encryption – TrueCrypt or BitLocker for Windows, FileVault for Mac
  • 10. SECURITY • Backup! • Make sure your backup is physically secure • Encrypt your backup volume if possible • Make sure you keep your backup device as physically separate from your computer as much as you can
  • 11. HOSTING CONSIDERATIONS Q: how many programmers does it take to change a light bulb? A: none, that's a hardware problem
  • 12. HOSTING CONSIDERATIONS • Location – Get it as close as you can to your target audience • Reliability – more critical in Zimbabwe/Africa • Don’t assume you can run a server off your consumer grade connection • Security • If its plain shared hosting – check that your host is keeping key software up to date • If it’s a Dedicated or Virtual Hosting – its usually your responsibility • Scaling – Treat your infrastructure like your code • Use tools like Chef or Puppet (Infrastructure as Code)
  • 13. SHARED, VIRTUAL OR DEDICATED HOSTING? • In the bootstrap phase get the minimum needed to fulfill the requirements • You can always upgrade later • Try and avoid lengthy contracts or commitments - avoid anything longer than 12 months • Physical Hardware has its own constraints and caveats • Hardware failure takes longer to recover • You cant be as flexible to quickly changing demand • The sweet spot for most tends to be Virtual Servers • If you know you will need a lot of servers over several locations – Amazon Web Services is your friend
  • 14. HOSTING CONSIDERATIONS • Backup! • Confirm who is responsible for it? You or the Host • Shared Hosting – usually backing up your code, environment specific files and database are enough • Ideally automate your process to store it offsite – Something like Amazon S3 • Virtual or Dedicated – more complex as you have to backup server configuration as well • Puppet or Chef help you here! • Speak to your host – they may have good deals on reliable backup solutions
  • 15. CONCLUSION • Code to known standards and utilize popular open source frameworks as your base • Try to make your code easy to maintain and secure – avoiding Technical Debt • Choose a reliable host as close as you can get to your target market • Make sure you have regular backups of everything valuable to you, and keep them just as safe too