/kiss.ts

The Keep It Simple Stack (whishlist)

KISS.TS

The Keep It Simple Stack Software (wish list)

See presentsaton here: https://www.slideshare.net/ethanram/kissts-the-keep-it-simple-software-stack

Technology Requirements

  1. Few technologies and languages to master >> enables small full-stack teams
  2. Few infrastructure components fully integrated into a DevOps platform
  3. Easy componentization of code, modules, services and apps.
  4. Mature enough to be used in corporate software
  5. Simple to start working with and use
  6. Scalable and performant
  7. Open standards
  8. Open-source (free) infra with an active community
  9. Package manager
  10. Deploy on Cloud and on-Prem.

One Coding Language

  1. Scripted and typed
  2. Backend and frontend
  3. Dev, Test and Devops
  4. Unit test, Integration Test
  5. Excellent dev tools
  6. Opinionated

KISS.TS - The Keep It Simple Software Stack

  1. TypeScript - Simple but strong, scripted and typed, frontend and backend, excellent toolset and linter [Microsoft]
  2. ReactJS - componentized modern frontend development [Facebook]
  3. NodeJS - performant JavaScript-based runtime environment with excellent componentization and package manager [Node Foundation]
  4. Koa Server - a server framework based on pluggable middleware using async-await model.
  5. PostgreSQL - The only open-source DB that is both RDBMS and Not-only-SQL: ACID, web-scale, No-SQL feature set [PostgreSQL Global Development Group]
  6. Docker Containers - a SW packager and a virtualization layer that simplifies delivery and lower the cost of running a product [Docker]

Ok, we will need some extra tools and libraries around the core to go for a large-scale developement and deployment operations:

Additional Libraries and Tools

  1. Jest - easy library for JavaScript Unit-testing with test-first approach and code-coverage built-in. [Facebook]
  2. Cucumber - a structured language to write automated integrated test in business requirements terms.
  3. Artillery - An easy-to-use load testing toolkit. Make sure your app scalabls, performant & resilient under high load.
  4. Selenium WDIO -
  5. Docker Swarm - easy-to-use orchestrators and cluster management, on any cloud infra [Docker]
  6. PM2 / PMX - cluster mamanger for Node, includes watchdog, auto scale-up/down, log mgmt, perfromance counters and JMX-like console.
  7. VS Code - IDE [Microsoft]
  8. Jenkins - The defacto DevOPs standard tool in building Continuous Integration and Continuous Delivery pipelines.
  9. Ngnix - Let IT unit handle the clustering, load-balancing, application routing, SSL offload DDOS etc.
  10. Core OS
  11. Git / Bitbucket - excellent source control and build pipelines management [Atlassian]
  12. JIRA - The ultimate tool to manage software delivery flows: from agile development, to product management and support. [Atlassian]
  13. XRay - a test suite integrated into JIRA for manual and automated test planning, management and executions.
  14. Artifactory - this is where you store components: dockers, NPM packages, snapshot builds, release builds etc.
  15. Zabbix - production environment monitoring and alerting tool that IT and support love: simple, strong and creates great visualizations.
  16. Google Could - because the second largest always tries harder!
  17. Kafka Q
  18. ELK stack: Logstash, ElasticSearch & Kibana - central log server that also enables creating real-time IT-monitoring and business-analytics dashboards.
  19. Ansible: