Your SlideShare is downloading. ×
0
Itai Or<br />& <br />Haggai Philip Zagury<br />
Big Words / Q’s …<br />How 	come ?<br />What ?<br />Who  ?<br />When 	? <br />How ?<br />
How Come ?<br />3<br />
What ?<br />4<br />
Who ?<br />5<br />
When ?<br />6<br />Staying  relevant<br />by<br />Adjusting to change<br />eq.<br />Staying in the game<br />
How ?<br />7<br />Revise<br />Reuse<br />Utilize<br />
Key “players”<br />8<br />DEV<br />QA<br />CM<br />
9<br />The Automation Glue <br />OPS<br />QA<br />DEV<br />CM<br />
Evolution(s)<br />10<br />Connecting the Business to Development is so 2010 …<br />Connecting Business to Ops via Automati...
The Automation funnel<br />Automation<br />11<br />
Best Practices 4 Automation<br />12<br />
Unit Testing<br />13<br />
Integration Tests<br />14<br />
System Tests<br />15<br />
Reporting<br />16<br />Unit testing<br />Quality<br />Coverage<br />Dependency<br />
Dependency Management<br />17<br />Modularity requires Supporting tools<br />Dependency analysis <br />
Component Based Integration<br />18<br />Assembling software modules into components<br />Cross functional …<br />
Virtualization & Cloud<br />19<br />
Continuous Integration<br />20<br />Build& Test<br />On every code change<br />
Continuous Deployment<br />21<br />Pushing CI <br />to the limit<br />
Continuous Deployment<br />A successful and repeatable methodology of deploying code continuously …<br />Extending The<br ...
Practical automation	<br />23<br />Theory is Great<br />Now lets meet reality …<br />
Tool – applying best practices<br />
Application <br />
Development needs<br />26<br />Supportive IDE’s<br />Mature build frameworks<br />Conventions <br />Convention over config...
QA<br />27<br />Mature testing frameworks<br />Continuous  functionality & UI testing<br />Performance testing<br />Ongoin...
CM & RE<br />28<br />Automating CM best practices<br />Private branches<br />CI for private branches<br />Auto merge promo...
Automation<br />29<br />Empower Dev, IT Operations & QA<br />Executing / Enabling continuous deployment<br />Defining & au...
CI implementation - for the team<br />continuous cloud<br />Node Group-windows-ci-agents<br />Artifact / Binary<br />Repos...
Continuous Deployment<br />31<br />Fast turnovers  eq. agility<br />Small(er) Changes  eq.  Smaller Risks<br />More redund...
Customer Story<br />32<br />Company with continues build with unit test for component (Hudson plug-in)<br />Manual QA test...
Challenges<br />To automate:<br />Deployment<br />Sanity test<br />33<br />
Solution<br />Create installable package that contain all the set of plug-ins<br />Automate installation and sanity test.<...
A real life Use Case<br />35<br />Continuous<br />Create Runtime<br />Deploy<br />
Configure Continuous Job<br />36<br />
SCM configuration<br />37<br />
Module level Unit-test trend graph<br />38<br />
Runtime Job<br />39<br />
Runtime module in Artifact repository<br />40<br />
Test – running in cloud<br />41<br />
Upcoming SlideShare
Loading in...5
×

Tce automation-d4

780

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
780
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
10
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide
  • Manual &amp; 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 &amp; DemandsClient demands are changingWe are all clients within and out the organizationpeople are changing = usTechnologies are changingOrganizations are changingPeople &amp; 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 &amp; overContinuousbuilds =&gt; continues testing =&gt; continuous deploymentWe have virtualization / Grid =&gt; lets take them to the EXTREAME – stretch our abilitiesImprove collaborationRevise &amp; Reuse processesUtilize existing assetsImprove collaboration across teams &amp; 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&apos; 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 &amp; 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 &amp; 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 &amp; 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 of "Tce automation-d4"

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

      Clipping is a handy way to collect important slides you want to go back to later.

    ×