- Home
- >
- DevOps News
- >
- 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.
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.
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 |
Let’s create the next big thing together!
Coming together is a beginning. Keeping together is progress. Working together is success.