Error Icon

Something went wrong. Please try again

loading...
Home>Blog>Accelerate Microservices Development with KubeRocketCI

Accelerate Microservices Development with KubeRocketCI

May 19, 2023 | 8 min read

In this article

  • What is KubeRocketCI?

  • Why and How Was KubeRocketCI Developed?

  • Whom is KubeRocketCI Made For?

  • KubeRocketCI Key Differentiators

  • What Benefits Does KubeRocketCI Bring to Development Teams?

  • KubeRocketCI Main Features

  • Use Cases

  • In Conclusion

In this era of rapid technological advancements, software development teams face a range of challenges that demand innovative solutions. Microservices development, accelerated delivery timelines, and higher requirements for quality, security, scalability, and performance have become essential considerations for development teams striving to stay competitive.

Recognizing these trends and requirements, software solutions such as KubeRocketCI (previously known under the name EPAM Delivery Platform) have emerged to address the unique needs of development teams. By providing a centralized development platform, enabling faster code delivery, and emphasizing robustness and security, KubeRocketCI empowers teams to tackle these challenges head-on.

In the following sections, we will delve deeper into the capabilities and features of KubeRocketCI, exploring how it can effectively address the needs of development teams in the dynamic world of software development.

Accelerate Microservices Development with KubeRocketCI

What is KubeRocketCI?

KubeRocketCI  is an open-source cloud-agnostic SaaS/PaaS solution for polyglot microservices development, licensed under Apache License 2.0. It provides a pre-configured set of CI/CD tools and patterns, which allow a user to start product development quickly with established code review, release, versioning, branching, and build processes. The platform includes static code analysis, security checks, linters, validators, and dynamic feature environments.

In addition, it consolidates the top Open-Source CI/CD tools from the CNCF Landscape into a single streamlined software delivery platform by running them on Kubernetes/OpenShift, enabling solution development in isolated (on-prem) or cloud environments.

KubeRocketCI is a centralized place for developers within the organization to access delivery information, tools, and support for building and deploying applications.

Boost your delivery with the development culture based on the modern CI/CD stack, golden path, and self-service capabilities of the KubeRocketCI.

KubeRocketCI technology stack

KubeRocketCI technology stack

Why and How Was KubeRocketCI Developed?

In response to the increasing client demand for microservices and containerized applications, there was a need for a solution that could effectively streamline the delivery of these microservices. KubeRocketCI was initially developed as an automation engine to help set up the CI/CD infrastructure quickly and efficiently. Later on, it was enabled to run KubeRocketCI on both vanilla Kubernetes clusters and OpenShift. The picture below represents the tools that have been added during the whole KubeRocketCI’s lifetime.

Evolution of KubeRocketCI over time

Evolution of KubeRocketCI over time

The operator pattern approach for managing resources and components was adopted to further enhance the platform, allowing migration from an Ansible-based configuration to a more cloud-native approach. This helped address the increasing number of cloud-native components and tools that emerged over time, covering various aspects like observability, security, scalability, performance, and monkey testing.

Finally, KubeRocketCI was made open source to encourage feedback and collaboration, enabling the community to customize the platform as needed and contribute back to the main project, ensuring that all features are maintained in a single place. KubeRocketCI now supports Kubernetes Native CI/CD Pipelines with a GitOps approach, leveraging Tekton and Argo CD tools.

Whom is KubeRocketCI Made For?

The KubeRocketCI is designed to cater to various target audiences who require an efficient and flexible solution for managing and deploying microservices-based applications. The following are two primary target audiences for KubeRocketCI:

Teams involved in greenfield projects

KubeRocketCI is a well-suited solution for development teams embarking on greenfield projects that involve the microservices development running in containers, utilizing infrastructure components, and where either no CI/CD pipelines exist, or the existing pipelines are not sufficiently developed. By automating infrastructure setup, standardizing processes, and supporting popular development tools, KubeRocketCI empowers teams to build applications from scratch while maintaining efficiency and consistency rapidly. The projects powered by KubeRocketCI can be related to any industry.

Organizations focusing on microservices-based architectures

KubeRocketCI is tailored for development teams working on complex, modular applications that utilize microservices-based architectures. By providing tools and processes that streamline the creation, deployment, and management of container-based microservices, KubeRocketCI enables these organizations to fully leverage the flexibility and scalability benefits of microservices.

The platform's support for both Vanilla Kubernetes and OpenShift clusters, as well as its integration with popular tools like Tekton, ArgoCD, Nexus, and GitLab/Github, ensures that development teams can choose the best solutions for their specific needs.

Providing tools, frameworks, and processes, KubeRocketCI supports:

  • Agile development methodologies - help rapid iteration, collaboration, and software delivery

  • DevOps practices - enable continuous software integration, delivery, and deployment

  • Cloud-native application development - build, test, and deploy applications in cloud environments

  • Development of microservices-based architectures - enable the creation, deployment, and management of microservices based on containers

  • Onboarding and training of new developers - providing access to development environments, tools, and resources and enabling them to quickly ramp up and become productive members of the development team

Code delivery flow

Code delivery flow

KubeRocketCI Key Differentiators

While similar solutions such as Azure DevOps, Codefresh.io, Harness, and Buildkite also offer pre-configured pipelines for popular frameworks and integration with various tools and services, there are features and benefits that make KubeRocketCI stand out. Here are the main ones:

  • Polyglot microservice development: KubeRocketCI supports multiple programming languages and allows custom application templates, providing a versatile environment for diverse development needs.

  • Kubernetes native approach: The platform is designed for seamless integration with Kubernetes, leveraging its features and capabilities to enhance deployment, security, and scalability.

  • Comprehensive environment: It offers a complete toolset and automatically configured environment, simplifying setup, and streamlining the development process.

  • Open-source: KubeRocketCI's open-source nature fosters collaboration, feedback, and continuous improvement, driving innovation and adapting to evolving user needs.

  • Vendor-agnostic: KubeRocketCI is designed to work independently of specific vendors, providing flexibility and adaptability for organizations with diverse toolsets and preferences.

  • Quick start for greenfield projects: KubeRocketCI is particularly suited for new projects, as it can rapidly deploy not only the platform but also configure baseline infrastructure for observability, security, and scalability.

