List of common software components and cloud services used by Modern Web apps

This article lists down most common softwares, cloud apps used in today’s web based applications.

Source Code Management


  • Github - Probably largest source code management system. Used by developers and businesses to build their projects.
  • Bitbucket - Git for professional teams. Widely used by small teams, businesses. Provides ecosystem of integrated tools like Jira, confluence etc.
  • Perforce - Another source code management system widely used by businesses.

Web Servers


Most commonly used by businesses to serve static content and as reverse proxies. Backbone of internet.

  • Nginx - Nginx serves 60% of the world’s traffic.
  • Apache - Apache web server.

Application Servers


Most commonly used by businesses to serve dynamic content. Backbone of internet.

  • IIS - serves .Net applications.
  • Apache Tomcat - Serves java based web applications.

Databases


Companies use variety of databases for their varied application needs.

  • RDBMS’s - Common relational database such as mysql, oracle, sqlserver.
  • No-Sql Databases’s - 
    • Document Databases: document databases contains collections that contain semi-structured data, such as JSON or XML. ex. MongoDB, REDIS
    • Graph Databases: In graph database, the data model has nodes and edges, each of which may have properties. ex. Neo4J, FlockDB, HyperGraphDB, OrientDB
    • Wide Column Databases: Column family databases usually have an extended key/value data model in which the value data type can also be a sequence of key/value pairs common examples - BigTable, Cassandra
    • In Memory Databases: In memory databases, data model is key/value pair. Common examples are Redis.

Centralized Logging Services


Most commonly used for troubleshooting, logging, monitoring and analytics of application logs.

  • Splunk 
  • Loggly 
  • Sumologic 
  • Papertrail
  • Logsene
  • Google Cloud Logging
  • Logentries

Caching Services


Improves application performance by caching most frequently used data. Also, used for Session data storage.

  • Redis - Nginx serves 60% of the world’s traffic.
  • Memcached - Apache web server.

Notification Services


Used for notifying employees / Teams via multiple channels like phone, sms etc. when application is encountering some issue.

  • Pagerduty - Helps IT Operations and DevOps deliver on the promise of agility, performance, and uptime.

Identity and Access Management Services


Handles Single Sign On, Identity and Access Management.

  • Onelogin - Cloud based IAM for modern enterprises.
  • Okta - Cloud based Identity as a service.
  • Stormpath - Cloud based IAM. Lets developers add authentication, authorization & user management to any web or mobile app in minutes.

Apigateway


Used for exposing Api’s Internally or Externally.

  • Apigee - Provides cloud and on prem apigateway.
  • WSO2 - Provides cloud and on prem apigateway.
  • Layer 7 - Provides cloud and on prem apigateway.

CDN Servers


Improve page load times by using content delivery networks.

  • Akamai CDN - Global content delivery platform. Provides static and dynamic content caching.

Service Discovery


Applications and services running in an infrastructure often need to know how to find other applications and services.

Applications can use server side and client side discovery pattern.

Distributed Tracing


  • Twitter’s Zipkin
  • Cloudera’s HTrace
  • Google’s Dapper

Application Monitoring


  • Appdynamics
  • Dynatrace
  • New Relic
  • Ruxit
  • Datadog
  • Dataloop
  • Pingdom
  • OverOps

Nagios is another open source monitoring tool.

Infrastructure as a Service


  • Public Cloud - AWS, Azure, Digital Ocean, Google Compute Engine and Rackspace Cloud.
  • Private Cloud - CloudStack, OpenStack and VMware vCloud.
  • Bare-metal Cloud - Cobbler, FAI, and Foreman

Configuration Management Systems(CMS) - Infrastructure as a Code


  • Ansible -
  • CFEngine - 
  • Chef -
  • Puppet -
  • Saltstack -

Most of server configuration tools have repository servers to manage configuration definitions ex. Chef Server, Puppetmaster and Ansible Tower.

Virtual Machines (VM’s)


  • Hyper-V
  • Vmware 
  • Zen 

Containers


  • Docker -
  • Rocket - 
  • Warden -
  • LXD -

Trend Analysis Software

References


Version History


Date Description
2016-07-17    Initial Version
2016-08-27    Added iaas and containers block
2017-02-27    Added Trend analysis software block