-What is configuration management? (e.g. Puppet, Ansible, Saltstack, Chef)
-Why configuration management?
-configure a web server
-edit config files
-fiddle around troubleshoot
-one server takes X time, two servers take 2X time -- linear
-configure a web server 2:
-keep track of shell history
-paste commands into a script
-do some basic conditional logic -- if this worked, then do this
-paste config files in
-configure a web server 3:
-make image of perfect web server
-clone run scripts to configure stuff at deployment
-hope that things stay cool
-more scripts to manage stuff when it goes wrong
-when stuff changes, create a new base image, slowly push out to servers in batches
-pray, swear, troubleshoot, fix, repeat
-configure a web server 4:
-config management! Configure STATE, instead of PROCESS
-1 or 100 servers...all the same
-MANAGE STATE ONCE YOU HAVE DEPLOYED
-which servers are still running the old version of package xyz?
-on which servers has this config file been changed?
-did the hacker add evil stuff in the web server config? In the crontab?
-you are not flying blind after deployment anymore
-forced to be fairly simple
-how does something work? Let's check!
-easy-to-explore abstraction of a process
-see what's changed, enforce compliance
-no more 'stragglers' -- huge problem in large deployments
What problems does this solve?
-system imaging is fine for a while, but then MANAGING those systems is tough
-variance in large deployments -- some old, some new, some vulnerable, some configured differently (auditing)
-no way to quickly see what state everyone is in
-idempotence -- most aim to be safer than scripts
-'infrastructure as code' -- makes versioning, testing, and deployment easier
For the 'small' Sysadmin?
-documentation shuffle, docs get stale
-you forget how you did stuff, since you're not deploying 10-15 servers/containers a day
-one abstraction level above shell scripts -- STATE, not PROCESS
-automate stuff (the 'large deployment' features are less important here)
-document stuff (no more awkward notes -- the Lisp ideal of "the code IS the documentation" is achieved)
This site provides links to random videos hosted at YouTube, with the emphasis on random.
The original idea for this site actually stemmed from another idea to provide a way of benchmarking the popularity of a video against the general population of YouTube videos. There are probably sites that do this by now, but there wasn’t when we started out. Anyway, in order to figure out how popular any one video is, you need a pretty large sample of videos to rank it against. The challenge is that the sample needs to be very random in order to properly rank a video and YouTube doesn’t appear to provide a way to obtain large numbers of random video IDs.
Even if you search on YouTube for a random string, the set of results that will be returned will still be based on popularity, so if you’re using this approach to build up your sample, you’re already in trouble. It turns out there is a multitude of ways in which the YouTube search function makes it very difficult to retrieve truly random results.
So how can we provide truly random links to YouTube videos? It turns out that the YouTube programming interface (API) provides additional functions that allow the discovery of videos which, with the right approach, are much more random. Using a number of tricks, combined some subtle manipulation of the space-time fabric, we have managed to create a process that yields something very close to 100% random links to YouTube videos.
YouTube is an American video-sharing website headquartered in San Bruno, California. YouTube allows users to upload, view, rate, share, add to playlists, report, comment on videos, and subscribe to other users. It offers a wide variety of user-generated and corporate media videos. Available content includes video clips, TV show clips, music videos, short and documentary films, audio recordings, movie trailers, live streams, and other content such as video blogging, short original videos, and educational videos. Most content on YouTube is uploaded by individuals, but media corporations including CBS, the BBC, Vevo, and Hulu offer some of their material via YouTube as part of the YouTube partnership program. Unregistered users can only watch videos on the site, while registered users are permitted to upload an unlimited number of videos and add comments to videos. Videos deemed potentially inappropriate are available only to registered users affirming themselves to be at least 18 years old.
YouTube and selected creators earn advertising revenue from Google AdSense, a program which targets ads according to site content and audience. The vast majority of its videos are free to view, but there are exceptions, including subscription-based premium channels, film rentals, as well as YouTube Music and YouTube Premium, subscription services respectively offering premium and ad-free music streaming, and ad-free access to all content, including exclusive content commissioned from notable personalities. As of February 2017, there were more than 400 hours of content uploaded to YouTube each minute, and one billion hours of content being watched on YouTube every day. As of August 2018, the website is ranked as the second-most popular site in the world, according to Alexa Internet, just behind Google. As of May 2019, more than 500 hours of video content are uploaded to YouTube every minute.
YouTube has faced criticism over aspects of its operations, including its handling of copyrighted content contained within uploaded videos, its recommendation algorithms perpetuating videos that promote conspiracy theories and falsehoods, hosting videos ostensibly targeting children but containing violent and/or sexually suggestive content involving popular characters, videos of minors attracting pedophilic activities in their comment sections, and fluctuating policies on the types of content that is eligible to be monetized with advertising.