What Benefits Does KubeRocketCI Bring to Development Teams?

  1. Accelerated development process: By automating infrastructure setup, providing pre-configured templates, and offering CI/CD pipelines, KubeRocketCI enables development teams to quickly start new projects and maintain efficient workflows.

  2. Standardization and consistency: KubeRocketCI promotes standardization and consistency across projects by providing a unified platform for managing and deploying microservices. This leads to improved collaboration between teams, less confusion due to varying tools and processes, and a more streamlined approach to application development and delivery.

  3. High-quality software: KubeRocketCI supports testing and static application security testing, ensuring that applications meet quality and security standards before deployment.

  4. Customization and flexibility: KubeRocketCI's support for various technologies, frameworks, and integration with popular tools allows development teams to adapt the platform to their specific needs, ensuring maximum efficiency and productivity.

  5. Scalability: KubeRocketCI's Kubernetes native design enables applications to leverage features such as auto-scaling and rolling updates, ensuring applications can scale effectively as needed.

  6. Time and cost savings: By streamlining the development process, organizations can save time and resources, leading to faster time-to-market and reduced development costs.

  7. Simplified compliance and security: KubeRocketCI's single sign-on feature and built-in security best practices help maintain a secure development environment, simplifying compliance with industry regulations.

  8. Continuous improvement: KubeRocketCI's open-source nature encourages collaboration, feedback, and innovation, driving continuous improvement and the evolution of the platform to meet the needs of the development community.

OPEN SOURCE

KubeRocketCI

Container-based delivery management platform

EPAMDeliveryPlatform_1440-1024

KubeRocketCI Main Features

Application scaffolding: It provides easy access to pre-configured templates, boilerplate code, and resources, enabling developers to quickly start new projects with a reliable foundation.

1. CI/CD Pipelines

KubeRocketCI offers pre-configured pipelines that support various technologies and frameworks (polyglot microservices), allowing for extensibility and customization to match project requirements.

2. Kubernetes Native

The platform is designed for seamless integration with Kubernetes, harnessing features such as self-healing, auto-scaling, and rolling updates. The platform simplifies access to resources and tools for building, testing, and deploying Kubernetes native applications.

3. Single Sign-On

KubeRocketCI implements secure and convenient access to various tools and services required by developers, simplifying their workflow.

4. Autotest analysis

It goes beyond test execution, analyzing results to identify patterns and trends, which developers can use to enhance software quality.

5. Static Application Security Testing (SAST)

KubeRocketCI makes SAST a mandatory quality gate within the Software Development Life Cycle, ensuring application security.

6. Integration with development tools

KubeRocketCI integrates with proven tools like GitHub, GitLab, Gerrit, Tekton, ArgoCD, ReportPortal, Nexus, Artifactory, SonarQube, and DefectDojo, streamlining the development process.

7. On-prem installation and isolated environment support

It is possible to deploy KubeRocketCI in environments with limited or no internet access, offering installation flexibility and accommodating various organizational requirements.

8. Golden path

Our platform incorporates the best practices of technology stack and development workflow, enabling the most efficient utilization of tools. This ensures that our product delivers the highest value.

Golden path

Golden path

Use Cases

Use Case 1 – Biopharmacy

Problem Statement: The company had a proposal useful in the coronavirus disease, so they wanted to enter the market as soon as possible to be one of the first to provide a timely solution. To implement this, they needed the new functionality in their software to be implemented quickly. To speed up the software update process, they had to integrate CI/CD, automatic code review, and authentication mechanisms which they have never used before.

Solution Implemented: Using KubeRocketCI, the following mechanisms were added to the project: Jenkins as a CI/CD mechanism, SonarQube as an automatic code review, and Keycloak as an authentication.

Achieved Result: According to the systems engineering team working on the client's side, adding and debugging all the mentioned mechanisms would take half a year. Jointly with the KubeRocketCI platform, all this new functionality was implemented and tested within one week.

Use Case 2 - Insurance

Problem Statement: A client that owns a digital insurance platform decided to add an automatic code review workflow after making a commit to Gerrit. The team has grown significantly so there are lots of tasks to review on the project. The client wished to automate the code review process to avoid hiring testers without sacrificing code quality. Also, he wished to free some time for the developers to focus on their main job.

Solution Implemented: KubeRocketCI supports Gerrit out of the box including code analysis using SonarQube. Additionally, KubeRocketCI provided linting to the customer's Tekton pipelines using Docker and Helm linters.

Achieved Result: The customer improved the quality of the application by integrating continuous testing into their workflow.

In Conclusion

KubeRocketCI is a centralized platform designed to enhance software development efficiency by providing essential tools, resources, and services in one location. With a focus on collaboration and technical capabilities, KubeRocketCI incorporates pre-configured templates, CI/CD pipelines, and Kubernetes native approaches for streamlined application development. Ideal for greenfield projects requiring a quick start, KubeRocketCI fosters productivity and simplifies the software development process within any organization.

Sergiy_Kulanov

Sergiy Kulanov

Systems Architect

Loading...

Related Content

View All Articles
Subscription banner

Get updates in your inbox

Subscribe to our emails to receive newsletters, product updates, and offers.

By clicking Subscribe you consent to EPAM Systems, Inc. processing your personal information as set out in the EPAM SolutionsHub Privacy Policy

Loading...