to install it on production • First line of support and troubleshooting • In charge of upgrading and maintaining software • In constant learning due to technological decisions and challenges made by dev
Automated tests are run if the team is code-oriented • Very little or no server management knowledge • Depends on DEV for code; depends on OPS for infrastructure
v1.17.2 is finally ready. Ops should deploy to production • 11:45pm - Ops: Ok cool. Do you have steps or documentation on what changes were made? • 12:06am - Dev: Just look at the code, it's pretty explicit
v1.17.2 is finally ready. Ops should deploy to production • 11:45pm - Ops: Ok cool. Do you have steps or documentation on what changes were made? • 12:06am - Dev: Just look at the code, it's pretty explicit • 12:08am: Dev has disconnected from the chat
Logs don't say anything. We only updated the code in production :/ • 2:41am: Dev is now online • 2:57am - Dev: Did you see the mysql-cool-library we added on this version? It needs MySQL 8. Did you upgrade your database?
Logs don't say anything. We only updated the code in production :/ • 2:41am: Dev is now online • 2:57am - Dev: Did you see the mysql-cool-library we added on this version? It needs MySQL 8. Did you upgrade your database? • 2:58am - Ops: No. How could we know a library required such a big change? Upgrading the DB is risky!
Logs don't say anything. We only updated the code in production :/ • 2:41am: Dev is now online • 2:57am - Dev: Did you see the mysql-cool-library we added on this version? It needs MySQL 8. Did you upgrade your database? • 2:58am - Ops: No. How could we know a library required such a big change? Upgrading the DB is risky! • 3:02am: Dev has disconnected from the chat
bad thing; DevOps strives to eliminate distinctions • A Developer can do Ops, an Ops person can do Dev • People need to think about the whole software design process • Every team member influences how products are finished • Shared responsibility is a must; one-sided decisions have a great effect on software design
told; they do what they believe is right. Learn to communicate your goals properly instead of imposing on them • Encourage trust between teams; don't try to find the culprit when issues arise, instead ask people to help you solve problems • Go to standup or status meetings to learn what decisions may affect a product on the long run
testing • New technologies promise to solve current problems; the only way to verify this claim is implementing them on real applications • This needs time apart from delivering value and maintaining products
Projects that deliver value to the customer • Intertal Projects: Infrastructure and operations projects, internal improvements, CI, repositories, etc. • Changes: Fixing bugs, changing settings and general improvements generated by the previous points. • Unplanned Work: Incidents, fixing problems caused by the previous types of work.