Sander Knape takes us on a clear step-by-step explanation of git actions through the motivating example of auto-deployment from a pull request. Oppa GitOps style!
Wednesday, May 13, 2020
internal "platform" products
Software developers enjoy calling their code libraries and reusable components a "platform." And they feel rewarded when other developers use their components, libraries, or APIs. The fantastic service we enjoy from free, open source software (FOSS) platform components is a direct result of this propensity and "reward" the developers feel when others use their code.
All public cloud providers have profit-oriented "platforms" that include APIs, libraries, & components, with associated documentation, support, tutorials, videos, certifications, evangelists, and free consulting. These "true" platforms are often very comfortable to use and can enable rapid development with less maintenance cost than from-scratch development, even when developers use open source components.
In most big companies, including where I work, large teams of developers are often tasked with building what they call internal "platforms." Unfortunately, these internal platforms have many challenges. Camille Fournier writes about a few of these challenges and her recommendation for remedies. The challenges she address are: a small, captive audience with whom it is hard to empathize, and an odd tendency to build too much into a platform that is never or infrequently used. Her remedies are spot on and I recommend you skim the article to see what worked for her.
Labels:
devops
Monday, May 11, 2020
5 terrible AWS services you should avoid -- for now
David Lin takes us on a fun adventure of how terrible a few AWS services are (currently) and why you should avoid them at least until their next major releases. For the impatient, the services are:
I disagree with David on this last one (Lambda). If you embrace our serverless no-ops future, then you must refactor your object models and separate your concerns differently in your designs to keep the right number of end-points for your needs and your organization. David's argument is that if you were to factor your services his (per-end-point) way, you would have explosively many web functions. I challenge his assumption.
Labels:
devops
Lots of good news!
Researchers have identified an antibody that blocks both SARS-CoV-1 and -2 from infecting cells in culture and have already obtained the DNA that encodes this specific antibody and have made a human version of it. As the authors note, we already know that therapies and vaccines based on this approach are effective.
#
Coronaviruses code for big proteins that are inactive until they are cut into smaller pieces. Proteases slice them into bad, functioning proteins. Inactivating the proteases would block viral infection. Existing, human-safe protease inhibitors were screened against SARS-CoV-2's enzymes. One of those, carmofur, turned out to be effective; this study shows how it's able to bind the SARS-CoV-2 protease and inactivate it. Woot!
#
One more: Where will we get all those human antibodies we need for treatments? People are currently giving them away. I think the evil insurance companies should pay the donors in a free, open market-based system.
Labels:
covid19
Tuesday, May 5, 2020
security anti-patterns in your dev-ops design
The UK government has published this friendly guide to the most-common anti-patterns they have observed in large companies across the commonwealth realm. And I, personally have seen all of them recently; Uh oh.
Labels:
devops
Monday, May 4, 2020
Reminder about Testing Accuracy in a population
Here a review of Bayes' Theorem and its application to remind us how estimations from small samples (even a million tests) are extremely inaccurate:
P(A|B) = P(Covid|Test) = P(Test|Covid) * P(Covid) / P(Test) =
0.99 * 0.01 / (P(Test|Covid)*P(Covid) + P(Test|~Covid)*P(~Covid)) =
0.99 * 0.01 / (0.99*0.01 + 0.01*0.99) = 0.5
0.99 * 0.01 / (P(Test|Covid)*P(Covid) + P(Test|~Covid)*P(~Covid)) =
0.99 * 0.01 / (0.99*0.01 + 0.01*0.99) = 0.5
This question is on every MCAT exam but doctors forget it as soon as they begin practicing.
Labels:
covid19
continuous delivery oppa gitops style!
Back in 2017, Alexis Richardson coined the term "GitOps" to describe operations by pull requests. Now, the container solutions folks have written a fun evaluation of FluxCD, ArgoCD and Jenkins-X to compare continuous delivery pipelines in what they call "GitOps Style." Oppa gitops style! GitOps Style can be summarized by these rules:
- Store all Kubernetes resource configuration in Git
- Use only pull requests to modify resources on that Git repo
- Once Git is modified, apply changes to the cluster immediately and fully automated
- If the actual state drifts from the desired state, either correct it or alert operators about it
The authors restrict their analysis to containerized kubernetes-managed environments. But the principles apply broadly.
Labels:
devops
Sunday, May 3, 2020
Friday, May 1, 2020
Good news about vaccine development
(click image to enlarge)
ArsTech published a great round-up of the 102 vaccine candidates' progress today and Bill Gates wrote up some details about how quickly we are moving. In broader terms, the capability these efforts enable will be re-used in the future as we enhance the health of all humans to treat and contain infectious disease.
Labels:
covid19
Martin Fowler on Branching strategies in software
Martin Fowler wrote a fantastic explanation of the best patters for successful merging strategies, including my favorite short-lived feature branches pattern. Make sure to skim this one!
Labels:
software-engineering
Subscribe to:
Posts (Atom)