Login/Register
Login
Register
Podcaster Register
×
Home
Top Podcaster
Networks
By Language
By Country
By Category
About Us
Contact Us
Faqs
Features
News & Blogs
Privacy Policy
Terms Of Use
☰
Home
Top Podcaster
Guest
Login
Register
Podcaster Register
Comedy
Arts
Games & Hobbies
Business
Motivation
More
Religion & Spirituality
Education
Arts and Design
Health
Fashion & Beauty
Government & Organizations
Kids & family
Music
News & Politics
Science & Medicine
Society & Culture
Sports & Recreation
TV & Film
Technology
Philosophy
Storytelling
Horror and Paranomal
True Crime
Leisure
Travel
Fiction
Crypto
Marketing
History
Home
Top Podcaster
Networks
By Language
By Country
By Category
About Us
Contact Us
Faqs
Features
News & Blogs
Privacy Policy
Terms Of Use
Search
By Category
Arts
Arts and Design
Business
Comedy
Crypto
Education
Fashion & Beauty
Fiction
Games & Hobbies
Government & Organizations
Health
History
Horror and Paranomal
Kids & family
Leisure
Marketing
Motivation
Music
News & Politics
Philosophy
Religion & Spirituality
Science & Medicine
Society & Culture
Sports & Recreation
Storytelling
Technology
Travel
True Crime
TV & Film
By Language
Afar
Afrikaans
Akan
Albanian
Amharic
Arabic
Armenian
Assamese
Azerbaijani
Bambara
Basque
Belarusian
Bengali
Bihari languages
Bosnian
Breton
Bulgarian
Burmese
Catalan Valencian Active
Central Khmer
Chamorro
Chechen
Chichewa
Corsican
Croatian
Czech
Danish
Dutch
Dzongkha
English
Esperanto
Estonian
Ewe
Faroese
Finnish
French
Fulah
Gaelic, Scottish
Galician
Georgian
Georgien
German
Greek
Greek (modern)
Greenlandic
Gujarati
Hausa
Hebrew (modern)
Hindi
Hungarian
Icelandic
Indonesian
Irish
Italian
Japanese
Javanese
Kannada
Kazakh
Kinyarwanda
Korean
Kurdish
Kyrgyz/ Kirghiz
Latin
Latvian
Lithuanian
Luxembourgish
Macedonian
Maithili
Malagasy
Malay
Malayalam
Maltese
Mandarin Chinese
Maori
Marathi
Mongolian
Nepali
North Ndebele
Northern Sami
Norwegian
Norwegian Bokmål
Norwegian Nynorsk
Oriya
Oromo
Pashto
Persian
Polish
Portuguese
Punjabi
Quechua
Romanian
Romansh
Russian
Sanskrit
Serbian
Serbian
Serbo-Croato-Slovenian
Sindhi
Sinhala
Slovak
Slovenian
Somali
South Ndebele
Spanish
Sundanese
Swahili
Swedish
Tagalog
Tajik
Tamil
Tatar
Telugu
Thai
Tibetan
Tigrinya
Tongan
Tswana
Turkish
Twi
Uighur. Uyghur
Ukrainian
Urdu
Uzbek
Vietnamese
Welsh
Wolof
Xhosa
Yiddish
Yoruba
Zulu
By Country
Afghanistan
Algeria
Andorra
Argentina
Armenia
Australia
Austria
Azerbaijan
Bangladesh
Belgium
Bosnia and Herzegovina
Brazil
Bulgaria
Canada
Chile
China
Colombia
Costa Rica
Croatia
Cyprus
Czech Republic
Denmark
Dominican Republic
Ecuador
Egypt
El Salvador
Estonia
Faroe Islands
Finland
France
Georgia
Germany
Greece
Hong Kong
Hungary
Iceland
India
Indonesia
Iran
Ireland
Israel
Italy
Japan
Kazakhstan
Kuwait
Lao Peoples Democratic Republic
Lithuania
Luxembourg
Mexico
Namibia
Netherlands
New Zealand
Niger
North Korea
Norway
Pakistan
Panama
Peru
Philippines
Poland
Portugal
Puerto Rico
Republic of the Congo
Romania
Russia
Saudi Arabia
Serbia
Slovenia
Somalia
South Africa
South Korea
Spain
Sri Lanka
Sweden
Switzerland
Syria
Taiwan
Tajikistan
Thailand
Turkey
UAE
UK
Ukraine
USA
Uzbekistan
Venezuela
Vietnam
Home
>
Devops Mastery
> Devops Mastery - Episode 16 - Code Management DevOps Tools
Podcast:
Devops Mastery
Episode:
Devops Mastery - Episode 16 - Code Management DevOps Tools
Category:
Technology
Duration:
Publish Date:
2014-07-09 19:00:00
Description:
Before we begin this discussion remember this one thing while you read this; what you use to manage code is less important than making sure you manage it. Management in this context means version tracking, an ability to roll back changes in code, and being able to compare two versions of the code in question. The time people spend trying to track which is the latest version of a backed up file far exceeds the time it takes to learn any repository management tool. Wasting time arguing the merits of the tools is just that a waste of time. While I am not a fan of certain tools in this class they all can handle the basics I have outlined above. I believe so strongly in this that I am not going to share my personal choice or make a recommendation in this article. This tool set has been the domain of developers in most organizations since the dawn of computing. With the focus on software defined infrastructure operation teams need to use these tools. They need to become as adept at using repository management tools as they are with configuring an interface or building out a database. The older systems all worked and did the basics with varying degrees of ease and success. More modern tools like the FLOSS worlds favorite GIT try to advance the tools. That doesn't mean that GIT doesn't have it's issues or drawbacks. These tools generally fall into two sets. The first is a centrally managed system where a server is required to do the basic commands like checking in code. The second is a distributed system which allows everyone to manage locally without a server. This second type then allows you to push the local copy up to a central server for distribution to others. The modern approach and trend is towards distributed systems. They give the people writing the code the most control and flexibility over what they are working on by not requiring a network connection to the central server. I can be completely disconnected from any network and still get all the benefits of the code management system. If I write a new piece of code on a flight from Cleveland to Dallas I can test it locally and then check it in. Then when I get a connection back to the central server I can pass the code off to other people and complete integration testing and other tasks. So how do you decide which one to use? In most cases people in a company will have experience with a tool set. It may sound like a cope out but using the one the majority of people are familiar with in this case is the best place to start. Other things to consider are: * Cost of the tool - Free, cost per user, cost per X floating/concurrent users * Operation system requirements of the tool - Is enough of the functionality available to all the OS platforms in your company * Consistent functionality across operating systems * Integration with other tools in the environment * Compatibility with other tools - Support or Plug-in availability with development, Continuous Integration/Deployment systems and testing suites * How large a learning curve is there for your entire team? How many different tools in this class should you choose? Normally a company standard is chosen. This does not always work. Most notably if your company is split between Windows and Linux development. Tools like Microsoft's Team Foundation Server(TFS) work great for .net developers. Linux developers are left with less than optimal tool sets to interact with the Server. Microsoft and other tool providers have recognized this issue and implemented ways to use different tools in a single management interface. In Microsoft's case, this gives people the option to use native TFS and GIT for instance. This may not work for everyone. So having more than one option may make sense. Going beyond two options normally costs exponentially more from an on-boarding and employee training perspective. So one is optimal but two is tolerable. Who should own this class of tools? Everyone in IT. Ownership is different than management. Owners have a vested interest in the health of the system they own. In this case both Developers, Testers, and Operations Teams can be affected by the choices and processes used to do things like upgrades and maintenance. So everyone should be represented when decisions about the tool(s) are made. Should you only keep code in the repositories? Because repositories don't have to be limited to code they make it easy to create work flow procedures based on them. Often it makes a lot of sense to keep even the requirements documentation in a repository so that everyone can see the history of what and when they changed. Most of these tools have a method for kicking off other processes when a change has been made to some or all of the repository. These are called hooks and can do everything from kicking off Continuous Integration/Deployment work flows to sending a message to the next group in the process work flow for review. Remember the tool you choose is less important than that you use one. Discussions about these tools often come with a lot of passion. So take the time to talk through the options and listen to everyone before making a final decision. I would also recommend that larger companies choose a small team of people who are passionate about this class of tools to represent the larger groups. It will help to manage the process and hopefully build consensus about the final decision. The people on the team should also agree to be advocates of the chosen tool(s) to the larger group.
Total Play:
0
Your browser does not support the audio element.