Service Development using Jazz - dev9com/jazz GitHub Wiki
Overview
You can start creating your serverless service using the Jazz self-service portal. If you haven't already, install the Jazz framework by following instructions here.
- Supported Services
- Service Creation
- Development Workflow
- Service Deletion
- Monitoring Build & Deployment status for the service
Supported Services
You can create services of the following types using Jazz -
- RESTful APIs
- Functions (Lambda in AWS, FunctionApp in Azure)
- Static Websites
Request for Service Creation
Refer wiki that explains how you can create a new service using Jazz UI.
To create a new service, you will need to provide details below:
Service Type | API | Function | Website |
---|---|---|---|
Namespace | Namespace | Namespace | |
Service Name | Service Name | Service Name | |
Service Description (Optional) | Service Description (Optional) | Service Description (Optional) | |
Service Runtime | Service Runtime | Service Runtime |
Development Workflow
- Clone the service repository on your machine.
- You will have a preloaded template depending on your platform, service type & runtime that you have selected.
- Once you understand where and what to change, start working on your code to implement your business logic and push the changes to a feature branch. As a best practice, you should always push your changes to a feature branch. Jazz, by default, rejects any direct code push to master branch.
- On pushing your changes to a feature branch, a deployment workflow kicks in automatically through Jenkins that builds, deploys and notifies user with the status (CI/CD)
- In Jazz UI, 'Deployments' View under a particular environment will reflect the deployment status. With a simple button click, you can retry a deployment if it fails for any reason.
- Once deployment is successful, Jazz UI should show the service endpoint in 'Environment' View. Remember that Jazz creates a dedicated development environment per branch! Once you see expected results for your service (say, your endpoint works!) on the development environment, you will have to submit a PR (Pull Request) to merge the changes to the master branch to deploy your changes to production.
Service Deletion
To delete a service -
- In Jazz UI's services dashboard, locate your sevice and click on it to view service details.
- Delete the Service by clicking on the 'Delete Service' button.
- Jazz will kickoff a workflow that will delete the deployed service (all environments). It will also delete the code repository of the service.
Monitoring Build & Deployment status for the service
You can view the deployment status using Jazz UI in 'Deployments' view for each environment. If required, you will be able to go to underlying jenkins job by clicking job id for a specific deployment in 'Deployments' view. You will also get email notifications (and/or Slack notifications if Slack is enabled by Jazz admin) related to each service deployment.