Your SlideShare is downloading. ×
Tce automation-d4
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×
Saving this for later? Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime – even offline.
Text the download link to your phone
Standard text messaging rates apply

Tce automation-d4

763

Published on

Published in: Technology
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
763
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
10
Comments
0
Likes
0
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide
  • 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’
  • Transcript

    • 1. Itai Or
      &
      Haggai Philip Zagury
    • 2. Big Words / Q’s …
      How come ?
      What ?
      Who ?
      When ?
      How ?
    • 3. How Come ?
      3
    • 4. What ?
      4
    • 5. Who ?
      5
    • 6. When ?
      6
      Staying relevant
      by
      Adjusting to change
      eq.
      Staying in the game
    • 7. How ?
      7
      Revise
      Reuse
      Utilize
    • 8. Key “players”
      8
      DEV
      QA
      CM
    • 9. 9
      The Automation Glue
      OPS
      QA
      DEV
      CM
    • 10. Evolution(s)
      10
      Connecting the Business to Development is so 2010 …
      Connecting Business to Ops via Automation is 2011 …
    • 11. The Automation funnel
      Automation
      11
    • 12. Best Practices 4 Automation
      12
    • 13. Unit Testing
      13
    • 14. Integration Tests
      14
    • 15. System Tests
      15
    • 16. Reporting
      16
      Unit testing
      Quality
      Coverage
      Dependency
    • 17. Dependency Management
      17
      Modularity requires Supporting tools
      Dependency analysis
    • 18. Component Based Integration
      18
      Assembling software modules into components
      Cross functional …
    • 19. Virtualization & Cloud
      19
    • 20. Continuous Integration
      20
      Build& Test
      On every code change
    • 21. Continuous Deployment
      21
      Pushing CI
      to the limit
    • 22. 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 ?!
    • 23. Practical automation
      23
      Theory is Great
      Now lets meet reality …
    • 24. Tool – applying best practices
    • 25. Application
    • 26. Development needs
      26
      Supportive IDE’s
      Mature build frameworks
      Conventions
      Convention over configuration
      Dependency management
      Binary & component based development
      Local deployments of PSP’s
    • 27. QA
      27
      Mature testing frameworks
      Continuous functionality & UI testing
      Performance testing
      Ongoing reporting
      Utilizing Grid & Cloud
    • 28. 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
    • 29. Automation
      29
      Empower Dev, IT Operations & QA
      Executing / Enabling continuous deployment
      Defining & automating of deployment from Dev to Production
      Adjusting & Automating the deployment process
    • 30. 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
    • 31. Continuous Deployment
      31
      Fast turnovers eq. agility
      Small(er) Changes eq. Smaller Risks
      More redundant
      Achievable via automation
    • 32. 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
    • 33. Challenges
      To automate:
      Deployment
      Sanity test
      33
    • 34. 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
    • 35. A real life Use Case
      35
      Continuous
      Create Runtime
      Deploy
    • 36. Configure Continuous Job
      36
    • 37. SCM configuration
      37
    • 38. Module level Unit-test trend graph
      38
    • 39. Runtime Job
      39
    • 40. Runtime module in Artifact repository
      40
    • 41. Test – running in cloud
      41
    • 42. Utilizing private cloud
      42
    • 43. Deploy-Test Results
      43
    • 44. Benefits
      44
    • 45. Evolution(s)
      45
      Ops
      AUTOMATION
      QA
      Dev & CM
      PM
      PO
    • 46. 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
    • 47. CI & CD combined
      47
    • 48. Unit Testing
      48
      Testing at the module level
      Integral part of development process
      Writing “Self Testing” code
      Shorter development iterations
    • 49. User Acceptance Tests
      49
      Post Integration & system test, user & client feedback.
    • 50. Traditional CI
      50

    ×