Techzim Surge: Important Considerations for Hosting Web or Mobile Apps

16
Anthony Somerset IMPORTANT CONSIDERATIONS IN BUILDING AND HOSTING WEB AND MOBILE APPS

description

 

Transcript of Techzim Surge: Important Considerations for Hosting Web or Mobile Apps

Page 1: Techzim Surge: Important Considerations for Hosting Web or Mobile Apps

Anthony Somerset

IMPORTANT CONSIDERATIONS IN BUILDING AND HOSTING WEB AND MOBILE APPS

Page 2: Techzim Surge: Important Considerations for Hosting Web or 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!)

Page 3: Techzim Surge: Important Considerations for Hosting Web or Mobile Apps

ROADMAP

• Good Coding Principles• Security• Hosting Considerations• Q & A

Page 4: Techzim Surge: Important Considerations for Hosting Web or Mobile Apps

GOOD CODING PRINCIPLES

“There are two ways to write error-free programs; only the third one works.”

Alan Perlis, "Epigrams on Programming"

Page 5: Techzim Surge: Important Considerations for Hosting Web or Mobile Apps

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

Page 6: Techzim Surge: Important Considerations for Hosting Web or Mobile Apps

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

Page 7: Techzim Surge: Important Considerations for Hosting Web or Mobile Apps

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

Page 8: Techzim Surge: Important Considerations for Hosting Web or Mobile Apps

SECURITY

• Start with Good Quality Frameworks

Page 9: Techzim Surge: Important Considerations for Hosting Web or Mobile Apps

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

Page 10: Techzim Surge: Important Considerations for Hosting Web or Mobile Apps

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

Page 11: Techzim Surge: Important Considerations for Hosting Web or Mobile Apps

HOSTING CONSIDERATIONS

Q: how many programmers does it take to change a light bulb?

A: none, that's a hardware problem

Page 12: Techzim Surge: Important Considerations for Hosting Web or Mobile Apps

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)

Page 13: Techzim Surge: Important Considerations for Hosting Web or Mobile Apps

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

Page 14: Techzim Surge: Important Considerations for Hosting Web or Mobile Apps

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

Page 15: Techzim Surge: Important Considerations for Hosting Web or Mobile Apps

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

Page 16: Techzim Surge: Important Considerations for Hosting Web or Mobile Apps

QUESTIONS?