ElectricFlow 7.3 User Guide ElectricCloud,Inc. 35SouthMarketStreet,Suite100 SanJose,CA95113 www.electric-cloud.com ElectricFlowversion7.3 Copyright©2002–2017ElectricCloud,Inc.Allrightsreserved. Published6/27/2017 ElectricCloud®believestheinformationinthispublicationisaccurateasofitspublicationdate.Theinformation issubjecttochangewithoutnoticeanddoesnotrepresentacommitmentfromthevendor. THEINFORMATIONINTHISPUBLICATIONISPROVIDED“ASIS.”ELECTRICCLOUD,INCORPORATED MAKESNOREPRESENTATIONSORWARRANTIESOFANYKINDWITHRESPECTTOTHEINFORMATION INTHISPUBLICATION,ANDSPECIFICALLYDISCLAIMSIMPLIEDWARRANTIESOFMERCHANTABILITYOR FITNESSFORAPARTICULARPURPOSE. Use,copying,anddistributionofanyELECTRICCLOUDsoftwaredescribedinthispublicationrequiresan applicablesoftwarelicense. Copyrightprotectionincludesallformsandmattersofcopyrightablematerialandinformationnowallowedby statutoryorjudiciallaworhereinaftergranted,includingwithoutlimitation,materialgeneratedfromsoftware programsdisplayedonthescreensuchasicons,screendisplayappearance,andsoon. Thesoftwareand/ordatabasesdescribedinthisdocumentarefurnishedunderalicenseagreementor nondisclosureagreement.Thesoftwareand/ordatabasesmaybeusedorcopiedonlyinaccordancewithterms oftheagreement.Itisagainstthelawtocopythesoftwareonanymediumexceptasspecificallyallowedinthe licenseornondisclosureagreement. Trademarks ElectricCloud,ElectricAccelerator,ElectricAcceleratorHuddle,ElectricCommander,ElectricFlow,ElectricFlow Deploy,ElectricFlowRelease,ElectricInsight,andElectricMakeareregisteredtrademarksortrademarksof ElectricCloud,Incorporated. ElectricCloudproducts—ElectricAccelerator,ElectricAcceleratorHuddle,ElectricCommander,ElectricFlow, ElectricFlowDeploy,ElectricFlowRelease,ElectricInsight,andElectricMake—arecommonlyreferredtoby their“shortnames”—Accelerator,Huddle,Commander,Flow,Deploy,Release,Insight,andeMake— throughoutvarioustypesofElectricCloudproduct-specificdocumentation. Otherproductnamesmentionedinthisguidemaybetrademarksorregisteredtrademarksoftheirrespective ownersandareherebyacknowledged. iii Contents Chapter1:IntroductiontoElectricFlow 1 Web-BasedSystem 1 AutomationPlatform 3 WhatMakesElectricFlowUnique? 3 ElectricFlowArchitecture 3 SimpleArchitecturalOverview 5 ExpandedRemoteConfiguration 7 OtherConfigurations 9 RoadmaptoElectricFlow 9 GuidedTutorials 11 EnablingorDisablingtheTutorials 13 ViewingtheListofTutorials 13 StartingorContinuingaTutorial 15 Chapter2:DeploymentAutomation 21 ApplicationsandProcesses 21 Environments 27 MasterComponents 29 MasterComponentExamples 33 MasterComponentsListUI 73 ArtifactStaging 79 AttheApplicationLevel 79 AtthePipelineandReleaseLevels 81 Rollback 81 GuidelinesforUsingRollback 83 TriggeringRollbackEvenifUndeployFails 85 EnablingRollbackOnlyonComponentsthatSuccessfullyUndeployed 85 EnablingRollbackOnlyonFailedComponents 85 AutomaticRollback 85 ManagingApplicationDependencies 87 KeyBenefits 87 ApplicationDependencyRules 87 v ApplicationDependencyRuleExamples 89 CreatingApplicationDependencies 93 ManualTasksandSteps 99 ProcessBranching 101 UsingProcessBranching 101 ProcessBranchingStatesandConditions 103 CustomConditionsinProcessBranching 105 PropertyReferenceUseCase 109 Snapshots 113 Example:Creating,Deploying,andComparingSnapshots 117 ApplicationDeploymentOptions 127 InventoryTracking 137 TrackingattheComponentProcessLevel 137 EnvironmentInventory 137 ViewinganEnvironmentInventory 137 ComparingEnvironmentInventories 145 MicroserviceApplicationDeploymentUsingContainers 157 ContainerandMicroserviceConcepts 157 WorkflowforImplementingContainersandMicroservicesinElectricFlow 161 MigratingfromMonolithicApplicationstoMicroservices 163 VolumeSupport 165 PrivateandPublicRegistriesandtheUseofCredentials 165 ObjectNamingGuidelines 165 GuidelinesforUsingClusters 167 Limitations 167 ConfiguringaDatabaseforContainersandServices 167 DeploymentPackages 167 Introduction 169 CreatingaDeploymentPackage 169 UsingtheDeploymentPackageManagerfromtheServiceCatalogUI 173 DeploymentPackageManagerAPI 175 DeploymentStrategies 185 RollingDeployments 185 Blue/GreenDeployments 187 CanaryDeployments 189 DarkLaunchDeployments 191 HotDeployments 191 PartialDeployments 191 vi OtherDeploymentStrategies 193 RollingDeploymentUseCase 193 Blue/GreenDeploymentUseCase 213 CanaryDeploymentUseCase 219 DarkLaunchDeploymentUseCase 231 HotDeploymentUseCase 247 AutomatedEnvironmentDiscovery 253 ResourcesPage 253 EnvironmentVisualEditor 255 EnvironmentTier 259 EnvironmentReservations 263 EnvironmentReservationUseCase 267 ConflictResolution 273 EnvironmentReservationUI 275 Full-StackDependencyView 289 ViewingDependenciesandtheStackComparison 291 StackDefinition 297 StackTemplates 317 ConfigurationDrift 319 Chapter3:DeploymentExamples 321 GuidelinesforModelingandDeployingApplicationsinElectricFlow 321 WhenModelingApplications 321 WhenModelingEnvironments 323 WhenDeployingApplications 323 GettingtheReal-TimeStatusofApplicationRunsandTroubleshooting 327 Examples:ModelingandDeployingApplications 327 CreatingaNewApplication 329 AuthoringApplicationProcesses 365 CreatingEnvironments 377 DefiningTierMapsandClusterMaps 393 DeployingandTroubleshootingApplications 403 ViewingtheReal-TimeProgressofDeployments 417 TroubleshootingDeployments 421 Example:ManualStepswithRuntimeParameters 423 ProcessFlowDetails 425 DeploymentScenarios 427 SettingUpCustomParametersforApplicationandComponentProcesses 437 SettingandModifyingtheParameterLabel 447 vii LookingUpParametersinApplicationandComponentProcesses 455 AttachingCredentialstoApplicationandComponentProcesses 457 PluginProcessSteps 461 PluginStepsinaComponentProcess 463 PluginStepsinanApplicationProcess 471 AddingProcessSteps 479 DeployingApplicationsinDynamicEnvironments 485 AboutResources 487 Examples 487 ModelingDynamicEnvironments 487 UsageGuidelinesandBestPractices 489 CreatingAMIs 495 AMIswithElectricFlowAgents 495 AMIswithElectricFlowAgentsandChefConfigurationManagement 497 CreatingResourceTemplates 497 Example:ResourceTemplateforInfrastructureusingAmazonEC2 505 SelectCloudProvider 505 Selectaccount 517 Example:ResourceTemplateforInfrastructureusingOpenStack 519 PrerequisitesandConfigurationGuidelines 519 Selectcloudprovider 519 Selectaccount 527 Example: ResourceTemplateforMiddlewareUsingChef 529 Selectconfigurationmanagement 529 Selectaccount 533 ViewingandEditingResourceTemplates 533 ResourceTemplateDetails 535 ResourceTemplateProperties 537 AccessControlSettings 541 ChangeTracking 543 AccessingtheResourceTemplatesintheAutomationPlatform 543 CreatingEnvironmentTemplates 547 viii CreatingaNewEnvironmentTemplate 547 CreatinganEnvironmentTemplateBasedonanExistingTemplate 563 ViewingandEditingEnvironmentTemplates 569 DeployingApplicationsWithProvisionedCloudResources 575 RetiringDynamicEnvironments 591 DynamicEnvironmentExamplewithAmazonandChef 593 ResourceTemplates 593 EnvironmentTemplates 597 DeployingApplicationstoDynamicEnvironments 599 RetiringDynamicEnvironments 601 DeveloperTask:CreatingCustomPlugins 603 CreatingCustomCloudProviderPlugins 605 HowtoCreateaCustomCloudProviderPlugin 605 Example:PropertyStructureforaCloudProviderPlugin 611 CreatingCustomConfigurationManagementPlugins 615 HowtoCreateaCustomConfigurationManagementPlugin 615 Example:PropertyStructureforaConfigurationManagementPlugin 621 Chapter4:Pipelines 625 PipelineConcepts 627 PipelineTasks 627 EntryandExitGates 633 Pipeline"Runif"and"Waituntil"Conditions 637 PipelineStartandEndStagesandStageSkipping 637 PipelineScheduling 641 PipelineUI 641 Example:AuthoringandRunningPipelines 653 PartsofaPipelinesList 655 PartsofaPipeline 657 CreatingaPipeline 659 EditingPipelineDetails 667 DefiningtheTasksinaPipelineStage 669 ViewingandEditingthePipelineDefinition 703 DefiningGateApprovals 705 RunningPipelines 735 ix Examples: ViewingtheDetailsofaPipelineRun 741 ViewingPipelineRuns 745 OpeningthePipelineRunsList 745 What'sinthePipelineRunsList 745 SearchingthePipelineRunsList 751 TroubleshootingPipelines 759 Example:AuthoringaPipelinewithManualandUtilityTasks 771 PluginPipelineTasks 779 PluginTasks 779 PipelineObjectsandConditions 787 IntheUI 787 UsingAPICommands 799 PipelineStageSummary 805 CreatingUser-GeneratedDatafortheStageSummary 807 ViewingtheStageSummaryDuringaPipelineRun 807 ViewingtheStageSummaryforaCompletedPipelineRun 813 CredentialsinPipelines 817 Example:IntegratingTestAutomationinReleasePipelines 817 ActingonTestResults 817 CollectingandParsingTestData 819 Example:TestAutomationdrivingtheElectricFlowPipeline 819 LeveragingTestDataManagementandServiceVirtualizationin ReleasePipelines 827 Example:ElectricFlowPipelinewithTestDataManagementandServiceVirtualization 827 Chapter5:ReleaseManagement 837 MultiplePipelineRunsinaRelease 839 ReleaseScheduling 841 ReleaseConcepts 843 ModelingReleases 843 SettingUpReleases 845 ControllingtheReleases 847 VisibilityandStatusofReleasePipelines 847 FromtheReleaseDashboard 847 FromtheEnvironmentInventory 849 FromtheChangeHistory 849 Postp 849 Example:VisibilityinaReleasePipelinefromtheReleaseDashboard 851 ReleaseDefinition 859 Example:CompletedReleaseDefinition 859 x
Description: