Devops Journey - internet tech startup
-
Upload
viresh-doshi -
Category
Technology
-
view
848 -
download
0
Transcript of Devops Journey - internet tech startup
![Page 1: Devops Journey - internet tech startup](https://reader037.fdocuments.us/reader037/viewer/2022110218/58f1243f1a28ab7b588b459d/html5/thumbnails/1.jpg)
DEVOPS Journey:
Internet tech startup
My experience with a technology
startup who was stuck in the 1980s
![Page 2: Devops Journey - internet tech startup](https://reader037.fdocuments.us/reader037/viewer/2022110218/58f1243f1a28ab7b588b459d/html5/thumbnails/2.jpg)
BackgroundWhat’s this about?
![Page 3: Devops Journey - internet tech startup](https://reader037.fdocuments.us/reader037/viewer/2022110218/58f1243f1a28ab7b588b459d/html5/thumbnails/3.jpg)
AboutIn this slide deck I share my experience, journey and thinking with working with a tech startup who needed help with QA, Automation and CI. What I gave them was DEVOPS
3
![Page 4: Devops Journey - internet tech startup](https://reader037.fdocuments.us/reader037/viewer/2022110218/58f1243f1a28ab7b588b459d/html5/thumbnails/4.jpg)
About me – Viresh DoshiMy background is in QA ( over 15 years exp.)Specialize in delivery and changeI identify areas that need improvement and then delivery solutions.Still learning Enjoys sharing experience and collaboration
4
![Page 5: Devops Journey - internet tech startup](https://reader037.fdocuments.us/reader037/viewer/2022110218/58f1243f1a28ab7b588b459d/html5/thumbnails/5.jpg)
About the tech startupthey provide software to ecommerce outfits that help them better understand their and increase their customers’ shopping experience. The goal being to increase revenue.
5
![Page 6: Devops Journey - internet tech startup](https://reader037.fdocuments.us/reader037/viewer/2022110218/58f1243f1a28ab7b588b459d/html5/thumbnails/6.jpg)
Doesn’t make senseA tech startup stuck in the 1980s. How can that be?Erm, not exactly sure…perhaps the existing technology team don’t have new industry experience…
6
![Page 7: Devops Journey - internet tech startup](https://reader037.fdocuments.us/reader037/viewer/2022110218/58f1243f1a28ab7b588b459d/html5/thumbnails/7.jpg)
What is wrong with the 80s?
The décorThe toysThe technologyThe tv showsThe haircutsOK, I secretly love the 1980s!
7
![Page 8: Devops Journey - internet tech startup](https://reader037.fdocuments.us/reader037/viewer/2022110218/58f1243f1a28ab7b588b459d/html5/thumbnails/8.jpg)
NostalgiaWe were patient
8
![Page 9: Devops Journey - internet tech startup](https://reader037.fdocuments.us/reader037/viewer/2022110218/58f1243f1a28ab7b588b459d/html5/thumbnails/9.jpg)
NostalgiaCar automation
9
![Page 10: Devops Journey - internet tech startup](https://reader037.fdocuments.us/reader037/viewer/2022110218/58f1243f1a28ab7b588b459d/html5/thumbnails/10.jpg)
NostalgiaWe loved to share…
10
![Page 11: Devops Journey - internet tech startup](https://reader037.fdocuments.us/reader037/viewer/2022110218/58f1243f1a28ab7b588b459d/html5/thumbnails/11.jpg)
NostalgiaWe saved important data on this…
11
![Page 12: Devops Journey - internet tech startup](https://reader037.fdocuments.us/reader037/viewer/2022110218/58f1243f1a28ab7b588b459d/html5/thumbnails/12.jpg)
What does it mean?DevOps – A term that comes from Agile that is focused on how businesses can embrace technology to delivery better results and win.Automation testing – use of special software to control the execution of tests that compare actual outcomes with predicted outcomes.Continuous Delivery – engineering approach to reliably produce software in short cycles.
12
![Page 13: Devops Journey - internet tech startup](https://reader037.fdocuments.us/reader037/viewer/2022110218/58f1243f1a28ab7b588b459d/html5/thumbnails/13.jpg)
My ApproachI initially work with their manual processes.I learn and document their product, relevant business areas and systems.I work through at least two software cycles to understand the end to end processes: Dev, test, build, release, production, hot fix cycles.
13
![Page 14: Devops Journey - internet tech startup](https://reader037.fdocuments.us/reader037/viewer/2022110218/58f1243f1a28ab7b588b459d/html5/thumbnails/14.jpg)
My ApproachI then present my findings with solutions and technology decisions to the sponsors and get their buy in.I start working on the jigsaw puzzle and incrementally piece together using a CI approach.I switch on systems and increase visibility.
14
![Page 15: Devops Journey - internet tech startup](https://reader037.fdocuments.us/reader037/viewer/2022110218/58f1243f1a28ab7b588b459d/html5/thumbnails/15.jpg)
Where were they before I was unleashed?Before DEVOPS
![Page 16: Devops Journey - internet tech startup](https://reader037.fdocuments.us/reader037/viewer/2022110218/58f1243f1a28ab7b588b459d/html5/thumbnails/16.jpg)
No Agile/SCRUMNo Product ownerNo Scrum masterNo retrospectives or planning meetingsNo triageNo Backlog grooming ( too many tickets)
16
![Page 17: Devops Journey - internet tech startup](https://reader037.fdocuments.us/reader037/viewer/2022110218/58f1243f1a28ab7b588b459d/html5/thumbnails/17.jpg)
No Agile/SCRUMNo statistics and reportingNo Daily standups ( well, a daily meeting that lasted 30 mins)
17
![Page 18: Devops Journey - internet tech startup](https://reader037.fdocuments.us/reader037/viewer/2022110218/58f1243f1a28ab7b588b459d/html5/thumbnails/18.jpg)
No Automated BuildsThe builds were packaged manually from 3 separate Code RepositoriesBinaries compiled and manually placed.The builds contained “rubbish”The builds contained manual version numbersImpossible to point out issues.
18
![Page 19: Devops Journey - internet tech startup](https://reader037.fdocuments.us/reader037/viewer/2022110218/58f1243f1a28ab7b588b459d/html5/thumbnails/19.jpg)
No automation testingNo regression testingNo functional testingTest execution loosely conducted against a development environment by developers and other members in the business.
19
![Page 20: Devops Journey - internet tech startup](https://reader037.fdocuments.us/reader037/viewer/2022110218/58f1243f1a28ab7b588b459d/html5/thumbnails/20.jpg)
Untidy environmentsJust the development environment and “staging environment” which was built ad hoc and from source code instead of the “build”Never the latest version
20
![Page 21: Devops Journey - internet tech startup](https://reader037.fdocuments.us/reader037/viewer/2022110218/58f1243f1a28ab7b588b459d/html5/thumbnails/21.jpg)
Manual Release notesThe release notes are manually generated using a word processor and then converted to a PDF and manually added to the source code repository.
21
![Page 22: Devops Journey - internet tech startup](https://reader037.fdocuments.us/reader037/viewer/2022110218/58f1243f1a28ab7b588b459d/html5/thumbnails/22.jpg)
Too many silly mistakesIncorrect versioning on document, database, front end and packaged builds.Missing items in the releaseIncorrect software Non tested database scripts that failed to execute
22
![Page 23: Devops Journey - internet tech startup](https://reader037.fdocuments.us/reader037/viewer/2022110218/58f1243f1a28ab7b588b459d/html5/thumbnails/23.jpg)
Developers focusSenior developers doing basic repetitive tasks instead of focusing on developing.Unnecessary time taken away per cycle.Everything was rushed and the quality suffered.
23
![Page 24: Devops Journey - internet tech startup](https://reader037.fdocuments.us/reader037/viewer/2022110218/58f1243f1a28ab7b588b459d/html5/thumbnails/24.jpg)
Office fit for David BrentThe office was located in a business park with no access to a gym or decent coffee shops
24
![Page 25: Devops Journey - internet tech startup](https://reader037.fdocuments.us/reader037/viewer/2022110218/58f1243f1a28ab7b588b459d/html5/thumbnails/25.jpg)
Source ControlBinaries built manually and then stored in source control.
25
![Page 26: Devops Journey - internet tech startup](https://reader037.fdocuments.us/reader037/viewer/2022110218/58f1243f1a28ab7b588b459d/html5/thumbnails/26.jpg)
No virtualized test environments
Despite Virutalisation servers being available, they were not used for test/dev/staging/CI environments.
26
![Page 27: Devops Journey - internet tech startup](https://reader037.fdocuments.us/reader037/viewer/2022110218/58f1243f1a28ab7b588b459d/html5/thumbnails/27.jpg)
JIRA tickets lacked infoTickets contained very little information.Too much haste and information lost in emails
27
![Page 28: Devops Journey - internet tech startup](https://reader037.fdocuments.us/reader037/viewer/2022110218/58f1243f1a28ab7b588b459d/html5/thumbnails/28.jpg)
Manual install to Production
Installation to production servers carried out manually by developers.
28
![Page 29: Devops Journey - internet tech startup](https://reader037.fdocuments.us/reader037/viewer/2022110218/58f1243f1a28ab7b588b459d/html5/thumbnails/29.jpg)
Poor build managementGenerally speaking, the function and ownership of build management was neglected/non existent.
29
![Page 30: Devops Journey - internet tech startup](https://reader037.fdocuments.us/reader037/viewer/2022110218/58f1243f1a28ab7b588b459d/html5/thumbnails/30.jpg)
Time to ponder and assimilate the info.
Thinking
![Page 31: Devops Journey - internet tech startup](https://reader037.fdocuments.us/reader037/viewer/2022110218/58f1243f1a28ab7b588b459d/html5/thumbnails/31.jpg)
ChallengesOld school thinking and workingLack of experience in new methodsWinning business and juggling installations
31
![Page 32: Devops Journey - internet tech startup](https://reader037.fdocuments.us/reader037/viewer/2022110218/58f1243f1a28ab7b588b459d/html5/thumbnails/32.jpg)
Client ChallengesJuggling two product deliveries.Looking to expand the tech teamExisting development team are very cleverTime to learn and implement
32
![Page 33: Devops Journey - internet tech startup](https://reader037.fdocuments.us/reader037/viewer/2022110218/58f1243f1a28ab7b588b459d/html5/thumbnails/33.jpg)
My challengesI interface with lots of different technologies which means slower starts and quick learning.Build momentum to increase efficiency.Use the client’s technology stack ( don’t introduce Java when the client is using PHP)Stick to the vision
33
![Page 34: Devops Journey - internet tech startup](https://reader037.fdocuments.us/reader037/viewer/2022110218/58f1243f1a28ab7b588b459d/html5/thumbnails/34.jpg)
Vision and principlesAutomate the journey from code check in to production.Eliminate all silly manual errorsPreserve manual test data for automation.Use a BDD approach to test automation – embrace Gherkin
34
![Page 35: Devops Journey - internet tech startup](https://reader037.fdocuments.us/reader037/viewer/2022110218/58f1243f1a28ab7b588b459d/html5/thumbnails/35.jpg)
What the world looks like after my vision?After DEVOPS
![Page 36: Devops Journey - internet tech startup](https://reader037.fdocuments.us/reader037/viewer/2022110218/58f1243f1a28ab7b588b459d/html5/thumbnails/36.jpg)
Build contains more action
At the end of every monthly cycle, the build now contains more fixes and more functionality than before.
36
![Page 37: Devops Journey - internet tech startup](https://reader037.fdocuments.us/reader037/viewer/2022110218/58f1243f1a28ab7b588b459d/html5/thumbnails/37.jpg)
Developers don’t buildThe build process has been automated and completely taken away from the developers.Code go through static analyzers The final release zip is packaged and built automatically for every code check in.
37
![Page 38: Devops Journey - internet tech startup](https://reader037.fdocuments.us/reader037/viewer/2022110218/58f1243f1a28ab7b588b459d/html5/thumbnails/38.jpg)
Eliminated silly errorsSilly errors were found only at the end of the release cycle and on production such as wrong versions in PDF documents. Incorrect binaries. Missing folders, dev code e.t.c
38
![Page 39: Devops Journey - internet tech startup](https://reader037.fdocuments.us/reader037/viewer/2022110218/58f1243f1a28ab7b588b459d/html5/thumbnails/39.jpg)
Visibility into Dev workThe radiator view provided by Jenkins CI now allows the business and sponsors to see progress and status across the SDLC. Green is good and Red is worrying.Development Manger can see progress and inspect code check-ins.
39
![Page 40: Devops Journey - internet tech startup](https://reader037.fdocuments.us/reader037/viewer/2022110218/58f1243f1a28ab7b588b459d/html5/thumbnails/40.jpg)
Automated deploymentEvery code check is deployed to a virtualised Staging CI environment where it is installed automatically as it would be on a client site.
40
![Page 41: Devops Journey - internet tech startup](https://reader037.fdocuments.us/reader037/viewer/2022110218/58f1243f1a28ab7b588b459d/html5/thumbnails/41.jpg)
Smoke testingAn automated smoke test is executed for every code check in to ensure that the integrity of the end to end system is still in tact.This provides confidence that nothing fundamental is broken.
41
![Page 42: Devops Journey - internet tech startup](https://reader037.fdocuments.us/reader037/viewer/2022110218/58f1243f1a28ab7b588b459d/html5/thumbnails/42.jpg)
All test artifacts stored in GIT
GIT is used as a storage space for all test artifacts created which massively increases the resuse.
42
![Page 43: Devops Journey - internet tech startup](https://reader037.fdocuments.us/reader037/viewer/2022110218/58f1243f1a28ab7b588b459d/html5/thumbnails/43.jpg)
Tools used in OPSTools created in QA and test are used in OPS to help with automated deployment to production servers.
43
![Page 44: Devops Journey - internet tech startup](https://reader037.fdocuments.us/reader037/viewer/2022110218/58f1243f1a28ab7b588b459d/html5/thumbnails/44.jpg)
Start up and Tear down concepts
Introduced a startup and tear down concepts to create clean environments and settings and catch all errors.
44
![Page 45: Devops Journey - internet tech startup](https://reader037.fdocuments.us/reader037/viewer/2022110218/58f1243f1a28ab7b588b459d/html5/thumbnails/45.jpg)
Technologies usedThe dev team uses a LAMP stack and so it made sense to stick closely to what they already know.Mink , Behat, Jenkins CI, Bash, Virtualisation ( oVirt and AWS), Gherkin, BDD, PHING, Linux, JIRA, GIT, MySQL, Apache
45
![Page 46: Devops Journey - internet tech startup](https://reader037.fdocuments.us/reader037/viewer/2022110218/58f1243f1a28ab7b588b459d/html5/thumbnails/46.jpg)
Why behat and mink?Provide BDD capabilities. Behat uses the Gherkin language that uses natural language to express system behavior which can be shared between technical and non-technical people.Mink is a library that interfaces with the browser.
46
![Page 47: Devops Journey - internet tech startup](https://reader037.fdocuments.us/reader037/viewer/2022110218/58f1243f1a28ab7b588b459d/html5/thumbnails/47.jpg)
Why BASH?The Bash Scripting too opens up the doors to a plethora of command line linux tools. It can process huge amount of data and provide the important return codes for pass or fail.
47
![Page 48: Devops Journey - internet tech startup](https://reader037.fdocuments.us/reader037/viewer/2022110218/58f1243f1a28ab7b588b459d/html5/thumbnails/48.jpg)
Why Jenkins CI?Jenkins CI loves all sorts of jobs. It has 100s of extensions that allow you automate just about anything you want. It is CRON on steroids. It is lightweight with SSH connectivity to other servers and easy ability to execute SHELL commands.
48
![Page 49: Devops Journey - internet tech startup](https://reader037.fdocuments.us/reader037/viewer/2022110218/58f1243f1a28ab7b588b459d/html5/thumbnails/49.jpg)
Why PHING?PHING is a build tool similar to the original ANT. It’s primary usage is to neatly execute tasks by means of targets to say BUILD, TEST, RELEASE e.t.c . PHING compliments the LAMP stack.
49
![Page 50: Devops Journey - internet tech startup](https://reader037.fdocuments.us/reader037/viewer/2022110218/58f1243f1a28ab7b588b459d/html5/thumbnails/50.jpg)
What wasn’t achieved
Rome was’t built in a day
![Page 51: Devops Journey - internet tech startup](https://reader037.fdocuments.us/reader037/viewer/2022110218/58f1243f1a28ab7b588b459d/html5/thumbnails/51.jpg)
Agile processUnfortunately, the team have not embraced Agile and it’s magic. This needs more culture and change management!
51
![Page 52: Devops Journey - internet tech startup](https://reader037.fdocuments.us/reader037/viewer/2022110218/58f1243f1a28ab7b588b459d/html5/thumbnails/52.jpg)
Let’ s wrap this upConculsions
![Page 53: Devops Journey - internet tech startup](https://reader037.fdocuments.us/reader037/viewer/2022110218/58f1243f1a28ab7b588b459d/html5/thumbnails/53.jpg)
Going forwardMove to 2 weekly release cycles – happy customers.Move to fully automated deliver to productionImprove the Agile process
53
![Page 54: Devops Journey - internet tech startup](https://reader037.fdocuments.us/reader037/viewer/2022110218/58f1243f1a28ab7b588b459d/html5/thumbnails/54.jpg)
Going forwardRefactor the DevOps code and increase efficientcy of the jobsAutomate the relese notes.Overhead of new sytem maintenance need to be factored.Improve the eporting
54
![Page 55: Devops Journey - internet tech startup](https://reader037.fdocuments.us/reader037/viewer/2022110218/58f1243f1a28ab7b588b459d/html5/thumbnails/55.jpg)
The conclusionsTime and money saved per release cycleDev focus on developmentEliminated School boy errors found at the client site.Faster feedback on regressionsIncreased visibility on Dev activities DevOps is about winning. This is the start and things can only get better.
55
![Page 56: Devops Journey - internet tech startup](https://reader037.fdocuments.us/reader037/viewer/2022110218/58f1243f1a28ab7b588b459d/html5/thumbnails/56.jpg)
Still stuck in the 80s?The real question:Are they still wearing shoulder pads? Or have they moved to the 90s with the advent of dialup modems and the infamous Netscape browser?
56