Self-constructing applications, overview

Principles of the Jetware self-constructing applications in pictures.

  • Overview Self-software systemsonomous
  • Principles 1.Software components that exactly comply with the application requirements 2.Simple automated management of the entire application life cycle 3.It works the same anywhere—on any operating system, platform,or hardware
  • Exact compliance with the requirements Programs and libraries are selected in exact compliance with the application requirements Complex combinations of programs Selection options: Programs Forks of a program Versions of a program Program builds with various options or patches
  • Exact compliance with the requirements Example of the selection options Program MySQL,PostgreSQL Forks of a program MySQL,MariaDB,Percona MySQL Versions of a program PHP 5.2,PHP 5.6,PHP 7.0 Program builds with various options or patches MongoDB + RocksDB,Nginx + lua_patches
  • Exact compliance with the requirements Example of the complex combination of programs An application can have a combination of very old and the newest versions of components,alternative builds or builds with additional patches: PHP 5.2 legacy nginx with lua patches NodeJS 7.1.0 current MongoDB with RocksDB support
  • Simple automated management Complexity hiding Developer sets the main requirements Details are resolved automatically—self-integration and self-configuration Automation of all stages of the life cycle Compilation and build,integration with the environment,testing,deployment, updates Integration with the management of distributed systems Deployment,orchestration,service discovery,persistent storage
  • Complexity hiding: example Requirements Result http 8080 Drupal Attached: Drupal 8,PHP 7 Memcached fpm,MariaDB,Solr 6,Java 8,Nginx,Memcached Solr Drupal has been set up to http.port=8080 use Solr and Memcached Nginx listens port 8080 serve Drupal with php-fpm
  • Automation of stages of the life cycle Source code + libraries + environment requirements Developer Compilation and build integration with the environment Self- Testing construction Deployment to the server Container or VM-image
  • Integration with distributed systems Interface for a management Orchestration,service discovery system: Kubernetes Service discovery AWS CloudFormation Persistent storage Docker Swarm mode http 8080 Docker Compose Consul var/solr Mesos Marathon OpenStack Heat var/drupal Zookeeper var/mysqld
  • Application works the same everywhere Autonomous All the required programs and libraries bundled Modules decoupled from the operating system Reproducible Self-integrating and self-configuring modules Modules are built in the reproducible environment Universal It works on the operating system directly It does not require additional isolation tools
  • Autonomous application 1.All the required programs and libraries bundled 2.Modules decoupled from the operating system Operating system
  • Reproducible application Self-integrating and self- Modules are built in the configuring modules reproducible environment
  • Universal application 1.It works on the operating system directly 2.It does not require additional isolation tools Compatible with bare metal,containers,and virtual machines: Direct installation into any Linux Containers: Docker/LXC/rtk/Snappy Virtual machine images: VMWare/VBox/KVM/Xen Dedicated servers and VPS Clouds: Amazon Web Services,Microsoft Azure,Google Cloud Platform Development tool: Vagrant
  • Result 1.Elimination of manual operation and settings 2.Low complexity of installation and operation 3.Rapid testing,deploy and update 4.Quality stable environment 5.It works the same everywhere
Published
2016-09-10