SlideShare a Scribd company logo
© Electric Cloud | electric-cloud.com
Powering DevOps Automation and Continuous Delivery
Better software faster
Process as Code: An Introduction to the ElectricFlow Automation DSL
© Electric Cloud | electric-cloud.com
Outline
• Introduction
• What is a DSL?
• Why am I excited about EF DSL?
• Some use case where EF DSL shines
• Benefits of code-based software delivery
• Introduction to EF DSL
• EF DSL examples
• EF DSL editor
• Conclusion
• Q&A
© Electric Cloud | electric-cloud.com
Who am I?
Greg Maxey
Solutions Engineer at Electric Cloud, five years
Software Delivery Automation
@gpmaxey
A career in automation
• Test and measurement
• Signal processing and analysis
• System level design
• Integrated chip hardware design
• Microprocessor and system on chip design
• Network equipment testing
© Electric Cloud | electric-cloud.com
Show of hands
• How many of you are involved in software delivery?
• Are your primary tools UIs? or
• Are your primary tools code based / scripts?
• Do you automate the automation?
• How many of you are familiar with Electric Cloud?
• How many of you are users or ElectricFlow?
© Electric Cloud | electric-cloud.com
My job – DevOps Integration and Orchestration
Infrastructure
Development Operations
Developers
 Coding
 Local Builds
 Local Testing
Preflight
Build
SCM
CI
Build
Artifact
Management
QA/UAT
•Provision Environment
•Deploy
•Testing
Staging
•Deploy
•Smoke test
Production
Retrieve
Changes
Checkout
Checkout
Publish
Retrieve
On success
promote &
notify QA & UAT
On success
notify release
team
1
2
3
4
5
6
7 8 9
 Debug
 Prod
Start Release
Pipeline
© Electric Cloud | electric-cloud.com
Getting to software delivery automation
Governance
Orchestration
Dev Ops
Infrastructure
Business process
requirements and
constraints
(SW Delivery
Specifications)
Applications / SW
© Electric Cloud | electric-cloud.com
DEV
OPS
What Electric Cloud provides for Software Delivery
DEPLOY
ANY APP.
ANY VERSION.
ANYWHERE.
ANYTIME.
RELEASE
TRADITIONAL
AND CD
PIPELINES
AND RELEASES
BUILD/TEST
FLEXIBLE AND
SCALABLE
AUTOMATION FOR
DEV AND QA
OTHER
ORCHESTRATE ANY TOOLCHAIN OR PROCESS.
DSL, CLI, REST, SOAP, HTTP, API, SDK
Plugs right in to
your existing tools
ElectricFlow
DEVOPS AUTOMATION PLATFORM
SHARED CONTROL | SHARED VISIBILITY | SHARED RESOURCES
SCALABLEEXTENSIBLE SECURE
TRANSPARENTFLEXIBLE HYBRID CLOUD
© Electric Cloud | electric-cloud.com
Modern user experience
© Electric Cloud | electric-cloud.com
Application Model
© Electric Cloud | electric-cloud.com
What is a DSL?
A domain-specific language (DSL) is a computer
language specialized to a particular application domain. This is in
contrast to a general-purpose language (GPL), which is broadly
applicable across domains, and lacks specialized features for a
particular domain… DSLs can be further subdivided by the kind of
language, and include domain-specific markup languages, domain-
specific modeling languages (more generally, specification
languages), and domain-specific programming languages.
- Wikipedia
© Electric Cloud | electric-cloud.com
Examples of DSLs
• HTML for webpage definition
• MATLAB for mathematical modeling
• Verilog, SystemC, LISA for HW, SoC
and uProcessor design
• Regex for text pattern matching
• make for build automation
• Chef recipes & Puppet manifests for
Infrastructure as Code
• But what for software delivery
automation?
© Electric Cloud | electric-cloud.com
Anders Wallgren, CTO Electric Cloud
Why am I excited about DSL?
Electric Flow DSL
• Easy to learn
• Compact
• Declarative
• Idempotent
• Inheritance
 Very fast model creation
