37
Automate your development environments with JIRA and SaltStack

Automate your development environment with Jira and Saltstack

Embed Size (px)

Citation preview

Page 1: Automate your development environment with Jira and Saltstack

Automate your development environmentswith JIRA and SaltStack

Page 2: Automate your development environment with Jira and Saltstack

IT Automation

02.05.2023

IT ProcessAutomation

Cloud OrchestrationInfrastructureProvisioning

Automation scripts

Application ReleaseAutomation

Network Automation

Business ProcessAutomation

Workload automation

Automate your development environments with JIRA and Saltstack, Atlassian User Group LS, Wrocław

Page 3: Automate your development environment with Jira and Saltstack

IT Automation

02.05.2023

IT ProcessAutomation

Cloud OrchestrationInfrastructureProvisioning

Automation scripts

Application ReleaseAutomation

Network Automation

Business ProcessAutomation

Workload automation

Automate your development environments with JIRA and Saltstack, Atlassian User Group LS, Wrocław

Page 4: Automate your development environment with Jira and Saltstack

Software Configuration Management• Code describing shape

of configured objects

02.05.2023Automate your development environments with JIRA and Saltstack, Atlassian User Group LS, Wrocław

Page 5: Automate your development environment with Jira and Saltstack

Software Configuration Management• Code describing shape

of configured objects• Declarative

02.05.2023Automate your development environments with JIRA and Saltstack, Atlassian User Group LS, Wrocław

Page 6: Automate your development environment with Jira and Saltstack

Software Configuration Management• Code describing shape

of configured objects• Declarative• Additional abstraction layer

02.05.2023Automate your development environments with JIRA and Saltstack, Atlassian User Group LS, Wrocław

Page 7: Automate your development environment with Jira and Saltstack

Software Configuration Management• Code describing shape

of configured objects• Declarative• Additional abstraction layer• Handles dependencies and execution

order

02.05.2023Automate your development environments with JIRA and Saltstack, Atlassian User Group LS, Wrocław

Page 8: Automate your development environment with Jira and Saltstack

Software Configuration Management

Automate your development environments with JIRA and Saltstack, Atlassian User Group LS, Wrocław

• Code describing shapeof configured objects

• Declarative• Additional abstraction layer• Handles dependencies and execution

order

02.05.2023

Page 9: Automate your development environment with Jira and Saltstack

Automation and processes

Let’s assume that at this point:• Configuration Management solution is implemented

02.05.2023Automate your development environments with JIRA and Saltstack, Atlassian User Group LS, Wrocław

Page 10: Automate your development environment with Jira and Saltstack

Automation and processes

Let’s assume that at this point:• Configuration Management solution is implemented• Every part of infrastructure is defined by code

02.05.2023Automate your development environments with JIRA and Saltstack, Atlassian User Group LS, Wrocław

Page 11: Automate your development environment with Jira and Saltstack

Automation and processes

Let’s assume that at this point:• Configuration Management solution is implemented• Every part of infrastructure is defined by code• Code is stored within repository

02.05.2023Automate your development environments with JIRA and Saltstack, Atlassian User Group LS, Wrocław

Page 12: Automate your development environment with Jira and Saltstack

Automation and processes

Let’s assume that at this point:• Configuration Management solution is implemented• Every part of infrastructure is defined by code• Code is stored within repository• As we push new code, our infrastructure changes

02.05.2023Automate your development environments with JIRA and Saltstack, Atlassian User Group LS, Wrocław

Page 13: Automate your development environment with Jira and Saltstack

Automation and processes

Let’s assume that at this point:• Configuration Management solution is implemented• Every part of infrastructure is defined by code• Code is stored within repository• As we push new code, our infrastructure changes

Can we automate it even further?

02.05.2023Automate your development environments with JIRA and Saltstack, Atlassian User Group LS, Wrocław

Page 14: Automate your development environment with Jira and Saltstack

Let me tell you a storya developer goes to a sysadmin…

02.05.2023Automate your development environments with JIRA and Saltstack, Atlassian User Group LS, Wrocław

Page 15: Automate your development environment with Jira and Saltstack

Let me tell you a storya developer goes to a sysadmin…

02.05.2023Automate your development environments with JIRA and Saltstack, Atlassian User Group LS, Wrocław

Page 16: Automate your development environment with Jira and Saltstack

Nope. It never goes this wayHere goes true version of the story…

02.05.2023Automate your development environments with JIRA and Saltstack, Atlassian User Group LS, Wrocław

Page 17: Automate your development environment with Jira and Saltstack

Nope. It never goes this wayHere goes true version of the story…

Since we’ll need a ticket anyway… let’s make the most of it.

02.05.2023Automate your development environments with JIRA and Saltstack, Atlassian User Group LS, Wrocław

Page 18: Automate your development environment with Jira and Saltstack

JIRA webhooks• Simple interface to interact

with other applications

