Upgrade to Pro — share decks privately, control downloads, hide ads and more …

5 common mistakes in DevOps strategies

5 common mistakes in DevOps strategies

In this talk i am exploring what the 5 most common mistakes are when it comes to DevOps strategies, and how to overcome them.

Avatar for Jan Moser

Jan Moser PRO

July 17, 2025
Tweet

More Decks by Jan Moser

Other Decks in Technology

Transcript

  1. ABOUT ME: • My name is Jan Moser • I

    currently work as a Lead Enterprise Architect at TWINT • During the last ca. 25 years I worked all over the world for companies and customers in various fields of business and technologies • I am an ISAQB Instructor and love to talk about software architecture
  2. MISTAKE #1 DevOps is not for me….we don’t need that…

    or we have engineers for that…not my business…
  3. DEVOPS IS THE GLUE OF THE SOFTWARE LIFECYCLE • The

    smaller your company, the more likely you already do DevOps and/or need DevOps • DevOps is more than just pipeline creation… • It is a mindset which needs to start already at planning phase and live throughout the whole process until operations • It covers aspects of infrastructure setup, development process, logging / tracing, deployment and observability
  4. WHY SETUP BY PORTAL IS NOT A GOOD IDEA •

    Manual setup and documentation may sound like a fast and simple idea… • But when “in the setup flow”, we often forget to document tweaks we did… • With portal setup we also do not have any version history… • And setting up int, prod, dev… requires us to repeat the setup manually again and again..
  5. WHY INFRASTRUCTURE AS CODE IS • IaC may initially take

    a bit more time to set up… • But once it is setup, you can easily deploy a new environment by simply switching the configuration values and redeploy • As it runs on code files in text form, you can version it like any other code in a repository and exactly redeploy a given state. • Changing infrastructure decisions are not effort-free but much less error-prone and much faster than manual portal setup
  6. SOME HELPFUL LINKS • OpenTofu – an opensource IaC Framework

    (https://opentofu.org/) • TerraForm – an IaC Framework from Hashicorp (https://www.terraform.io/) • Pulumi – an IaC Framework based on popular programming languages (https://www.pulumi.com/) • Ansible - an IaC Framework by RedHat (https://www.ansible.com/) • Puppet – an IaC Framwork (https://www.puppet.com/)
  7. WE DO NOT NEED QUALITY ASSURANCE BECAUSE... • All our

    devs are seniors… • It takes too much time…we need to develop features fast to stay up to date… • Too many false positives…our business seems too complex for this… • People in our team do not like each other, and thus use the process as leverage.
  8. WHY YOU NEED QUALITY ASSURANCE • Even Senior devs make

    mistakes… • An extra layer of security is always good • The rules in the automatized quality assurance process are objective • Code artefacts are guaranteed to have a certain quality, style and test coverage
  9. AN OPTINIONATED QA PROPOSAL • Use an opinionated formatter like

    Prettier while you code. • Use a linter while you code (and do not ignore its output) • Write tests. • Use a version control for your code and use pull requests to merge changes. • Check your code for leaked keys with e.g. GitLeaks • Run a Static Code Analysis tool over your code (e.g. Sonarcube or KICS) and have it break the build on non compliance • (verify the architecure with an analysis tool) • Check your dependencies for vulnerabilities • Perform a human code review with a colleague before merging the code
  10. SOME HELPFUL LINKS • Prettier – an optinionated Formatter (https://prettier.io/)

    • Linters for your IDE • Sonarlint(https://www.sonarsource.com/products/sonarlint/) • SpotBugs (https://spotbugs.github.io/) • ESLint (https://eslint.org/) • … and many more • Static Code Analysis Tools • KICS (https://kics.io/index.html) • Sonarqube (https://www.sonarsource.com/products/sonarqube/) • GitLeaks (https://gitleaks.io/) • ArchUnit (https://www.archunit.org/) • … and many more • Dependency Scan • Snyk (https://snyk.io/) • Blackduck (https://www.synopsys.com/software-integrity/security-testing/software-composition-analysis.html) • … and many more
  11. CI = CONTINOUUS INTEGRATION • CI / CD is more

    than just a pipeline to build and copy code. • It executes and documents a process of gates you want to pass, before your code goes live • Usually, it contains your automated QA pipeline (This can include test runs, security checks, secret injection and others) • It ensures that your code passed all those gates and is per definition a shippable increment that can be deployed.
  12. CD = CONTINOUUS DEPLOYMENT • CD is more than just

    copy files from A to B • CD or AD (automated deployment) ensures that a deployment of a code that passed the CI stage is repeatedly executed in exactly the same way over and over. • CD also can inject secret information you do not necessarily want everyone in the company to know and use deployment accounts you do not want to share publicly with everyone. • CD also can define rollback scenarios in case that a deployment fails. • You get a detailed log about what steps were performed when. (in case of necessary debugging or legal actions)
  13. DEPLOY AND FORGET…NOT • After deployment your software runs on

    hardware or ressources that can break or have issues. • It can also be your code generates side effects, has performance issues, startup problems etc. • During operations it can also be that a vulnerability in one of your dependencies is detected. • …
  14. OBSERVABILITY TO THE RESCUE • Observe your infrastructure and set

    critical thresholds which trigger alarms. • Define performance KPIs of your APIs (e.g. response time, error states per time, heartbeats…) • Log moderate, make sure the log entries help you in case of issues. • Use different log levels not to dig through millions of log messages (or think about emoticons) • Use vulnerability scan services also after you deployed your software! • Create dashboards for your teams AND MAKE SURE TO ALSO WATCH THEM
  15. SOME HELPFUL LINKS • ELK Stack (https://logz.io/learn/complete-guide-elk-stack/) • Splunk (https://www.splunk.com/)

    • Prometheus (https://prometheus.io/) • Dynatrace (https://www.dynatrace.com/) • …many more
  16. SUMMARY • A DevOps strategy makes not only sense for

    big corporate but also for small startups • Think about DevOps already in the planning phase of your project or software product • Automatize the setup of your infrastructure • Define and enforce a quality assurance process • Use CI/CD to verify and deploy your code (also for interpreted languages!) • Setup observability tools and dashboards to proactively monitor and adjust your software for a smooth operations process.