What hosting, deployment, chat, error monitoring, etc do the smartest startup CTO's use?
Hosting:
Heroku: Great for small applications and getting off the ground as fast as possible. It's easy to manage and your team can focus on features instead of worrying about maintaining operations.
Cloud (AWS, Rackspace, Azure): Great if you're expecting growth. You can start up instances easily and shut others down if you don't need them anymore. You still need to manage your servers, but as you grow to several servers, it'll be worth it.
Inhouse: If you don't expect growth, or you have enough money to hire a few people to take care of the equipment, this is the cheapest option for computing power. I wouldn't recommend it for a new company since it takes so much maintenance.
Deployment:
This depends on which environment you work on. Ruby has Capistrano, Python has fabric, etc. Heroku also has their own deployment method and some other cloud providers also do. A quick google search will most likely lead you to the most popular method for your technology.
Chat:
My favourite is Hipchat (http://hipchat.com/). There's also Campfire (https://campfirenow.com/) and several other providers. Hipchat has a native client for each platform (even mobile) that gets really handy.
Error monitoring:
This is also a field with many competitors. My favourite by far would be Sentry (http://getsentry.com). There's also Airbrake (http://airbrake.io/) and HoneyBadger (https://www.honeybadger.io/).
System Monitoring:
This depends on what you want to monitor. The most popular in the ruby world is NewRelic (http://newrelic.com/). It monitors application and database performance. If you just want to monitor your server (cpu, memory, uptime), you can try out Server Density (http://www.serverdensity.com/).
It depends on your monitoring needs and tech stack. New Relic has a pretty nifty monitoring product. Crashlytics is the go to for iOS apps. Testflight live has a crash monitoring and analytics product for iOS but its a bit clunky. GA you can also always view real time data and if nobody is onsite you know you have a problem (seemingly because its down). There's also free/cheaper more basic services that ping your web server to make sure your sites up and then notifies you if its down. The etsy team has a good bit of info on how they do analytics, monitoring and stats on their code is craft blog.
*Hosting*
When building software for our customers, we always use Heroku (http://heroku.com). We refuse to use EC2 etc in the beginning, since the name-of-the-game is to focus all time and money on the actual software. I really hate the hosting question since this doesn't matter in the beginning. For most start-ups today: heroku-free option is just fine.
*Deployment*
This is taken care of when using Heroku, 'cause all you need to do push your code to the repo and it's deployed. Time-saved.
*Chat*
Today, use Slack (http://slackhq.com). It has a ton of integrations.
*Error Monitoring*
Airbrake or something hosted.
Smartest CTO's use whatever get the job done that uses the least-friction for the team.
There are several options to choose from.
1. TeamCity: JetBrains’ TeamCity is a continuous integration and software deployment server with Docker images for servers and agents.
2. AWS CodeDeploy: AWS CodeDeploy makes it easier to rapidly release new features, helps avoid downtime during application deployment, and handles the complexity of updating applications. AWS CodeDeploy can automate software deployments.
3. Octopus Deploy: It enables software developers to automate application deployments, whether on-premises or in the cloud.
4. ElectricFlow: ElectricFlow helps model, automate, and track cloud-native, container, and legacy application deployments with ease.
5. PDQ Deploy: PDQ Deploy offers the ability to remotely install software or patches to Windows systems.
You can read more here: https://stackify.com/software-deployment-tools/
Besides if you do have any questions give me a call: https://clarity.fm/joy-brotonath