© Electric Cloud | electric-cloud.com
How I used to code in ElectricFlow
© Electric Cloud | electric-cloud.com
Configuration Management build Manual Run Book
1. PuTTY into VOB server
2. Create dynamic view
3. … (other VOB interactions)
4. Create local copy on build machine
5. Adjust permisions
6. Modify registry
7. Run build script
8. … (other file manipulations)
9. Start Linux VM
10. Copy build to VM
11. Create RPMs on VM
12. Create check sum file
13. Copy RPMs to build machine
14. … (other file manipulations)
15. Burn CD
© Electric Cloud | electric-cloud.com
Spin up a field-deployable datacenter
1. Do inventory of installation media
2. Power up
3. Verify networking is operational
4. Install the base services and infrastructure software
5. Install the main software components
6. Perform functional test subworkflow activity
7. Checkout XYZ functionality
8. Test and checkout
9. Verify component interoperability
© Electric Cloud | electric-cloud.com
Top level installation workflow
© Electric Cloud | electric-cloud.com
When models get large
Servers Services
TypeA svs1, svs2, svs3
TypeB svs1, svs4, svs5, svs6, svs7
TypeC svs8, svs9
TypeD svs8, svs10, svs11
TypeE svs12
… ..
© Electric Cloud | electric-cloud.com
Application Model
© Electric Cloud | electric-cloud.com
Onboard applications
Development Continuous Integration Continuous Deployment
Visual
Studio
.NET
Eclipse
Java
xCode
SCM
Code Analysis
Build
Unit Test
ArtifactManagement
Release Pipeline
Deploy Target Containers
IIS Apprenda iOS
QA UAT PROD
© Electric Cloud | electric-cloud.com
Onboarding Parameters
[
{
"name": "appName",
"label": "Application Name",
"description": "The name of the application to be onboarded",
"defaultValue": "My Application"
},
{
"name": "sourceLocation",
"label": "Source Code Location",
"description": "SCM location for CI",
"defaultValue": "http://gitlab.mycompany.com/apps/myapp.git"
},
{
"name": "stages",
"label": "Stage names",
"description": "Comma-separated list of stages for pipeline",
"defaultValue": "Dev,QA,UAT,Staging,Prod"
},
…
© Electric Cloud | electric-cloud.com
Automating the automation
© Electric Cloud | electric-cloud.com
These use cases showed me the power of DSL
• Easier iterative model development
• Data-driven model creation
• Enable end-to-end process generation
© Electric Cloud | electric-cloud.com
Benefits of EF DSL to enterprise software delivery
• Documented process
• Executable specification
• Ease onboarding of new and legacy projects and teams
• Ability to use mature code-based tools and approaches
• Create and manage very complex delivery processes
• Enable working at scale with teams of thousands
• Matching the right interface to the particular user
© Electric Cloud | electric-cloud.com
Benefits of Code-based approaches in general
• Leverage mature tool chains and best practices
• IDEs
• SCM / versioning
• Modular design
• Test-driven development
• Static analysis and other code quality tools
• Ease of Refactoring
• Sharing / Collaboration
• Scales well
• Easier data-driven approaches
© Electric Cloud | electric-cloud.com
ElectricFlow Domain Specific Language, EF DSL
• Groovy-based
• Native access to ElectricFlow
platform
• Supports entire EF API
• Enables model authoring and
scripting
And as said before
• Easy to learn
• Compact
• Declarative
• Idempotent
• Inheritance
© Electric Cloud | electric-cloud.com
ElectricFlow platform addresses Process Automation
End-to-end software delivery automation through
graphical/Web interface
• Centralized
• Secure
• High scalability
• Visibility
• Traceable
• Fault tolerant
© Electric Cloud | electric-cloud.com
EF DSL Examples - DEMO
• Configuration Management Procedure
• Onboarding legacy applications
 Procedures
 Environment models
 Application models
 Pipeline delivery discipline
• Spinning up new projects
 Training set up
© Electric Cloud | electric-cloud.com
DEMO
© Electric Cloud | electric-cloud.com
Samples on Github
© Electric Cloud | electric-cloud.com
EF DSL IDE, Lite Editor - DEMO
© Electric Cloud | electric-cloud.com
DEMO
© Electric Cloud | electric-cloud.com
DSL IDE available on Github
© Electric Cloud | electric-cloud.com
Conclusion
When it comes to software delivery,
ElectricFlow UI is great for
 Visualization
 Medium Scale content authoring
For large-scale automating the automation EF DSL
 Gives full access to ElectricFlow platform
 Enables code-based authoring, or Process-as-Code
© Electric Cloud | electric-cloud.com
Thank you
Networking
Other Systems
ISV, Internet
& Entertainment
Heavy Industry
Financial
Services
Automotive Medical Devices
Semiconductor
Aerospace /
Defense
Mobile Devices
Q&A

More Related Content

What's hot

Cloud-based performance testing
Cloud-based performance testingCloud-based performance testing
Cloud-based performance testing
abhinavm
 
Performance Testing Strategy for Cloud-Based System using Open Source Testing...
Performance Testing Strategy for Cloud-Based System using Open Source Testing...Performance Testing Strategy for Cloud-Based System using Open Source Testing...
Performance Testing Strategy for Cloud-Based System using Open Source Testing...
MIMOS Berhad/Open University Malaysia/Universiti Teknologi Malaysia
 
Reduce Test Automation Execution Time by 80%
Reduce Test Automation Execution Time by 80%Reduce Test Automation Execution Time by 80%
Reduce Test Automation Execution Time by 80%
TechWell
 
Cloud based Performance Testing
Cloud based Performance TestingCloud based Performance Testing
Cloud based Performance Testing
Impetus Technologies
 
10 Do’s for DevOps!
 10 Do’s for DevOps!  10 Do’s for DevOps!
10 Do’s for DevOps!
DevOps.com
 
Get Loose! Microservices and Loosely Coupled Architectures
Get Loose! Microservices and Loosely Coupled ArchitecturesGet Loose! Microservices and Loosely Coupled Architectures
Get Loose! Microservices and Loosely Coupled Architectures
Deborah Schalm
 
SRE vs DevOps vs Cloud Native Preso
SRE vs DevOps vs Cloud Native PresoSRE vs DevOps vs Cloud Native Preso
SRE vs DevOps vs Cloud Native Preso
rhirschfeld
 
Accelerate Your Visual Studio Software Build Environment with ElectricAcceler...
Accelerate Your Visual Studio Software Build Environment with ElectricAcceler...Accelerate Your Visual Studio Software Build Environment with ElectricAcceler...
Accelerate Your Visual Studio Software Build Environment with ElectricAcceler...
David Rosen
 
Agile Testing in the Cloud
Agile Testing in the CloudAgile Testing in the Cloud
Agile Testing in the Cloud
Cygnet Infotech
 
20111110 how puppet-fits_into_your_existing_infrastructure_and_change_managem...
20111110 how puppet-fits_into_your_existing_infrastructure_and_change_managem...20111110 how puppet-fits_into_your_existing_infrastructure_and_change_managem...
20111110 how puppet-fits_into_your_existing_infrastructure_and_change_managem...
garrett honeycutt
 
What's New in Puppet Enterprise 2015.3
What's New in Puppet Enterprise 2015.3What's New in Puppet Enterprise 2015.3
What's New in Puppet Enterprise 2015.3
Puppet
 
SevOne Scalability
SevOne ScalabilitySevOne Scalability
SevOne Scalability
SevOne
 
Load Testing with JMeter, BlazeMeter, New Relic
Load Testing with JMeter, BlazeMeter, New RelicLoad Testing with JMeter, BlazeMeter, New Relic
Load Testing with JMeter, BlazeMeter, New Relic
Giedrius Krisciukaitis, PMP
 
Cloud Computing Webinar
Cloud Computing WebinarCloud Computing Webinar
Cloud Computing Webinar
TechSoup
 
VMworld 2015 San Francisco - INF5432 - Infrastructure as Code - Ban Snowflake...
VMworld 2015 San Francisco - INF5432 - Infrastructure as Code - Ban Snowflake...VMworld 2015 San Francisco - INF5432 - Infrastructure as Code - Ban Snowflake...
VMworld 2015 San Francisco - INF5432 - Infrastructure as Code - Ban Snowflake...
Jonas Rosland
 
Cloud Platforms for Java
Cloud Platforms for JavaCloud Platforms for Java
Cloud Platforms for Java
3Pillar Global
 
DON'T PANIC: GETTING YOUR INFRASTRUCTURE DRIFT UNDER CONTROL, ERAN BIBI, Firefly
DON'T PANIC: GETTING YOUR INFRASTRUCTURE DRIFT UNDER CONTROL, ERAN BIBI, FireflyDON'T PANIC: GETTING YOUR INFRASTRUCTURE DRIFT UNDER CONTROL, ERAN BIBI, Firefly
DON'T PANIC: GETTING YOUR INFRASTRUCTURE DRIFT UNDER CONTROL, ERAN BIBI, Firefly
DevOpsDays Tel Aviv
 
DevOps at EMC NYC August 2015 - Modernize your apps to drive organizational e...
DevOps at EMC NYC August 2015 - Modernize your apps to drive organizational e...DevOps at EMC NYC August 2015 - Modernize your apps to drive organizational e...
DevOps at EMC NYC August 2015 - Modernize your apps to drive organizational e...
Jonas Rosland
 
Introduction to Puppet Enterprise 01/29/16.pptx
Introduction to Puppet Enterprise 01/29/16.pptxIntroduction to Puppet Enterprise 01/29/16.pptx
Introduction to Puppet Enterprise 01/29/16.pptx
Puppet
 
Soasta Cloud Test
Soasta Cloud TestSoasta Cloud Test
Soasta Cloud Test
MatthewSOASTA
 

What's hot (20)

Cloud-based performance testing
Cloud-based performance testingCloud-based performance testing
Cloud-based performance testing
 
Performance Testing Strategy for Cloud-Based System using Open Source Testing...
Performance Testing Strategy for Cloud-Based System using Open Source Testing...Performance Testing Strategy for Cloud-Based System using Open Source Testing...
Performance Testing Strategy for Cloud-Based System using Open Source Testing...
 
Reduce Test Automation Execution Time by 80%
Reduce Test Automation Execution Time by 80%Reduce Test Automation Execution Time by 80%
Reduce Test Automation Execution Time by 80%
 
Cloud based Performance Testing
Cloud based Performance TestingCloud based Performance Testing
Cloud based Performance Testing
 
10 Do’s for DevOps!
 10 Do’s for DevOps!  10 Do’s for DevOps!
10 Do’s for DevOps!
 
Get Loose! Microservices and Loosely Coupled Architectures
Get Loose! Microservices and Loosely Coupled ArchitecturesGet Loose! Microservices and Loosely Coupled Architectures
Get Loose! Microservices and Loosely Coupled Architectures
 
SRE vs DevOps vs Cloud Native Preso
SRE vs DevOps vs Cloud Native PresoSRE vs DevOps vs Cloud Native Preso
SRE vs DevOps vs Cloud Native Preso
 
Accelerate Your Visual Studio Software Build Environment with ElectricAcceler...
Accelerate Your Visual Studio Software Build Environment with ElectricAcceler...Accelerate Your Visual Studio Software Build Environment with ElectricAcceler...
Accelerate Your Visual Studio Software Build Environment with ElectricAcceler...
 
Agile Testing in the Cloud
Agile Testing in the CloudAgile Testing in the Cloud
Agile Testing in the Cloud
 
20111110 how puppet-fits_into_your_existing_infrastructure_and_change_managem...
20111110 how puppet-fits_into_your_existing_infrastructure_and_change_managem...20111110 how puppet-fits_into_your_existing_infrastructure_and_change_managem...
20111110 how puppet-fits_into_your_existing_infrastructure_and_change_managem...
 
What's New in Puppet Enterprise 2015.3
What's New in Puppet Enterprise 2015.3What's New in Puppet Enterprise 2015.3
What's New in Puppet Enterprise 2015.3
 
SevOne Scalability
SevOne ScalabilitySevOne Scalability
SevOne Scalability
 
Load Testing with JMeter, BlazeMeter, New Relic
Load Testing with JMeter, BlazeMeter, New RelicLoad Testing with JMeter, BlazeMeter, New Relic
Load Testing with JMeter, BlazeMeter, New Relic
 
Cloud Computing Webinar
Cloud Computing WebinarCloud Computing Webinar
Cloud Computing Webinar
 
VMworld 2015 San Francisco - INF5432 - Infrastructure as Code - Ban Snowflake...
VMworld 2015 San Francisco - INF5432 - Infrastructure as Code - Ban Snowflake...VMworld 2015 San Francisco - INF5432 - Infrastructure as Code - Ban Snowflake...
VMworld 2015 San Francisco - INF5432 - Infrastructure as Code - Ban Snowflake...
 
Cloud Platforms for Java
Cloud Platforms for JavaCloud Platforms for Java
Cloud Platforms for Java
 
DON'T PANIC: GETTING YOUR INFRASTRUCTURE DRIFT UNDER CONTROL, ERAN BIBI, Firefly
DON'T PANIC: GETTING YOUR INFRASTRUCTURE DRIFT UNDER CONTROL, ERAN BIBI, FireflyDON'T PANIC: GETTING YOUR INFRASTRUCTURE DRIFT UNDER CONTROL, ERAN BIBI, Firefly
DON'T PANIC: GETTING YOUR INFRASTRUCTURE DRIFT UNDER CONTROL, ERAN BIBI, Firefly
 
DevOps at EMC NYC August 2015 - Modernize your apps to drive organizational e...
DevOps at EMC NYC August 2015 - Modernize your apps to drive organizational e...DevOps at EMC NYC August 2015 - Modernize your apps to drive organizational e...
DevOps at EMC NYC August 2015 - Modernize your apps to drive organizational e...
 
Introduction to Puppet Enterprise 01/29/16.pptx
Introduction to Puppet Enterprise 01/29/16.pptxIntroduction to Puppet Enterprise 01/29/16.pptx
Introduction to Puppet Enterprise 01/29/16.pptx
 
Soasta Cloud Test
Soasta Cloud TestSoasta Cloud Test
Soasta Cloud Test
 

Similar to Greg Maxey - Electric Cloud - Process as Code: An Introduction to the ElectricFlow Automation DSL

DOES SFO 2016 - Greg Maxey and Laurent Rochette - DSL at Scale
DOES SFO 2016 - Greg Maxey and Laurent Rochette - DSL at ScaleDOES SFO 2016 - Greg Maxey and Laurent Rochette - DSL at Scale
DOES SFO 2016 - Greg Maxey and Laurent Rochette - DSL at Scale
Gene Kim
 
Microservices and Docker at Scale: The PB&J of Modern Systems
Microservices and Docker at Scale: The PB&J of Modern SystemsMicroservices and Docker at Scale: The PB&J of Modern Systems
Microservices and Docker at Scale: The PB&J of Modern Systems
TechWell
 
Improving Software Delivery with DevOps & Software Defined Environments | The...
Improving Software Delivery with DevOps & Software Defined Environments | The...Improving Software Delivery with DevOps & Software Defined Environments | The...
Improving Software Delivery with DevOps & Software Defined Environments | The...
IBM UrbanCode Products
 
.NET Cloud-Native Bootcamp- Los Angeles
.NET Cloud-Native Bootcamp- Los Angeles.NET Cloud-Native Bootcamp- Los Angeles
.NET Cloud-Native Bootcamp- Los Angeles
VMware Tanzu
 
Cloud Deployment Toolkit
Cloud Deployment ToolkitCloud Deployment Toolkit
Cloud Deployment Toolkit
Bret Piatt
 
Improving Software Delivery with DevOps & Software Defined Environments
Improving Software Delivery with DevOps & Software Defined EnvironmentsImproving Software Delivery with DevOps & Software Defined Environments
Improving Software Delivery with DevOps & Software Defined Environments
Michael Elder
 
Microservices and Docker: Foundation for a New Generation of Applications
Microservices and Docker: Foundation for a New Generation of ApplicationsMicroservices and Docker: Foundation for a New Generation of Applications
Microservices and Docker: Foundation for a New Generation of Applications
TechWell
 
.NET Cloud-Native Bootcamp
.NET Cloud-Native Bootcamp.NET Cloud-Native Bootcamp
.NET Cloud-Native Bootcamp
VMware Tanzu
 
Apex day 1.0 fastest route to cloud sept 2015_julian lane
Apex day 1.0 fastest route to cloud sept 2015_julian laneApex day 1.0 fastest route to cloud sept 2015_julian lane
Apex day 1.0 fastest route to cloud sept 2015_julian lane
APEX Solutions - Natural Intelligence
 
Integration & Microservices
Integration & Microservices Integration & Microservices
Integration & Microservices
Amr Salah
 
Ph.D. Defense
Ph.D. DefensePh.D. Defense
Ph.D. Defense
Chris Bunch
 
Get Loose! Microservices and Loosely Coupled Architectures
Get Loose! Microservices and Loosely Coupled Architectures Get Loose! Microservices and Loosely Coupled Architectures
Get Loose! Microservices and Loosely Coupled Architectures
DevOps.com
 
Asp.NETZERO - A Workshop Presentation by Citytech Software
Asp.NETZERO - A Workshop Presentation by Citytech SoftwareAsp.NETZERO - A Workshop Presentation by Citytech Software
Asp.NETZERO - A Workshop Presentation by Citytech Software
Ritwik Das
 
56k.cloud training
56k.cloud training56k.cloud training
56k.cloud training
Brian Christner
 
Session
SessionSession
Session
Amr Salah
 
Introduction to vb.net
Introduction to vb.netIntroduction to vb.net
Introduction to vb.net
suraj pandey
 
Cloud streaming presentation
Cloud streaming presentationCloud streaming presentation
Cloud streaming presentationedmandt
 
Show and Tell: Building Applications on Cisco Open SDN Controller
Show and Tell: Building Applications on Cisco Open SDN Controller Show and Tell: Building Applications on Cisco Open SDN Controller
Show and Tell: Building Applications on Cisco Open SDN Controller
Cisco DevNet
 
cloudtoolsandcomputingwithcloudsssss.pptx
cloudtoolsandcomputingwithcloudsssss.pptxcloudtoolsandcomputingwithcloudsssss.pptx
cloudtoolsandcomputingwithcloudsssss.pptx
asraniyashika11
 
Twelve Factor - Designing for Change
Twelve Factor - Designing for ChangeTwelve Factor - Designing for Change
Twelve Factor - Designing for Change
Eric Wyles
 

Similar to Greg Maxey - Electric Cloud - Process as Code: An Introduction to the ElectricFlow Automation DSL (20)

DOES SFO 2016 - Greg Maxey and Laurent Rochette - DSL at Scale
DOES SFO 2016 - Greg Maxey and Laurent Rochette - DSL at ScaleDOES SFO 2016 - Greg Maxey and Laurent Rochette - DSL at Scale
DOES SFO 2016 - Greg Maxey and Laurent Rochette - DSL at Scale
 
Microservices and Docker at Scale: The PB&J of Modern Systems
Microservices and Docker at Scale: The PB&J of Modern SystemsMicroservices and Docker at Scale: The PB&J of Modern Systems
Microservices and Docker at Scale: The PB&J of Modern Systems
 
Improving Software Delivery with DevOps & Software Defined Environments | The...
Improving Software Delivery with DevOps & Software Defined Environments | The...Improving Software Delivery with DevOps & Software Defined Environments | The...
Improving Software Delivery with DevOps & Software Defined Environments | The...
 
.NET Cloud-Native Bootcamp- Los Angeles
.NET Cloud-Native Bootcamp- Los Angeles.NET Cloud-Native Bootcamp- Los Angeles
.NET Cloud-Native Bootcamp- Los Angeles
 
Cloud Deployment Toolkit
Cloud Deployment ToolkitCloud Deployment Toolkit
Cloud Deployment Toolkit
 
Improving Software Delivery with DevOps & Software Defined Environments
Improving Software Delivery with DevOps & Software Defined EnvironmentsImproving Software Delivery with DevOps & Software Defined Environments
Improving Software Delivery with DevOps & Software Defined Environments
 
Microservices and Docker: Foundation for a New Generation of Applications
Microservices and Docker: Foundation for a New Generation of ApplicationsMicroservices and Docker: Foundation for a New Generation of Applications
Microservices and Docker: Foundation for a New Generation of Applications
 
.NET Cloud-Native Bootcamp
.NET Cloud-Native Bootcamp.NET Cloud-Native Bootcamp
.NET Cloud-Native Bootcamp
 
Apex day 1.0 fastest route to cloud sept 2015_julian lane
Apex day 1.0 fastest route to cloud sept 2015_julian laneApex day 1.0 fastest route to cloud sept 2015_julian lane
Apex day 1.0 fastest route to cloud sept 2015_julian lane
 
Integration & Microservices
Integration & Microservices Integration & Microservices
Integration & Microservices
 
Ph.D. Defense
Ph.D. DefensePh.D. Defense
Ph.D. Defense
 
Get Loose! Microservices and Loosely Coupled Architectures
Get Loose! Microservices and Loosely Coupled Architectures Get Loose! Microservices and Loosely Coupled Architectures
Get Loose! Microservices and Loosely Coupled Architectures
 
Asp.NETZERO - A Workshop Presentation by Citytech Software
Asp.NETZERO - A Workshop Presentation by Citytech SoftwareAsp.NETZERO - A Workshop Presentation by Citytech Software
Asp.NETZERO - A Workshop Presentation by Citytech Software
 
56k.cloud training
56k.cloud training56k.cloud training
56k.cloud training
 
Session
SessionSession
Session
 
Introduction to vb.net
Introduction to vb.netIntroduction to vb.net
Introduction to vb.net
 
Cloud streaming presentation
Cloud streaming presentationCloud streaming presentation
Cloud streaming presentation
 
Show and Tell: Building Applications on Cisco Open SDN Controller
Show and Tell: Building Applications on Cisco Open SDN Controller Show and Tell: Building Applications on Cisco Open SDN Controller
Show and Tell: Building Applications on Cisco Open SDN Controller
 
cloudtoolsandcomputingwithcloudsssss.pptx
cloudtoolsandcomputingwithcloudsssss.pptxcloudtoolsandcomputingwithcloudsssss.pptx
cloudtoolsandcomputingwithcloudsssss.pptx
 
Twelve Factor - Designing for Change
Twelve Factor - Designing for ChangeTwelve Factor - Designing for Change
Twelve Factor - Designing for Change
 

Recently uploaded

2024 RoOUG Security model for the cloud.pptx
2024 RoOUG Security model for the cloud.pptx2024 RoOUG Security model for the cloud.pptx
2024 RoOUG Security model for the cloud.pptx
Georgi Kodinov
 
SOCRadar Research Team: Latest Activities of IntelBroker
SOCRadar Research Team: Latest Activities of IntelBrokerSOCRadar Research Team: Latest Activities of IntelBroker
SOCRadar Research Team: Latest Activities of IntelBroker
SOCRadar
 
Gamify Your Mind; The Secret Sauce to Delivering Success, Continuously Improv...
Gamify Your Mind; The Secret Sauce to Delivering Success, Continuously Improv...Gamify Your Mind; The Secret Sauce to Delivering Success, Continuously Improv...
Gamify Your Mind; The Secret Sauce to Delivering Success, Continuously Improv...
Shahin Sheidaei
 
First Steps with Globus Compute Multi-User Endpoints
First Steps with Globus Compute Multi-User EndpointsFirst Steps with Globus Compute Multi-User Endpoints
First Steps with Globus Compute Multi-User Endpoints
Globus
 
top nidhi software solution freedownload
top nidhi software solution freedownloadtop nidhi software solution freedownload
top nidhi software solution freedownload
vrstrong314
 
De mooiste recreatieve routes ontdekken met RouteYou en FME
De mooiste recreatieve routes ontdekken met RouteYou en FMEDe mooiste recreatieve routes ontdekken met RouteYou en FME
De mooiste recreatieve routes ontdekken met RouteYou en FME
Jelle | Nordend
 
Globus Compute Introduction - GlobusWorld 2024
Globus Compute Introduction - GlobusWorld 2024Globus Compute Introduction - GlobusWorld 2024
Globus Compute Introduction - GlobusWorld 2024
Globus
 
How Recreation Management Software Can Streamline Your Operations.pptx
How Recreation Management Software Can Streamline Your Operations.pptxHow Recreation Management Software Can Streamline Your Operations.pptx
How Recreation Management Software Can Streamline Your Operations.pptx
wottaspaceseo
 
Quarkus Hidden and Forbidden Extensions
Quarkus Hidden and Forbidden ExtensionsQuarkus Hidden and Forbidden Extensions
Quarkus Hidden and Forbidden Extensions
Max Andersen
 
Cyaniclab : Software Development Agency Portfolio.pdf
Cyaniclab : Software Development Agency Portfolio.pdfCyaniclab : Software Development Agency Portfolio.pdf
Cyaniclab : Software Development Agency Portfolio.pdf
Cyanic lab
 
How Does XfilesPro Ensure Security While Sharing Documents in Salesforce?
How Does XfilesPro Ensure Security While Sharing Documents in Salesforce?How Does XfilesPro Ensure Security While Sharing Documents in Salesforce?
How Does XfilesPro Ensure Security While Sharing Documents in Salesforce?
XfilesPro
 
Accelerate Enterprise Software Engineering with Platformless
Accelerate Enterprise Software Engineering with PlatformlessAccelerate Enterprise Software Engineering with Platformless
Accelerate Enterprise Software Engineering with Platformless
WSO2
 
Large Language Models and the End of Programming
Large Language Models and the End of ProgrammingLarge Language Models and the End of Programming
Large Language Models and the End of Programming
Matt Welsh
 
Explore Modern SharePoint Templates for 2024
Explore Modern SharePoint Templates for 2024Explore Modern SharePoint Templates for 2024
Explore Modern SharePoint Templates for 2024
Sharepoint Designs
 
Globus Compute wth IRI Workflows - GlobusWorld 2024
Globus Compute wth IRI Workflows - GlobusWorld 2024Globus Compute wth IRI Workflows - GlobusWorld 2024
Globus Compute wth IRI Workflows - GlobusWorld 2024
Globus
 
Lecture 1 Introduction to games development
Lecture 1 Introduction to games developmentLecture 1 Introduction to games development
Lecture 1 Introduction to games development
abdulrafaychaudhry
 
Software Testing Exam imp Ques Notes.pdf
Software Testing Exam imp Ques Notes.pdfSoftware Testing Exam imp Ques Notes.pdf
Software Testing Exam imp Ques Notes.pdf
MayankTawar1
 
Advanced Flow Concepts Every Developer Should Know
Advanced Flow Concepts Every Developer Should KnowAdvanced Flow Concepts Every Developer Should Know
Advanced Flow Concepts Every Developer Should Know
Peter Caitens
 
Designing for Privacy in Amazon Web Services
Designing for Privacy in Amazon Web ServicesDesigning for Privacy in Amazon Web Services
Designing for Privacy in Amazon Web Services
KrzysztofKkol1
 
OpenFOAM solver for Helmholtz equation, helmholtzFoam / helmholtzBubbleFoam
OpenFOAM solver for Helmholtz equation, helmholtzFoam / helmholtzBubbleFoamOpenFOAM solver for Helmholtz equation, helmholtzFoam / helmholtzBubbleFoam
OpenFOAM solver for Helmholtz equation, helmholtzFoam / helmholtzBubbleFoam
takuyayamamoto1800
 

Recently uploaded (20)

2024 RoOUG Security model for the cloud.pptx
2024 RoOUG Security model for the cloud.pptx2024 RoOUG Security model for the cloud.pptx
2024 RoOUG Security model for the cloud.pptx
 
SOCRadar Research Team: Latest Activities of IntelBroker
SOCRadar Research Team: Latest Activities of IntelBrokerSOCRadar Research Team: Latest Activities of IntelBroker
SOCRadar Research Team: Latest Activities of IntelBroker
 
Gamify Your Mind; The Secret Sauce to Delivering Success, Continuously Improv...
Gamify Your Mind; The Secret Sauce to Delivering Success, Continuously Improv...Gamify Your Mind; The Secret Sauce to Delivering Success, Continuously Improv...
Gamify Your Mind; The Secret Sauce to Delivering Success, Continuously Improv...
 
First Steps with Globus Compute Multi-User Endpoints
First Steps with Globus Compute Multi-User EndpointsFirst Steps with Globus Compute Multi-User Endpoints
First Steps with Globus Compute Multi-User Endpoints
 
top nidhi software solution freedownload
top nidhi software solution freedownloadtop nidhi software solution freedownload
top nidhi software solution freedownload
 
De mooiste recreatieve routes ontdekken met RouteYou en FME
De mooiste recreatieve routes ontdekken met RouteYou en FMEDe mooiste recreatieve routes ontdekken met RouteYou en FME
De mooiste recreatieve routes ontdekken met RouteYou en FME
 
Globus Compute Introduction - GlobusWorld 2024
Globus Compute Introduction - GlobusWorld 2024Globus Compute Introduction - GlobusWorld 2024
Globus Compute Introduction - GlobusWorld 2024
 
How Recreation Management Software Can Streamline Your Operations.pptx
How Recreation Management Software Can Streamline Your Operations.pptxHow Recreation Management Software Can Streamline Your Operations.pptx
How Recreation Management Software Can Streamline Your Operations.pptx
 
Quarkus Hidden and Forbidden Extensions
Quarkus Hidden and Forbidden ExtensionsQuarkus Hidden and Forbidden Extensions
Quarkus Hidden and Forbidden Extensions
 
Cyaniclab : Software Development Agency Portfolio.pdf
Cyaniclab : Software Development Agency Portfolio.pdfCyaniclab : Software Development Agency Portfolio.pdf
Cyaniclab : Software Development Agency Portfolio.pdf
 
How Does XfilesPro Ensure Security While Sharing Documents in Salesforce?
How Does XfilesPro Ensure Security While Sharing Documents in Salesforce?How Does XfilesPro Ensure Security While Sharing Documents in Salesforce?
How Does XfilesPro Ensure Security While Sharing Documents in Salesforce?
 
Accelerate Enterprise Software Engineering with Platformless
Accelerate Enterprise Software Engineering with PlatformlessAccelerate Enterprise Software Engineering with Platformless
Accelerate Enterprise Software Engineering with Platformless
 
Large Language Models and the End of Programming
Large Language Models and the End of ProgrammingLarge Language Models and the End of Programming
Large Language Models and the End of Programming
 
Explore Modern SharePoint Templates for 2024
Explore Modern SharePoint Templates for 2024Explore Modern SharePoint Templates for 2024
Explore Modern SharePoint Templates for 2024
 
Globus Compute wth IRI Workflows - GlobusWorld 2024
Globus Compute wth IRI Workflows - GlobusWorld 2024Globus Compute wth IRI Workflows - GlobusWorld 2024
Globus Compute wth IRI Workflows - GlobusWorld 2024
 
Lecture 1 Introduction to games development
Lecture 1 Introduction to games developmentLecture 1 Introduction to games development
Lecture 1 Introduction to games development
 
Software Testing Exam imp Ques Notes.pdf
Software Testing Exam imp Ques Notes.pdfSoftware Testing Exam imp Ques Notes.pdf
Software Testing Exam imp Ques Notes.pdf
 
Advanced Flow Concepts Every Developer Should Know
Advanced Flow Concepts Every Developer Should KnowAdvanced Flow Concepts Every Developer Should Know
Advanced Flow Concepts Every Developer Should Know
 
Designing for Privacy in Amazon Web Services
Designing for Privacy in Amazon Web ServicesDesigning for Privacy in Amazon Web Services
Designing for Privacy in Amazon Web Services
 
OpenFOAM solver for Helmholtz equation, helmholtzFoam / helmholtzBubbleFoam
OpenFOAM solver for Helmholtz equation, helmholtzFoam / helmholtzBubbleFoamOpenFOAM solver for Helmholtz equation, helmholtzFoam / helmholtzBubbleFoam
OpenFOAM solver for Helmholtz equation, helmholtzFoam / helmholtzBubbleFoam
 

Greg Maxey - Electric Cloud - Process as Code: An Introduction to the ElectricFlow Automation DSL

  • 1. © Electric Cloud | electric-cloud.com Powering DevOps Automation and Continuous Delivery Better software faster Process as Code: An Introduction to the ElectricFlow Automation DSL
  • 2. © Electric Cloud | electric-cloud.com Outline • Introduction • What is a DSL? • Why am I excited about EF DSL? • Some use case where EF DSL shines • Benefits of code-based software delivery • Introduction to EF DSL • EF DSL examples • EF DSL editor • Conclusion • Q&A
  • 3. © Electric Cloud | electric-cloud.com Who am I? Greg Maxey Solutions Engineer at Electric Cloud, five years Software Delivery Automation @gpmaxey A career in automation • Test and measurement • Signal processing and analysis • System level design • Integrated chip hardware design • Microprocessor and system on chip design • Network equipment testing
  • 4. © Electric Cloud | electric-cloud.com Show of hands • How many of you are involved in software delivery? • Are your primary tools UIs? or • Are your primary tools code based / scripts? • Do you automate the automation? • How many of you are familiar with Electric Cloud? • How many of you are users or ElectricFlow?
  • 5. © Electric Cloud | electric-cloud.com My job – DevOps Integration and Orchestration Infrastructure Development Operations Developers  Coding  Local Builds  Local Testing Preflight Build SCM CI Build Artifact Management QA/UAT •Provision Environment •Deploy •Testing Staging •Deploy •Smoke test Production Retrieve Changes Checkout Checkout Publish Retrieve On success promote & notify QA & UAT On success notify release team 1 2 3 4 5 6 7 8 9  Debug  Prod Start Release Pipeline
  • 6. © Electric Cloud | electric-cloud.com Getting to software delivery automation Governance Orchestration Dev Ops Infrastructure Business process requirements and constraints (SW Delivery Specifications) Applications / SW
  • 7. © Electric Cloud | electric-cloud.com DEV OPS What Electric Cloud provides for Software Delivery DEPLOY ANY APP. ANY VERSION. ANYWHERE. ANYTIME. RELEASE TRADITIONAL AND CD PIPELINES AND RELEASES BUILD/TEST FLEXIBLE AND SCALABLE AUTOMATION FOR DEV AND QA OTHER ORCHESTRATE ANY TOOLCHAIN OR PROCESS. DSL, CLI, REST, SOAP, HTTP, API, SDK Plugs right in to your existing tools ElectricFlow DEVOPS AUTOMATION PLATFORM SHARED CONTROL | SHARED VISIBILITY | SHARED RESOURCES SCALABLEEXTENSIBLE SECURE TRANSPARENTFLEXIBLE HYBRID CLOUD
  • 8. © Electric Cloud | electric-cloud.com Modern user experience
  • 9. © Electric Cloud | electric-cloud.com Application Model
  • 10. © Electric Cloud | electric-cloud.com What is a DSL? A domain-specific language (DSL) is a computer language specialized to a particular application domain. This is in contrast to a general-purpose language (GPL), which is broadly applicable across domains, and lacks specialized features for a particular domain… DSLs can be further subdivided by the kind of language, and include domain-specific markup languages, domain- specific modeling languages (more generally, specification languages), and domain-specific programming languages. - Wikipedia
  • 11. © Electric Cloud | electric-cloud.com Examples of DSLs • HTML for webpage definition • MATLAB for mathematical modeling • Verilog, SystemC, LISA for HW, SoC and uProcessor design • Regex for text pattern matching • make for build automation • Chef recipes & Puppet manifests for Infrastructure as Code • But what for software delivery automation?
  • 12. © Electric Cloud | electric-cloud.com Anders Wallgren, CTO Electric Cloud Why am I excited about DSL? Electric Flow DSL • Easy to learn • Compact • Declarative • Idempotent • Inheritance  Very fast model creation
  • 13. © Electric Cloud | electric-cloud.com How I used to code in ElectricFlow
  • 14. © Electric Cloud | electric-cloud.com Configuration Management build Manual Run Book 1. PuTTY into VOB server 2. Create dynamic view 3. … (other VOB interactions) 4. Create local copy on build machine 5. Adjust permisions 6. Modify registry 7. Run build script 8. … (other file manipulations) 9. Start Linux VM 10. Copy build to VM 11. Create RPMs on VM 12. Create check sum file 13. Copy RPMs to build machine 14. … (other file manipulations) 15. Burn CD
  • 15. © Electric Cloud | electric-cloud.com Spin up a field-deployable datacenter 1. Do inventory of installation media 2. Power up 3. Verify networking is operational 4. Install the base services and infrastructure software 5. Install the main software components 6. Perform functional test subworkflow activity 7. Checkout XYZ functionality 8. Test and checkout 9. Verify component interoperability
  • 16. © Electric Cloud | electric-cloud.com Top level installation workflow
  • 17. © Electric Cloud | electric-cloud.com When models get large Servers Services TypeA svs1, svs2, svs3 TypeB svs1, svs4, svs5, svs6, svs7 TypeC svs8, svs9 TypeD svs8, svs10, svs11 TypeE svs12 … ..
  • 18. © Electric Cloud | electric-cloud.com Application Model
  • 19. © Electric Cloud | electric-cloud.com Onboard applications Development Continuous Integration Continuous Deployment Visual Studio .NET Eclipse Java xCode SCM Code Analysis Build Unit Test ArtifactManagement Release Pipeline Deploy Target Containers IIS Apprenda iOS QA UAT PROD
  • 20. © Electric Cloud | electric-cloud.com Onboarding Parameters [ { "name": "appName", "label": "Application Name", "description": "The name of the application to be onboarded", "defaultValue": "My Application" }, { "name": "sourceLocation", "label": "Source Code Location", "description": "SCM location for CI", "defaultValue": "http://gitlab.mycompany.com/apps/myapp.git" }, { "name": "stages", "label": "Stage names", "description": "Comma-separated list of stages for pipeline", "defaultValue": "Dev,QA,UAT,Staging,Prod" }, …
  • 21. © Electric Cloud | electric-cloud.com Automating the automation
  • 22. © Electric Cloud | electric-cloud.com These use cases showed me the power of DSL • Easier iterative model development • Data-driven model creation • Enable end-to-end process generation
  • 23. © Electric Cloud | electric-cloud.com Benefits of EF DSL to enterprise software delivery • Documented process • Executable specification • Ease onboarding of new and legacy projects and teams • Ability to use mature code-based tools and approaches • Create and manage very complex delivery processes • Enable working at scale with teams of thousands • Matching the right interface to the particular user
  • 24. © Electric Cloud | electric-cloud.com Benefits of Code-based approaches in general • Leverage mature tool chains and best practices • IDEs • SCM / versioning • Modular design • Test-driven development • Static analysis and other code quality tools • Ease of Refactoring • Sharing / Collaboration • Scales well • Easier data-driven approaches
  • 25. © Electric Cloud | electric-cloud.com ElectricFlow Domain Specific Language, EF DSL • Groovy-based • Native access to ElectricFlow platform • Supports entire EF API • Enables model authoring and scripting And as said before • Easy to learn • Compact • Declarative • Idempotent • Inheritance
  • 26. © Electric Cloud | electric-cloud.com ElectricFlow platform addresses Process Automation End-to-end software delivery automation through graphical/Web interface • Centralized • Secure • High scalability • Visibility • Traceable • Fault tolerant
  • 27. © Electric Cloud | electric-cloud.com EF DSL Examples - DEMO • Configuration Management Procedure • Onboarding legacy applications  Procedures  Environment models  Application models  Pipeline delivery discipline • Spinning up new projects  Training set up
  • 28. © Electric Cloud | electric-cloud.com DEMO
  • 29. © Electric Cloud | electric-cloud.com Samples on Github
  • 30. © Electric Cloud | electric-cloud.com EF DSL IDE, Lite Editor - DEMO
  • 31. © Electric Cloud | electric-cloud.com DEMO
  • 32. © Electric Cloud | electric-cloud.com DSL IDE available on Github
  • 33. © Electric Cloud | electric-cloud.com Conclusion When it comes to software delivery, ElectricFlow UI is great for  Visualization  Medium Scale content authoring For large-scale automating the automation EF DSL  Gives full access to ElectricFlow platform  Enables code-based authoring, or Process-as-Code
  • 34. © Electric Cloud | electric-cloud.com Thank you Networking Other Systems ISV, Internet & Entertainment Heavy Industry Financial Services Automotive Medical Devices Semiconductor Aerospace / Defense Mobile Devices Q&A

Editor's Notes

  1. Presentationstitle | Date
  2. use strict; use ElectricCommander; $| = 1; $ec->createProject("Hello Project"); $ec->createProcedure("Hello Project", "Hello Procedure"); $ec->createStep("Hello Project", "Hello Procedure", "Hello World from ec-perl"); project "Hello Project", { procedure "Hello Procedure", { step "Hello World", command: "echo Hello World from EF DSL!" } }
  3. Expected output, check box
  4. One of the largest aerospace/defense contractors