• Share
  • Email
  • Embed
  • Like
  • Save
  • Private Content
Tce automation-d4
 

Tce automation-d4

on

  • 935 views

 

Statistics

Views

Total Views
935
Views on SlideShare
934
Embed Views
1

Actions

Likes
0
Downloads
9
Comments
0

1 Embed 1

http://www.techgig.com 1

Accessibility

Categories

Upload Details

Uploaded via as Microsoft PowerPoint

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment
  • Manual & Repetitive tasksDevelopmentQAOPSWhat do we automate ? – Everything, development, build, deployment …How can automation help ? - Who automates ? - parties participating in automationWhen do we automate ? – an open question for the last slide
  • People & DemandsClient demands are changingWe are all clients within and out the organizationpeople are changing = usTechnologies are changingOrganizations are changingPeople & DemandsTechnologiesOrganizations
  • Business processesAutomate repetitive time consuming tasks
  • All parties in the organizationWe are changing thus we are the leaders of the change
  • Now – if we want our customer to stay we need to make necessary adjustments
  • Are there things we can do betterHow are our executionsWe have lessons learned do we apply them into out processes or just keep having these meetings? Voer & overContinuousbuilds => continues testing => continuous deploymentWe have virtualization / Grid => lets take them to the EXTREAME – stretch our abilitiesImprove collaborationRevise & Reuse processesUtilize existing assetsImprove collaboration across teams & divisions
  • DevelopmentQAConfiguration Management / Release managementThere is Something missing in here …
  • Working together end 2 end delivering continuous valueAutomation is a set of processes, methods and systems for communication, collaboration and integration between departments for Development (Applications/Software Engineering), Technology Operations and Quality Assurance (QA). It relates to the emerging understanding of the interdependence of development and operations in meeting a business' goal to producing timely software products and servicesOps are “left behind”Decision takers / risk assent done in late stages Dev, QA, CM, OPS
  • The funnel driving modules / features from Development through QA & CM to Operations
  • There are quite a fewShort overview will follow …
  • The key to automation – nothing without X testingUnit testing – short and to the pointDo not mix-up with system / integration testing’
  • Tests your code as part of a bigger systemDevelopers better aware of the bigger picture
  • GUIUsabilityPerformanceOS’sInstaller(s) and more …Jsystem / QTP – QA role
  • Missing data
  • BuildGenerate reportsQuick Feedback to DevProve continuous stability
  • BuildGenerate reportsQuick Feedback to DevProve continuous stability
  • As described in Eishay’s (smith) presentationsWe have atested module / component ready for deployment
  • The range of technologies available in each layer are big how do we choose – criteria based on Answers CI’s needs SCM “easy merging” - gitOne mainline – subversion We saw the ability of utlizing SVN’s capabilities and Git powerful merging in previous presentationBuild Tools Ant – free style all the way …Maven - xml based, fixed lifecycle expandable via pluginsGradle, Buildr – very much like Maven in terms of dependency mangmnet language driven Auto builder - Continuous builds CM & developer (multiple views) = hudsonSupport / extend support of our build toolOn submit / scheduledAutomatic deploymnet via promotions vs separate “out of context builds” in other Auto Builders (mentioned above)Cloud integration (ssh, libvirt, pre post vm actions)
  • The range of technologies available in each layer are big how do we choose – criteria based on Answers CI’s needs SCM “easy merging” - gitOne mainline – subversion We saw the ability of utlizing SVN’s capabilities and Git powerful merging in previous presentationBuild Tools Ant – free style all the way …Maven - xml based, fixed lifecycle expandable via pluginsGradle, Buildr – very much like Maven in terms of dependency mangmnet language driven Auto builder - Continuous builds CM & developer (multiple views) = hudsonSupport / extend support of our build toolOn submit / scheduledAutomatic deploymnet via promotions vs separate “out of context builds” in other Auto Builders (mentioned above)Cloud integration (ssh, libvirt, pre post vm actions)
  • שלום קוראים לי איתיואני ידגים לכם את מה שחגי דיבר עד עכשיואוטומציה של התהליכים בתוך ארגוןלצורך ההדגמה מדובר בחברת מוצר שמיצרת Distrebution of hudson Build manager אני יציג תהליך של בנית PluginPromotedSimplePluginהרחבה של hudson promote pluginיצירת ditrebution of hudson in servletcontiner (tomcat)With the promoted pluginלצורך זה אני ישתמש בHudson – build managerNexus – artifatreporitoryMaven – build scripts
  • שלום קוראים לי איתיואני ידגים לכם את מה שחגי דיבר עד עכשיואוטומציה של התהליכים בתוך ארגוןלצורך ההדגמה מדובר בחברת מוצר שמיצרת Distrebution of hudson Build manager אני יציג תהליך של בנית PluginPromotedSimplePluginהרחבה של hudson promote pluginיצירת ditrebution of hudson in servletcontiner (tomcat)With the promoted pluginלצורך זה אני ישתמש בHudson – build managerNexus – artifatreporitoryMaven – build scripts
  • The key to automation – nothing without X testingUnit testing – short and to the pointDo not mix-up with system / integration testing’

