• Home
  • >
  • DevOps
  • >
  • Our Internal Solution – InApps 2022

Our Internal Solution – InApps is an article under the topic Devops Many of you are most interested in today !! Today, let’s InApps.net learn Our Internal Solution – InApps in today’s post !

Read more about Our Internal Solution – InApps at Wikipedia

You can find content about Our Internal Solution – InApps from the Wikipedia website

NetApp sponsored this post.

Sushma Sattigeri

Sushma Sattigeri is an engineering manager in the DevOps Tools and Services team at NetApp. Her team provides tools and services to the product teams to use throughout their workflows, enhancing developer productivity and user experience.

As organizations change their development models, the tools that support these organizations must transform. At NetApp, we’ve seen a change in the development landscape, from monoliths to microservices. To help evolving teams achieve rapid, frequent, reliable code delivery, and to enhance engineering productivity, we began offering DevOps-as-a-Service (DaaS) to NetApp internal teams.

This solution provides automated installation, configuration, and deployment of services such as Jenkins, source control management, and the plugins needed for the workflows. DaaS enables teams to significantly reduce their cycle time, from the time code is written to the delivery.

Features and Value of DaaS

Based on Kubernetes, our DaaS solution offers centralized management of the entire software development tools ecosystem — such as Jenkins, source control management (SCM), artifact storage, and monitoring. Helm and Docker Engine are used to run the container and deploy the solution. Trident manages our persistent volumes, so any storage — NetApp ONTAP, Element software, Cloud Volumes Service, or Cloud Volumes ONTAP — can be used. A set of internal services were developed using Flask, and CouchDB is used to store information on pipelines. Bitbucket, Perforce, or GitHub can be used as SCM, and the solution can be on the premises or in the cloud.

The key value of DaaS for us is the automated deployment of Jenkins. Along with the deployment of the Jenkins image, the following are taken care of automatically, without any user intervention:

  • Customizing the Jenkins image.
  • Installing additional plugins.
  • Enabling the Kubernetes plugin.
  • Connecting to SCM to detect new code commits.
  • Starting new jobs as soon as pipelines are created.
Read More:   Update Microservices and Data with Vexata CTO Surya Varanasi

DaaS Architecture

Automated Installation Using Helm

This step, run by a Kubernetes administrator, installs base services using Helm. Once the base services are up and running, the web user interface can be used to deploy the solution.

Creation of Base Helm Charts in a Namespace

User interface to deploy the solution

This step enables a solutions owner or an admin to configure and deploy a containerized Jenkins instance, and integrates it with the selected SCM – along with deployment and configuration of all the necessary plugins. What used to take an admin several hours is now completely automated and can be accomplished in just minutes with a single click.

Deploying the solution using Helm charts (Infrastructure as code) makes this procedure programmable and repeatable, saving developers a lot of time. With everything in Helm and source controlled, additional modifications to the project can be saved, changes can be reverted, and information can be stored safely before upgrades.

Web UI to Select and Install the Required Services

Once the required services are installed, Jenkins is installed and deployed along with all the configurations from the Helm charts. No manual intervention is required.

Jenkins pipeline creation automation

This feature automatically creates a multibranch pipeline, pulling code from the SCM and using dynamic Jenkins agents to execute the pipeline steps.

Each time a new project is created, new pipelines need to be created for each repository. By using dynamic Kubernetes pods as Jenkins agents, installing all the needed plug-ins, connecting to SCM, and creating pipelines are all taken care of automatically.

Automated Creation of the Pipeline

The SCM service account is used to populate the list of projects and the repositories associated with the selected project. The SCM URL is auto-populated based on the project and the repository selected.

This step significantly cuts down the time and manual effort required from a project admin. Once a pipeline has been created, the following things are taken care of automatically:

  • Every time a new branch is created in a repository, that branch is automatically pulled in and a pipeline build for the branch is triggered.
  • Every time there is a code commit in an existing branch in a repository, a pipeline build is automatically triggered for that branch.
  • When a pipeline is deleted, the Jenkins folder and all of its configurations are automatically deleted; and the Kubernetes resources that were allocated for the pipeline are released.

Jenkins Templating Engine (JTE) for Pipeline Management

This framework enables projects to have templated workflows, which can be reused by multiple teams simultaneously — regardless of the tools they are using. Projects can be complex and their Jenkins files can get quite long, with multiple pipelines and many lines of code. JTE simplifies and breaks it down into reusable templates that are easy to understand and debug.

Read More:   Update How Open Data Hub Speeds AI Development and Fixed a Kubernetes Bottleneck

Key features of JTE:

  • Reusable Libraries.
  • Governance rules can be imposed on the workflows at multiple levels (configuration level, library level, and project level).
  • Project-specific custom scripts.
  • Define branching and deployment strategy as code (advanced feature).
  • No configuration is stored on Jenkins Server.

With JTE, we can abstract the way the CI/CD pipeline is constructed, and a single template can be customized and tailored to every workflow.

Data Monitoring and Metrics

