backstage / community-plugins

Community plugins for Backstage
Apache License 2.0
135 stars 132 forks source link

[Plugin] ServiceNow - Site Reliability Operations #264

Open regicsolutions opened 3 years ago

regicsolutions commented 3 years ago

This plugin suggestion is for a new ServiceNow product that recently went into GA a few months ago called Site Reliability Operations the app is free if you are already using ServiceNow’s event management module.

From ServiceNow Community:

Summary Site Reliability Operations application automates the incident response lifecycle by monitoring, discovering, and alerting the responders and providing them actionable information to drive rapid resolution.

Key Features With Site Reliability Operations, the SREs or Developers can register services, monitor service health, respond to alerts and incidents effectively using their preferred communication channels. This involves notifying the right experts to investigate the root cause, providing insights, and information to minimize the meantime to resolution (MTTR).

Register Service: Register applications and microservices managed by your teams. Provide business and operational information needed for supporting the service such as support team, environment, status, and dependencies. Monitor Service Health: Provide visibility to the health and performance of services by connecting to monitoring solutions. Set up one or more integrations to transform incoming events from monitoring systems via webhook integration to ServiceNow events.

Respond to Incidents: Optimize your incident response workflow with automated alert and incident notifications. Leverage pre-built Notify workflows that integrate with on-call scheduling to shorten the timeline for mobilizing resources by alerting the right people at the right time. Register Changes: Easily register changes using the new Site Reliability Operations (SRO) change type, approval policy, and workflow.

The plugin should work like the pagerduty plugin where engineers are able to open incidents, setup on call schedules, open change requests and register components as Business or Application Services once a component lifecycle is no longer in a spec.lifecycle experimental state.

Demo: https://youtu.be/YYrvI0FccPM

App Link

Typescript Sources for ServiceNow

Free Developer Instance Registration

The product was initially called Modern Ops and was changed prior to going GA to Site Reliability Operations (SRO)

Sample Curl example sending in a JSON payload using the CLI. The intent of the REST API is so you could register services from a Step in Jenkins or whatever CI you use. The jq at the end is for pretty formatting so not necessary. The user credentials can be your own as long as you are in the SRO Role:

$ NOW_API=https://{YOUR SERVICENOW HOST NAME}/api/sn_svc_ops_core/service_registration/builder $ curl -X POST -H "Content-Type: application/json" $NOW_API --user {YOURUSERID}:{YOURPASSWORD} -d @registration/payload.json | jq .

Sample JSON Payload that will create a Business Service and Application Service Relationship:

{
   "services": [
      {
         "$class": "Business Service",
         "name": "Backstage",
         "description": "Developer Portal"
      },
      {
         "name": "Techdocs",
         "description": "http://backstage.io/techdocs"
      },
      {
         "name": "APIDocs",
         "description": "http://backstage.io/apidocs"
      }
   ],
   "relationships": [
      {
         "parent": "Backstage",
         "child": "techdocs"
      },
      {
         "parent": "Backstage",
         "child": "APIDocs"
      }
   ]
}
benjdlambert commented 3 years ago

Is this something you'd like to work on and contribute @regicsolutions? 🙏

regicsolutions commented 3 years ago

Don’t have the bandwidth at the moment. Lets label this one as help wanted for now until I get backstage up and running in production 😁

benjdlambert commented 3 years ago

No probs! +1

github-actions[bot] commented 4 hours ago

This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Thank you for your contributions.