-
Notifications
You must be signed in to change notification settings - Fork 0
Concept
The Concept Section
Few time ago I was trying to install Ansible product on a Windows Home desktop machine, and I saw a lot of problems, because for instance in Windows machines Ansible and other delivery tool-sets require Python or other base frameworks to be operate normally. In that machine I was not able to install Ansible, because of compiler issues. Then, at that time, I realized that most used delivery products are strong, robust, and even well documented, however they are very heavy in terms of installed and loaded libraries, resources used (RAM memory, disk space, network traffic, etc..., and usually they do not implement multi-threading paradigm for processing multiple hosts commands together and speed up execution time). In the remote case you want to downgrade your product version, in order to load less components, or if you want to extend some custom commands more useful for your business, or you want to create new custom capabilities or custom client for new connection protocols, all that is a pain in the ass (sorry for the colorful sentence, however there is not other way to describe the complexity of the problem) and sometimes it's even impossible to realize.
We offer the ICES paradigm and it means :
-
Easy to
I
nstall - Because you can plan on premise or on the cloud the start-up script to install Go-Language binaries and a single shell command install the client, eventually you can add some more custom plugin libraries to extend the product with capabilities used for your business goals. -
Easy to
C
onfigure - Because all configuration can be described in environment files (see project structure) -
Easy to
E
xtend - Because you can plug and configured folder for extending base and own clients, deploy commands, client plugins, etc... Interfaces are easy to use and most of client/server communication functions are built-in the subsidiary repositories. -
Easy to
S
cale - Process isolation allows user to scale parallel executions, the product uses an order of memory size around 2-3 Kb per 10 parallel executions, and paralleling of process execution for any of required steps on the multitude of servers (hosts) required for the installation.
Using this product you have a minimum burnout in terms of re-design of the current deploy procedures and at the same time you can improve timeline for deploy features. We are planning a further scalability in terms of connectivity with: Web Services, Web Streams, Other custom streams, in order to provide a continuous delivery mode, and tasks are activated by external channels (It can be useful for integration with a lost of Ci-Cd frameworks, Vendors and Cloud Streaming engines, in order to remove any limitation on the use of the product). We consider to develop main streaming component classes, some samples for most relevant Vendors, and Cloud providers. We will leave the freedom to write easily integration plugins with any of the existing Vendors, Web-Servers, Cloud Providers, accordingly to the company need.
Only a single request we make to the end-users of this product and it is to please share the new plugin repositories with the Go! Deploy Community, accordingly to Open Source contribution paradigm and the Community concept. It's a freedom of any of you to share plugins with the community, it's not mandatory however it's kindly required, in order to give us the opportunity to share in this Wiki, the new available features with anyone can reuse it. In this way the user can become a contributor of a new modern, flexible and open source delivery technology.
We take the responsibility, in the case you embrace the Community Idea, to promote an realize a costless open source API infrastructure, made of:
-
Cloud ready and ICES paradigm compliant API server, that will be able to manage and interact with a multi-domain of Go! Deploy Continuous Delivery Servers.
-
Cloud ready and ICES paradigm compliant Ci-Cd Planner server, that will be able to schedule activation of Deploy Tasks and Manage Updates / New Installations from remote of / on a multi-domain of Go! Deploy Continuous Delivery Servers. It will expose TLS/Token protected API(s) to the final infrastructures in order to allow most used Ci-Cd framework to call for installations, deployment or upgrade of entire Go! Deploy domains.
Final architecture will look like as shown in following image:
Come back to the Home Page