Buddy - automated development and deployment achieved
Introduction:
Companies tend to always want to deliver high end services to their customers. And, in a bid to do this, their infrastructure build become complex and expensive, since it requires 24/7 maintenance, even though, a complex and expensive infrastructure build is not the effective way to deliver high end services. However, what if I told you there was a platform that enables companies to focus on the shipping and automation metrics improvement, since this is the effective way to deliver high end services. Take a walk with me, let’s talk BUDDY.
BUDDY:
BUDDY is a platform based on the blockchain. This platform makes development more fun and less tasking. BUDDY contains a number of tools that takes the arduous and time-wasting part of development and throw it in the trash can. I know you want to know how BUDDY achieves this. Well here it comes:
DevOps Marketplace:
The DevOps Marketplace is to BUDDY as the playstore is to google. The DevOps marketplace is a place where web developers can go to and they are sure to get automation scripts. Just like the playstore, where some apps are free and paid for, in the DevOps marketplace, some scripts are free, while some scripts are premium. Also, developers can submit their scripts to the DevOps marketplace and they can earn cool cash.
BUDDY takes the accessibility of this marketplace to another level by opening the market place to third party developers. These third party developers can then provide their actions in the BUDDY platform, and then use this actions in their development processes. Check out the image below, which shows some third party actions from the BUDDY ecosystem and their use cases.
To ensure that only quality codes are submitted to the DevOps marketplace, the marketplace is curated. The curation of the DevOps marketplace also prevents plagiarism, while encouraging and providing support to developers.
To let us see the way the DevOps marketplace works, lets take a look at Securify.
Securify is a service that is provided by Software Reliability Lab. It is a free service. Securify ensures that Ethereum contracts are secured and free from any and all vulnerabilities. This is achieved by the automatic analysis of Ethereum contracts through a website. Check out the image below, which shows an example.
You see, once securify is unveiled on the DevOps marketplace as a dedicated action, users can use securify to ensure that their codes are free from vulnerabilities. This would improve the quality of codes, and at the same time, apps would be deployed at a faster rate (since there would be no need to do code rewrites and additional testing, as Securify has taken care of that).
Private Automation GRID:
The Private Automation Grid enables the running of private BUDDY instances.
At the moment that new BUDDY instances are created, their roles are automatically decided. The first two instances create a master-master replication. This replication is to enable the creation of a high availability system. Then, all other instances created would be regarded as agents, these agents would be used to run pipelines in parallel.
BUDDY can end instances that are no longer required, so as to keep up with the load on the system. BUDDY does this by making use of integrations with IaaS providers such as AWS, google cloud, or any other BUDDY GRIDs that are trusted and provided by BUDDY and/or its certified partners.
From our discussion thus so far, we can see that the private automation grid has enabled a high availability auto-scalable infrastructure, with the user fully in control.
Shared Automation Grid:
This is almost the same as the Private Automation GRID. The shared automation GRID comes into play when a user wants to run instances of a task that require a lot of resources, but the user does not have the necessarily resources. With the shared automation Grid, the instances can be run by other nodes (users) that have the resources readily available.
The Shared Automation Grid and the Private Automation grid can be made to work with each other. For example, the private automation grid can be used to deploy a software, while the testing of the software can be shared unto other users via the shared automation grid. This would enable all the required tests on the software be done simultaneously.
Nodes that run the instances in the shared automation GRID can report other nodes that are broken or dishonest, either due to technical issues or due to abuse. Check the image above.
It should be noted however, that only actions that are accepted in the DevOps marketplace after curation are accepted in the Shared Automation Grid.
The Compute Unit:
The compute unit is the basis of the shared automation GRID. The compute unit can be regarded as the node of the Shared automation Grid, as when an instance owner decides to share the instances of the task that requires a lot of resources, the compute unit is the entity that can be assigned as a node so as to run the instance of that task. The specification of a compute unit is 2 vCPUs, 2GB of RAM and 4GB of SSD storage. Only instances that pass the benchmark of a standardized VCPU would be accepted by BUDDY, while the storage is used to perform, save and transfer tasks. Once tasks are completed, the storage is released.
Compute units can be rented by requesters in exchange for BUDDY tokens (billing is done per second). The BUDDY tokens are only paid to the supplier when a task is completed. The requester sets the maximum amount he is willing to pay, while the supplier set the minimum amount he is willing to collect, while providing a timetable as well.
The compute unit uses a 3-layer parallelism system. BUDDY does this so as to create a strong demand for compute units. With the 3-layer parallelism system, project are divided into pipelines, pipelines are dived actions, and actions are divided into tasks.
At the project level, multiple pipelines are run at once, and this depends on the number of compute units available. For example, for 2 pipelines to be run at once, 2 compute units are needed, while for 3 pipelines, 3 compute units are needed.
At the pipeline level, multiple actions are run at once. These multiple actions are run within a pipeline. This means that to run 2 pipelines with 2 parallel actions, 4 compute units are needed, while for 3 pipelines with 3 parallel actions, 6 compute units are required.
At the action level, multiple tasks are done concurrently. This means that to run 2 pipelines with 2 parallel actions that have 2 tasks each, 8 compute units are needed, while for 3 pipelines with 3 parallel actions that have 3 tasks each, 12 compute units are needed.
Now, we have seen how BUDDY provides automation to web developers. However, I am happy to state here that, BUDDY also provides automation to blockchain-based projects. Yes, you can smile right now. BUDDY does this via:
BlockchainOps:
With BlockchainOps, blockchain developers use automated scripts to aid them in the development of their blockchain projects. These automated scripts includes, maintainenance and deployment scripts. With these scripts, blockchain developers can use the time spent on repetitive task to focus on other parts of the blockchain project.
BlockchainOps already has EOS support, and the BUDDY team is working vigorously to ensure that other blockchains such as NEO, ICX, TRX, NEM, ETH, etc are supported.
Check out some BlockchainOps Actions from the DevOps Marketplace.
Check page 28 of the BUDDY WhitePaper to see an example pipeline for a dApp project (rentcherry)
dAppOS:
dAppOs is an environment that allows the development of dApps. dAppOs can be regarded as the bootstrap of blockchian-based projects. dAppOs is similar to Sandboxes, as it can be extended to external services such as MySQL, Redis, Mongodb etc. Let us take a look at how dAppOs can be used:
As a development, staging or preview environment:
dAppOs can be used as an environment for testing and preview dApps. dAppOs can either be a standalone, or it can be assigned to branches.
When it is assigned to branches, each branch gets an instance of dAppOs along with the services required attached. With this, an automated fully-isolated stack is in sight for every branch.
Training tool:
dAppOs can be used as a training tool in blockchain training. This is due to the fact that with dAppOs, the time wasted on installing and configuring bunches of dependencies and stacks just to prepare the environment is saved, and this time can be converted to just focusing on the real training required.
A template universe is created:
With dAppOs, a template universe is created. This template universe can be regarded as a marketplace for SandBox & dAppOs templates, which are created by 3rd party developers.
dAppOs Swarms:
Recall the shared automation grid. With the shared automation grid, thousands of dAppOs (dAppOs swarms) can be spun around the world, and this dAppOs swarm would only exists for the time needed to execute a task. With this, cost is reduced, and the execution of tasks are effective and efficient.
Distributed Blockchain as a Service:
With BUDDY, blockchain has been turned into a service which is readily available to all and sundry. With this, blockchain based solutions can be designed, tested and deployed effectively and efficiently, using distributed ledgers.
Advantages of BUDDY :
- Time wastage is prvented, as development is automated
- With the private automation grid, Users are fully in control
- Not much resources are required by BUDDY, when compared to other super computers
- The user experience is very simple and easy to navigate. This is a plus of inexperienced users
- With the shared automation grid, all projects are feasible
Use-Cases:
Use-Case 1:
Mr. Ewe is a programmer, he hears about BUDDY and then he decides to make premium automated scripts, which he puts up for sale on the DevOps marketplace. With this, he has succeeded in making cool cash for himself.
Use-Case 2:
Gechi decides to delve into the development of blockchain based projects. She hears of BUDDY, and then she decides to use automated scripts in her development process. This greatly prevents her from wasting time, and she finishes her project quickly.
The BUD token:
The BUD token powers the BUDDY platform, and it is used to further peer to peer exchanges on the BUDDY platform. Some peer to peer exchanges can include, the payment of a web developer for developing a premium automated script displayed on the DevOps marketplace, payment for rentage of compute units, etc.
Conclusion:
As seen from the discussions above, BUDDY ensures automation development and deployment for web developers through the DevOps marketplace, Private Automation Grid and the Shared Automation Grid. BUDDY didn’t stop at that point, instead, they also brought automation development and deployment for blockchain based projects through BlockchainOps, dAppOs, and Distributed BaaS.
From the image above, we see the development workflow of a dApp with BUDDY. We can also see that the obstacles that make developers run from blockchain development is brought down, hence, a lot of attention is brought to the blockchain. And as more attention is brought to the blockchain, prosperity of the blockchain becomes graspable.
For more resources and information, check out:
BUDDY website
BUDDY WhitePaper
BUDDY OnePaper
BUDDY TokenSale
BUDDY YouTube
BUDDY BitCoinTalk
BUDDY Facebook
BUDDY Telegram
BUDDY LinkedIn
BUDDY Twitter
BUDDY Medium
BUDDY GitHub
Check out this Medium Article that explains DevOps & EOSIO Smart Contract Integration
Buddy already have a working product, check it out here
Check out this introductory video
The Team:
Testimonials:
Check out some testimonials,
Customers:
Roadmap:
Market Partners:
This is an @originalworks post, check it out here
Link to tweet:
https://twitter.com/okiTwiTs/status/1023961770661228544
buddytwitter
buddy2018
This post has been submitted for the @OriginalWorks Sponsored Writing Contest!
You can also follow @contestbot to be notified of future contests!
Great piece of work @okipeter
I've noticed that you won some decent prize. Well done buddy! :)
That's a way to go.
Anyway just to summarize: From my understanding it will simplify work done by developers. Sometimes Im wondering if being tester/developer is not a risky job those days. All those new tools will make their life easier but since developers will be so much more efficient ... will there be enough jobs for them? I wonder. What do you think?
upvote on the way :)
yours,
Piotr
There would be enough jobs. Jobs would only be done faster, effectively and efficiently.
Thank you for your reply @okipeter
Appreciate. Yours, Piotr