Tce automation-d4 Tce automation-d4 Presentation Transcript

  • Itai Or
    &
    Haggai Philip Zagury
  • Big Words / Q’s …
    How come ?
    What ?
    Who ?
    When ?
    How ?
  • How Come ?
    3
  • What ?
    4
  • Who ?
    5
  • When ?
    6
    Staying relevant
    by
    Adjusting to change
    eq.
    Staying in the game
  • How ?
    7
    Revise
    Reuse
    Utilize
  • Key “players”
    8
    DEV
    QA
    CM
  • 9
    The Automation Glue
    OPS
    QA
    DEV
    CM
  • Evolution(s)
    10
    Connecting the Business to Development is so 2010 …
    Connecting Business to Ops via Automation is 2011 …
  • The Automation funnel
    Automation
    11
  • Best Practices 4 Automation
    12
  • Unit Testing
    13
  • Integration Tests
    14
  • System Tests
    15
  • Reporting
    16
    Unit testing
    Quality
    Coverage
    Dependency
  • Dependency Management
    17
    Modularity requires Supporting tools
    Dependency analysis
  • Component Based Integration
    18
    Assembling software modules into components
    Cross functional …
  • Virtualization & Cloud
    19
  • Continuous Integration
    20
    Build& Test
    On every code change
  • Continuous Deployment
    21
    Pushing CI
    to the limit
  • Continuous Deployment
    A successful and repeatable methodology of deploying code continuously …
    Extending The
    traditional lifecycle
    So we have an Artifact accompanied by:
    Component & dependency analysis
    Test & coverage reports, Performance testing
    Let’s push it and get immediate feed back from our customer – he is the best / free QA resource
    +
    QA deployment
    UAT deployment
    Prod deployment ?!
  • Practical automation
    23
    Theory is Great
    Now lets meet reality …
  • Tool – applying best practices
  • Application
  • Development needs
    26
    Supportive IDE’s
    Mature build frameworks
    Conventions
    Convention over configuration
    Dependency management
    Binary & component based development
    Local deployments of PSP’s
  • QA
    27
    Mature testing frameworks
    Continuous functionality & UI testing
    Performance testing
    Ongoing reporting
    Utilizing Grid & Cloud
  • CM & RE
    28
    Automating CM best practices
    Private branches
    CI for private branches
    Auto merge promotions
    Built-in versioning mechanisms
    Supply flexible branching & modeling schemas
    Binary & Artifact repositories
    Support continues integration & testing
    Cloud continuous - auto deployment’s
    Provide automated & traceable release processes
  • Automation
    29
    Empower Dev, IT Operations & QA
    Executing / Enabling continuous deployment
    Defining & automating of deployment from Dev to Production
    Adjusting & Automating the deployment process
  • CI implementation - for the team
    continuous cloud
    Node Group-windows-ci-agents
    Artifact / Binary
    Repository
    Proxy
    continuousIntegration Server
    Node Group linux-ci-agents
    QA- & Automation
    cloud
    UAT / PROD like cloud
    Delivery
    Jmeater / Jsystem
    UAT / PRODservers
    Node Group-linux-QA
    Node Group-linux-QA
    Acceptance
    testing
  • Continuous Deployment
    31
    Fast turnovers eq. agility
    Small(er) Changes eq. Smaller Risks
    More redundant
    Achievable via automation
  • Customer Story
    32
    Company with continues build with unit test for component (Hudson plug-in)
    Manual QA test sanity and integration
    Manual installation of server and plug-ins
  • Challenges
    To automate:
    Deployment
    Sanity test
    33
  • Solution
    Create installable package that contain all the set of plug-ins
    Automate installation and sanity test.
    We choose Hudson as build manager:
    Maven as build scripts
    Nexus as artifact repository
    Virtual box for private cloud
    Added runtime module – Hudson + tomcat + plug-in => deploy it to Nexus
    Job ruining on Windows based VM which runs selenium tests
    Hudson picks up all reports and exposes in the UI
    34
  • A real life Use Case
    35
    Continuous
    Create Runtime
    Deploy
  • Configure Continuous Job
    36
  • SCM configuration
    37
  • Module level Unit-test trend graph
    38
  • Runtime Job
    39
  • Runtime module in Artifact repository
    40
  • Test – running in cloud
    41
  • Utilizing private cloud
    42
  • Deploy-Test Results
    43
  • Benefits
    44
  • Evolution(s)
    45
    Ops
    AUTOMATION
    QA
    Dev & CM
    PM
    PO
  • Methodologies
    Dependency Management
    Component based development
    Unit Testing
    Build verification testing, Sanity testing, Smoke testing
    Integration Tests
    Regression Testing
    Performance Testing
    Continuous Integration
    Continuous deployment
    46
  • CI & CD combined
    47
  • Unit Testing
    48
    Testing at the module level
    Integral part of development process
    Writing “Self Testing” code
    Shorter development iterations
  • User Acceptance Tests
    49
    Post Integration & system test, user & client feedback.
  • Traditional CI
    50