Linkerd and Splunk are used to monitor the solution. Linkerd is a service mesh for Kubernetes, and in combination with Splunk it’s used here for operational and development metrics.

  • Operational. Monitors the infrastructure for failures:
    • Base metrics such as success rate, latency for deployments and pods.
    • Live calls over HTTP, TCP, and gRPC calls.
    • Debug services on the application layer.
  • Developmental. Monitors the pipelines, pods, and automation for failures.

Grafana is used for visualization of these metrics. It provides actionable dashboards for services out of the box, such as deployment, service, and namespace details, health monitoring, cluster monitoring, network I/O, and CPU and memory usage. It is possible to see high-level metrics and dig down into the details, even for pods.

Summary

In conclusion, our DevOps as a Service is a complete end-to-end Kubernetes-based CI/CD solution that provides centralized management of the entire software development tools ecosystem (Jenkins, SCM, and Artifactory). It enables effortless project onboarding; automating the installation, configuration, and deployment of services and saving significant time and manual effort for the development teams.

By leveraging features such as JTE, the solution promotes simplification and templatization of Jenkins. The combination of Linkerd, Splunk, and Grafana monitors the infrastructure and automation, so that our developers can focus on development.

Most importantly, our DaaS provides best practices that can be reused across development teams; along with the automation and integration of tools such as Jenkins, SCM, Artifactory, security compliance, metrics, and monitoring.

Feature image from Pixabay.

InApps is a wholly owned subsidiary of Insight Partners, an investor in the following companies mentioned in this article: Docker.

Source: InApps.net

List of Keywords users find our article on Google:

netapp jobs
cloud volumes ontap
cloud volumes
netapp monitoring software
splunk security essentials
netapp grafana
splunk professional services consultant
ontap cluster
netapp cloud volumes ontap
netapp storage monitoring tools
netapp ontap
netapp element
jenkins artifactory plugin
splunk case
netapp trident kubernetes
netapp monitoring
splunk docker
perforce software jobs
cloud volumes service netapp
hire splunk developers
bitbucket base branch
grafana labs
trident kubernetes
netapp support
netapp monitoring tool
splunk search head
grafana vs splunk
splunk search head cluster
splunk work culture
grafana splunk
splunk app development
splunk icon
netapp kubernetes storage
hire jenkins developers
flask admin
netapp library
flask wikipedia
cloud volumes service
netapp element software
splunk deployment server
splunk wikipedia
daas wikipedia
bitbucket pipeline increase memory
splunk apps
bitbucket pipelines increase memory
bitbucket helm chart
how to configure netapp storage
used netapp storage
bitbucket helm
netapp clustered data ontap
netapp cloud volume service
used netapp
bitbucket pipelines memory
ontap select deploy
artifactory plugin
website monitoring splunk
custom frame solutions
grafana plugins
what is splunk used for
jobs-as-code
bitbucket pipelines pricing
jenkins artifactory pipeline
bitbucket pipeline send email
netapp files
splunk monitoring kubernetes
bitbucket pipelines status
splunk monitoring
daas services
netapp github
perforce software linkedin
wikipedia netapp
splunk linkedin
splunk base
wiki netapp
grafana labs jobs
architecture business cycle wiki
perforce jobs
couchdb github
jenkins artifactory
splunk it essentials work
jenkins wikipedia
artifactory plugin jenkins
bitbucket branch source plugin
bitbucket plugin for jenkins
netapp namespace
splunk base search dashboard
daas labs
sushma service partner
splunk dashboard developer jobs
www.splunk.com
helm charts wiki
jenkins artifactory build info
netapp ontap upgrade
netapp manual
grafana netapp dashboard
used netapp expansion
daas group
netapp app
artifactory integration with jenkins
netapp customer support number
netapp insight
what is scm server
bitbucket plugins
dynamic case management wiki
grafana-labs
jenkins metrics
kubernetes splunk
netapp cds
netapp monitoring tools
intervention image github
jenkins multibranch pipeline
artifactory vs bitbucket
io.grpc.server
netapp interface group
splunk infrastructure monitoring pricing
bitbucket artifact repository
flask-admin
splunk docker image
jte
artifactory jenkins plugin
docker splunk
grafana plugin development
netapp cloud manager
helm grafana
integrate bitbucket with jenkins
netapp culture
netapp labs
netapp trident architecture
perforce integration
what is ontap
spunk monitoring
trident care jobs
couchdb metrics
jenkins developer jobs
linkedin pods
ontap cloud
ontap software
wiki scm
artifactory oss docker
perforce cloud
perforce scm
scm server
splunk docker container
bitbucket metrics
bitbucket pipeline image
cloud ontap
netapp cluster
ontaap
splunk kubernetes monitoring
bitbucket pipeline docker image
docker artifact control
mvp solutions
netapp cloud volume ontap
netapp ontap latest version
splunk cloud deployment server
splunk development services
trident solutions
Rate this post
Admin
Admin
Content writer

Let’s create the next big thing together!

Coming together is a beginning. Keeping together is progress. Working together is success.

Let’s talk

Let’s Create the Next Big Thing Together!

You can reach us anytime via sales@inapps.net

    You need to enter your email to download

      Success. Downloading...