{ "transition": { "workflowId": 10401, "workflowName": "SI: Cloud orchestration workflow", "transitionId": 11, "transitionName": "Provision", "from_status": "Ready to build", "to_status": "Provisioning" }, "comment": "", "user": { "self": "http://ww-dev-01.networkedassets.local/jira/rest/api/2/user?username=ww", "name": "ww", "key": "ww", "emailAddress": "[email protected]", "displayName": "ww", "active": true, "timeZone": "UTC" }, "issue": { "id": "10401", "self": "http://ww-dev-01.networkedassets.local/jira/rest/api/2/issue/10401", "key": "SI-9", "fields": { "issuetype": { "self": "http://ww-dev-01.networkedassets.local/jira/rest/api/2/issuetype/10200", "id": "10200", "description": "", "iconUrl": "http://ww-dev-01.networkedassets.local/jira/secure/viewavatar?size=xsmall&avatarId=10300&avatarType=issuetype", "name": "Order", "subtask": false, "avatarId": 10300 },

02.05.2023Automate your development environments with JIRA and Saltstack, Atlassian User Group LS, Wrocław

Page 19: Automate your development environment with Jira and Saltstack

JIRA webhooks• Simple interface to interact

with other applications• On execution of mapped

action, sends HTTP POST request

{ "transition": { "workflowId": 10401, "workflowName": "SI: Cloud orchestration workflow", "transitionId": 11, "transitionName": "Provision", "from_status": "Ready to build", "to_status": "Provisioning" }, "comment": "", "user": { "self": "http://ww-dev-01.networkedassets.local/jira/rest/api/2/user?username=ww", "name": "ww", "key": "ww", "emailAddress": "[email protected]", "displayName": "ww", "active": true, "timeZone": "UTC" }, "issue": { "id": "10401", "self": "http://ww-dev-01.networkedassets.local/jira/rest/api/2/issue/10401", "key": "SI-9", "fields": { "issuetype": { "self": "http://ww-dev-01.networkedassets.local/jira/rest/api/2/issuetype/10200", "id": "10200", "description": "", "iconUrl": "http://ww-dev-01.networkedassets.local/jira/secure/viewavatar?size=xsmall&avatarId=10300&avatarType=issuetype", "name": "Order", "subtask": false, "avatarId": 10300 },

02.05.2023Automate your development environments with JIRA and Saltstack, Atlassian User Group LS, Wrocław

Page 20: Automate your development environment with Jira and Saltstack

Bringing Salt to workflowone ticket == one

environment• Provisioning and

Orchestration introduced as process stages

• Decommission workflow• Error handling: negative flow• Use webhooks to call other

applications APIs02.05.2023Automate your development environments with JIRA and Saltstack, Atlassian User Group LS,

Wrocław

Page 21: Automate your development environment with Jira and Saltstack

JIRA + SaltStack• JIRA and SaltStack are tools

made for whole different purpose

• Operate on different sets of objects

• They won’t understand each other

…unless we provide them a translator.

02.05.2023Automate your development environments with JIRA and Saltstack, Atlassian User Group LS, Wrocław

Page 22: Automate your development environment with Jira and Saltstack

Crystalizedthe middleman

What it does?– Collects webhook calls– Translates objects and data– Manages jobs– Validates results

02.05.2023Automate your development environments with JIRA and Saltstack, Atlassian User Group LS, Wrocław

Page 23: Automate your development environment with Jira and Saltstack

Crystalizedthe middleman

What it does?– Collects webhook calls– Translates objects and data– Manages jobs– Validates results

What it is?– A lightweight application written in

python– Based on flask framework

02.05.2023Automate your development environments with JIRA and Saltstack, Atlassian User Group LS, Wrocław

Page 24: Automate your development environment with Jira and Saltstack

DEMO TIME!

02.05.2023Automate your development environments with JIRA and Saltstack, Atlassian User Group LS, Wrocław

Page 25: Automate your development environment with Jira and Saltstack

Project ViewActivity

Page 26: Automate your development environment with Jira and Saltstack

Create „Order”

Page 27: Automate your development environment with Jira and Saltstack

„Order”Draft status

Page 28: Automate your development environment with Jira and Saltstack

Workflow view

Page 29: Automate your development environment with Jira and Saltstack

Provisioning…

Page 30: Automate your development environment with Jira and Saltstack

ProvisioningOpenstack view

Page 31: Automate your development environment with Jira and Saltstack

It’s running!

Page 32: Automate your development environment with Jira and Saltstack

Job reportsas comments

Page 33: Automate your development environment with Jira and Saltstack

ReconfigureAdd Salt States

Page 34: Automate your development environment with Jira and Saltstack

Orchestrate!

Page 35: Automate your development environment with Jira and Saltstack

OrchestrationJob Report

Page 36: Automate your development environment with Jira and Saltstack

Our Confluence server is running.Well done!

Page 37: Automate your development environment with Jira and Saltstack

THANK YOU FOR YOUR ATTENTION!

Wojciech Wró[email protected]

www.networkedassets.com

EOF