Simplifying Devops with Kaholo

Simplifying Devops with Kaholo

  • Aviad Diamant

DevOps and delivery are constantly on the minds of R&D leaders, engineers, and management. Almost every application or service requires a deployment phase to provide a new service to customers or upgrade an existing one. With new agile methodologies, CI/CD processes become long, intricate, and sometimes clumsy. Continuous integration processes build and test the code after every commit, then deploy it to different environments; execute different functionality, performance, security, and other types of tests; and react to the results of these tests. This sometimes affects the experience of real users in production environments.

These processes can be difficult to build and even harder to maintain. DevOps engineers supply the infrastructure for the whole CI/CD process, then support and update it. They must be familiar with the many technologies, tools, and systems involved in the build and deployment procedures, must stay up-to-date, and in some cases, must have a deep understanding of multiple build tools, infrastructure providers and types, and many different technologies:

● MSBuild, Maven, and npm for building code
● Cloud providers like AWS, Google Cloud, and Azure
● CI tools like Jenkins and TeamCity, CircleCI, TravisCI, Github Actions…
● Software architectures like microservices and Serverless
● Orchestrators like Google’s Kubernetes implementation–GKE, AWS ECS, EKS, or AKS
● Test frameworks such as NUnit, JUnit, Jasmine, and Cucumber
● Configuration Management: Chef, Ansible, Puppet

And the list goes on.

The need to know and master so many technologies as they evolve and to provide new capabilities can be overwhelming, but help is on the way: The Kaholo toolset, which features a user-friendly interface, simplifies the DevOps process by making your traditional deployment tools and technologies more accessible and user friendly.

AWS Deployment with Kaholo

Many AWS managed services take the uptime responsibility from DevOps yet still demand an understanding of configuration and maintenance of the tools used.

The people behind AWS understand how complicated a cloud architecture deployment can be and have created several tools to simplify the process. CloudFormation, Beanstalk, and CodePipeline are only part of the AWS DevOps solution for automating the deployment process. Each tool has its own pros and cons, and all tools have an intense dependency on AWS modules and configurations.

This dependency can be an advantage if your system architecture is completely based on AWS tools and capabilities, but if an exterior tool or system is introduced, it becomes complicated and almost impossible to use AWS tools for system deployment.

Another aspect is the cost. Using AWS tools for deployment might not be that expensive. Still, for a rapid development R&D group, with many CI and CD jobs running for many microservices, building and deploying for R&D, stage, and production environments, a pay-per-use plan might not be so cheap and could affect your company’s cloud budget.

Other tools, such as Travis CI, CircleCI, and Drone.io provide a long list of deployment capabilities, allowing the AWS deployment process to be rapid, stable, and prompt. However, they are generic and agnostic and require DevOps to provide the commands and configurations to execute the deployment and keep maintaining and updating the tools.

Kaholo provides a set of AWS-designated plugins that allow any type of component or managed service to be deployed to AWS, using the AWS tools or other deployment solutions such as Terraform or Ansible. Deploying containerized applications, running in ECS or on EKS, using Fargate or on EC2 instances, can be a clumsy process.

DevOps must interact with, configure, and maintain many different AWS systems and obtain knowledge and experience from all the configurations and dependencies they require. Kaholo simplifies the deployment processes as it wraps all the configuration with an information layer (of built-in configuration options) and a user interface.

Plugins such as AWS EC2 and AWS S3 allow you to swiftly launch new instances and create new buckets, then wait until the instance or buckets are available and continue the deployment process.

Creation of a simple EC2 instance with Kaholo
Creation of a simple EC2 instance with Kaholo

 

Kaholo also makes creating an EKS cluster a straightforward task, with a dedicated plugin and out-of-the-box configurations.

With Kaholo, AWS deployment is extremely simple, fast and even fun. What else can it do?

Building a CI/CD Pipeline

For every DevOps team, CI/CD is the main goal—other than the production environment, which is mission-critical for DevOps. Successfully building and maintaining a fast and efficient CI/CD process is a complicated task that never ends. The CI part of the process constantly updates due to new code and tests, and the CD part must be adjusted accordingly. Continuous integration processes are built so that you can easily add and test new code and ship it to customers as soon as possible. Continuous deployment allows you to rapidly update this new code for integration, testing, and production environments.

Kaholo can make both processes simpler, enabling you to build code—whether it’s Node.js, C#, Java, or other languages—with a dedicated plugin and manipulate it, according to R&D needs, using the Kaholo IDE plugin code. Test steps, including test execution, validations, and reports, are also part of the Kaholo user interface and can be executed using designated plugins, allowing you to integrate them very easily into the CI process.

After completion of the first test phase (usually consisting of unit and component tests), the CD step can kick in and deploy the new code to any environment the DevOps want. Whether it’s an on-premise deployment or a cloud infrastructure (AWS, Google Cloud, and Azure are supported), Kaholo provides code to configure and deploy the application code and validate the deployment. As every Kaholo process is constructed of building blocks, DevOps can decide what to perform next—functional, UI, or security tests, or just continuing with the CD process to the next environment. At every point in the process, DevOps can add a notification step that will share the status of the deployment in different ways (email, Slack, and more).

Kaholo also gives the option to schedule processes. This means that the trigger to start a process will not be an action done by R&D, but a step that runs based on a pre-defined date and time. This is usually relevant for running big or massive test packages, such as nightly tests or regression suites.
Selenium has a dedicated plugin that allows you to run Selenium tests, whether inside a docker container or on a running instance.

Using Events for Maintaining Stable Environments

Maintaining fully functional, highly available production and dev environments is crucial. The product’s production environment is obvious, but development and test environments have a huge effect on R&D productivity and can also cost a lot of money. Kaholo allows you to configure events or triggers for automatic processes that can handle and provide solutions for different infrastructure problems and respond to them without human intervention. A simple example is maintaining a working EC2 instance. This task can be easily configured and have a huge effect on the business.

Other events, like detection of security incidents through API scanning, or DDoS (as it occurs), can trigger a more convoluted response, which includes a reaction and transformation from several components as well as notifications to relevant stakeholders. Dev and test environments can also be maintained using rollback rules and defining steps to perform based on failed tests or deployments, which makes the developers’ work smoother and allows DevOps to focus on new content rather than maintaining existing content.

Kaholo provides a wide range of triggers, and every DevOps team can define its required response according to company policy or standards.

Summary

Kaholo is here to simplify life for R&D. It provides a user-friendly interface for complicated processes and gives the less-technical organization members the ability to plan and build processes and offer full reports on their utilization and execution. At the same time, it enables more-technical users to control the CI/CD process from the code level and manipulate and operate the process according to specific R&D needs.
Kaholo helps you to deploy simple architecture systems. It assists with parallel deployment to different clouds and allows you to start performing different maintenance and upgrade activities on the different environments. It is completely open-source, and will soon offer a SaaS service.
Simplify your DevOps automation. Get started with Kaholo today.

Close Menu