Upload
networkedassets
View
612
Download
0
Embed Size (px)
Citation preview
Automate your development environmentswith 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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
DEMO TIME!
02.05.2023Automate your development environments with JIRA and Saltstack, Atlassian User Group LS, Wrocław
Project ViewActivity
Create „Order”
„Order”Draft status
Workflow view
Provisioning…
ProvisioningOpenstack view
It’s running!
Job reportsas comments
ReconfigureAdd Salt States
Orchestrate!
OrchestrationJob Report
Our Confluence server is running.Well done!