Just Thinkin About DevOps Stuff (and Dune)
“In this time, the most precious substance in the universe is the spice (DevOps)… The spice is vital to (Agility). The (IT Dept) and its (engineers), who the spice has mutated over (10) years, use the spice (Code), which gives them the ability to fold (time).”
DevOps enables high speed evolution.
DevOps eliminates wasted resources.
“Software is Eating the World”, “Everything Is Code”, therefore DevOps is key to all success.
We can consider anybody doing anything with code as software development:
- SysOps adding infrastructure
- SRE adding chaos testing
- Data Science creating reports
- Machine Learning developing an expert agent service
- Mechanical engineering adding IOT code to a product
- Industrial Engineers adding robots to the factory floor, or programming them
- IT onboarding (or offboarding) an employee, or consultant
- Planning docs should be in version control
TDD (Test Driven Design)
TDD is key to AI Assisted/No Code future. Took me a bit to come around, but GitHub Copilot AI was the last straw because it will clearly someday be able to write code to pass your tests, so ultimately, software development will consist of designing tests using some sort of language. I think TDD will be as big a see change as DevOps (which already added emphasis to TDD). Programmers might also be involved in writing DDD libraries to support TDD to make it easier to do. All of that will combine to bring the Semantic Web to a reality, which will in turn accerlerate AI evolution.
- Design docs need to clearly define exactly what success looks like in the form of tests and expected results. Written by product managers.
- Future: TDD docs will be designed with GUI. Output will be implementation and language neutral.
- Eventually, changing these docs will automatically kick off the entire dev lifecycle. AI will handle implementation. Outside of defining tests (and UI templates), the entire process will be automated. AI will even make recommendations for changes and you might only need to tweak and approve the recommended changes.
- FigJam (Figma)
UI Design Tools
Manage Tasks, Issues
- Azure Boards Part of Azure DevOps Server (was MS TFS).
- Trello Kanban, bought by Atlassian (Jira).
- GitHub Issues
- UrbanCode Velocity
Source Code, Designs and Docs
- Workflows For Devs
- Workflows for Ops
- Github Package Registry (GPR)
- NPM, Maven Java. Container Registry moved to GHCR (below)
- Artifactory: JFrog. Universal Artifact Mgt.
- UrbanCode Release
- Azure Artifacts
- Nexus: Sonatype. Repository. Containers.
- Language Specific Artifacts
- Everything should be code.
- If an app offers a console, try not to use it.
- If a solution looks good but it does not offer an SDK, or at least a REST API, skip it.
- VSCode is my default because it was conceptually built from the ground up to run in a web browser. They made a desktop version while they worked out the pure web kinks.
- I’m trying to learn VIM because its available on all Linux distros (to my knowledge).
Hamcrest: Matchers that can be combined to create flexible expressions of intent. Was just Java, now available for most languages.
- Unit Testing
GoLang: builtin. Lean Go with Tests
- Nancy: Dependency vulnerabilities
WebApp Run Time Testing: language neutral
- Selenium: many language options
- Puppeteer: (not Puppet)
- LogRocket: Web client js logging and usage analytics.
- Load Testing
- LightHouse Build time score generation with Lighthouse CLI for Node. Consider as “code quality” tool.
Leverages local build scripting and runtime testing tools, adds integration, optional deployment and delivery
- GitHub Actions
- CloudBees (CodeShip)
- TeamCity: JetBrains
- Travis CI
- Circle CI
- AWS CodePipeline
- Azure DevOps
- Security Scan
- SysOps practices and tooling overlap with DevOps.
- For more details, see my SysOps and/or Containers pages.
- Remote monitoring should include anonymous monitoring agents in webapps.
Tickets feed back into Plan