As you decide on the factors affecting your choices, you can now narrow down from the technology options available to a controllable set. It is imperative for startups to take on best practices along with choosing the right technology (tech.) stacks for their business to grow.
Applications have two ends – the front-end (client side) and the back-end (server side). For eg. on the server side, the applications could be the operating system, the web server, database, programming language and the web framework. These are stacked one on the top of the other with the web framework at the top. These use the internet where the user’s mobile uses the native application and the browser is running and maintained with HTML, CSS or Java scripts.
The logic is worked out at this end which drives the application. A few examples of back-end are the LAMP stack ((Linux, Apache, MySQL, PHP). However, lately, instead of PHP, the programming languages like Ruby and Python are being used. Furthermore, a web framework is selected which needs to be written in the above-mentioned languages. These frameworks come with user authentication and access to data services, hence save the developers from building the framework from scratch.
|Ruby on Rails||Ruby|
The users interact with the screen of the application called the front-end. For mobile applications, the tech. The stack is Android or iOS based, written in Java or C/Swift respectively.
Learner startups − There is usually a focus on the product than the technicalities. Hence LAMP, Python/Django are widely used.
Tech savvy startups: On the front-end framework, often used are Java and Scala (with or without GWT), Python (Django, Pylons, Flask), Ruby on Rails, (with or without Ruby frameworks), LAMP (with or without MVC framework) and NodeJS. At the back-end, technologies used are Erlang, F#, AMPQ, mix of SQL and NoSQL storage solutions (MongoDB, Cassandra, HBase, MySQL, Postgres, Raven, BigTable clones, etc), Memcache/Redis, MapReduce/Hadoop and some of the evolving ones such as GO, node, closure, and flask.
Trend − A trend on the horizon of start-ups, like other organizations, is “cloud hosting.” It comes with its own benefits of having to not operate or maintain any infrastructure, entailing low costs.
Popular technologies (listed as per AngelList data):
Front-end technologies − Startups prefer to use Ruby on Rails, HTML5, CSS, jQuery, and Backbone.js.
Storage and database purposes − % of startups that use MySQL (85%), Oracle (58%), Hive (46%), MongoDB (31%), Redis (38%) and Habase, Cassandra and PostgreSQL (27%).
Platform − On the mobile front, applications are developed more on the iOS platform than the Android platform by startups.
Infrastructure/Hosting − AWS leads the way with Heroku behind.
DevOps tools − Startups use Chef, Puppet and Ansible followed mostly by Docker.
Search category − Elasticsearch dominates, followed by Soir.
API integrations − Twiio rules, with Facebook API and SendGrid behind.
Advanced Technologies − Used by startups are Machine Learning, Big Data, and NLP.
Big Data software − Startups use Hadoop, Hive and Amazon Redshift.
Frameworks/libraries − In 2016, as a component of the stack, the open source technology of Git was used by 70% of the companies as it offered the flexibility of version control and security solutions. It still is widely used. Other libraries used by companies are JQuery (63%), Hadoop (63%), Jenkins (43%), Ajax, Prototype and Backbone (37% each), Selenium (27%), Spring (23%), and Node.js (20%).
As per www.entreprenuer.com, other tools required by startups are in the categories of Internal Communication (Facebook at Work, Slack, Yammer), Email (Google Apps, and Office 365), Marketing mails (Sendgrid, Mailchimp and Mandrill), Project Management (Asana, Trello and Wunderlist), Wireframe (Balsamiq, Mockflow), Prototyping (Invision), Hosting (Amazon Web Services), Monitoring (Pingdom, Sentry, Uptime Robot), Analytics (Google Analytics, Flurry), Customer Support and Ticketing (Freshdesk, Useresponse, Zendesk), Customer Chat (Chatlio, Olark), Social Media Management (Buffer, Hotsuite), Finance (Freshbooks, Quickbooks), Cloud Drive (Dropbox, Google Drive, OneDrive), CRM (Insightly, Sugar, Zoho).
So what do these technologies really mean?
Ruby on Rails − Aids in the building of any web application in the quickest and easiest manner. Models can be constructed sooner than expected. Used by Twitter, Github, Walmart Labs etc.
Django − Less coding, powerful apps built and deployed quickly, with a focus on automating is what Django is all about. Used by Instagram, Pinterest, Disqus etc.
Node.js − This platform makes it possible to build options into an application which gives the user a great real-time experience; for eg. chat, multi-player games etc. Used by Yahoo, Microsoft, LinkedIn etc.
NoSQL − Used when large amounts of data are to be collected, stored, processed and retrieved rapidly and efficiently for any application without posing any performance concerns. Eg. of these databases are Cassandra, Redis, MongoDB etc. These are typically used by Facebook, Google, Twitter, and Yahoo.
Cloud Computing − Hosting and scaling of web applications while paying only for the resources used has never been easier. Providers include AWS, Rackspace, Salesforce, Microsoft etc. Cloud computing is used chiefly by Pinterest, LinkedIn, AirBNB. NASA, Reddit, Dropbox, Instagram, Quora etc.
Startups are usually in varied sizes and types. Their technology stack is integral to the company to solve issues and accelerate its business and growth. Choose the best stack that will enhance to making your company one of the most valuable ones.