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

What is even a DevOps engineer?

What is even a DevOps engineer?

Mohammed Fazalullah

August 13, 2024
Tweet

More Decks by Mohammed Fazalullah

Other Decks in Technology

Transcript

  1. In simpler times… A developer would design a basic UI

    and focus on the backend logic A DB architect would manage the schema A sys admin would manage the provisioning and maintenance of servers Developer Sys admin Architect
  2. Technology evolution Browsers are the new OS, internet the new

    delivery medium The rise of multiple programming languages, frameworks More compute options, Distributed systems over networks, Purpose-built databases Open-source tooling Virtualization and containerization Infrastructure democratization through cloud
  3. Developers now Frontend developer Backend developer Full stack developer Cloud

    developer Low-code developer IT admin DevOps engineer InfoSec engineer Cloud engineer Platform engineer Data engineer Data scientist MLOps Engineer ML engineer Software architect Solutions architect Enterprise architect Cloud architect InfoSec architect
  4. Modern application requirements Performance Millisecond latency Scale Traffic spikes and

    peak usage Screens Hundreds of browsers, tablets, and devices Global Worldwide access Reliability Zero downtime Agility Speed to market Frameworks React, Angular, Vue, Next.js Operational overhead Avoid managing physical servers Economics Pay for usage User experience Feature-rich applications Security Highest standards for privacy and data security Ecommerce sites 1 Media streaming 2 Social media 3 Online gaming 4 Shared economy 5
  5. DevOps engineer? Some call them: • Site Reliability Engineers (SREs)

    • Platform Engineers • Infrastructure Engineers • Cloud Engineers • Build and Release Engineers • Automation Engineers • Operations Engineers • And sometimes... even just "IT Support" 12 Photo by Brendan Church on Unsplash
  6. Not one of today’s DevOps engineers grew up as a

    kid imagining becoming one. IT sage 13
  7. Job titles – More than what meets the eye •

    Nearly 9% classify themselves as a Cloud infrastructure engineer. • Developers are wearing multiple hats, majority considered themselves to be more than one type of developer - with DBAs, SREs, and Security professionals reporting the most variety. • On average each of these roles reported being seven other developer types. 14 https://survey.stackoverflow.co/2022/#overview
  8. Dev QA Ops “DevOps is the combination of cultural philosophies,

    practices, and tools that increases an organization’s ability to deliver applications and services at high velocity.” Source: https://aws.amazon.com/devops/what-is-devops/
  9. Release process stages Source Build Test Deployment • Integration testing

    with other systems • Load testing • UI testing • Security testing • Check-in source code such as .java files • Peer review new code • Compile code • Unit tests • Style checkers • Create container images and function deployment packages • Deploy to application environments • Monitor code in production to quickly detect errors
  10. A DevOps engineer integrates development and operations, automating infrastructure and

    workflows while ensuring the reliability, scalability, and continuous delivery of software systems. 23
  11. A DevOps engineer integrates development and operations, automating infrastructure and

    workflows while ensuring the reliability, scalability, and continuous delivery of software systems. 24
  12. A DevOps engineer integrates development and operations, automating infrastructure and

    workflows while ensuring the reliability, scalability, and continuous delivery of software systems. 25
  13. A DevOps engineer integrates development and operations, automating infrastructure and

    workflows while ensuring the reliability, scalability, and continuous delivery of software systems. 26
  14. 30

  15. The past is the future, choose boring • UNIX shell

    (1971), PowerShell (2006) • Vim (1990), Notepad++ (2003) • SQL (1974) • Python (1991), Java (1995) • Go (2009), Rust (2015)? • Kubernetes YAML (2014)? ”The longer a technology lives, the longer it can be expected to live.” - Nassim N. Taleb (way of Mandelbrot, aka Lindy effect) 41 Photo by Lukas on Unsplash
  16. 42

  17. 44

  18. 45

  19. Monolithic WEB AP Database Data Warehouse USERS SALES EVENT LISTING

    CATEGORY VENUE DW MEMBER Services SALES Services CODE Services AP Tier WEB Tier DB Tier Browser Mobile Device Store Front UI REST REST HTML Data Lake User Interaciton Client
  20. CODE DB SALES DB MEMBER DB Microservice Architecture Browser Mobile

    Device Store Front UI API Gateway REST REST HTML MEMBER Services SALES Services CODE Services Data Tier Services Tier USERS SALES EVENT LISTING CATEGORY VENUE DW WEB Tier Data Exchange Services Queue USERS SALES CODE Monitoring & Observability Logs Group Data Warehouse Data Lake Logs Insights User Interaciton Client
  21. OBSE RV A BIL ITY DE PLOY BU IL D

    & TE ST SOU RCE / A RT IFA CT A U TH OR AWS IDE Toolkits AWS SDKs AWS X-Ray AWS CodeDeploy AWS CodeBuild Amazon CloudWatch AWS CodePipeline AWS CodeArtifact Amazon ECR & ECR Public End-to-end solution helps development teams go faster Amazon DevOps Guru Amazon CodeGuru Infrastruct ure As COD E AWS CloudFormation Cloud Development Kit (AWS CDK, CDK8s, CDK-terraform) AWS Serverless Application Model (SAM) AWS Config AWS Managed Service for Grafana AWS Managed Service for Prometheus
  22. 55

  23. 56

  24. DevOps Engineer skillset Competency Key Skills & Expectations CI/CD &

    Source Control Understanding of Git (branching, merging) Building simple CI/CD pipelines Basic deployment strategies (Blue-Green, Canary) Programming & Scripting Basic scripting (Python, Bash) Automating tasks with scripts Understanding loops and data structures Infrastructure as Code (IaC) Using tools like Terraform or CloudFormation to manage infrastructure Basic cloud knowledge (AWS, etc.) Foundational IT Knowledge Basic Linux or Windows commands Understanding VMs, Containers Basics of databases (SQL/NoSQL) Networking fundamentals Configuration Management Familiarity with tools like Ansible or Chef Automating configuration tasks 58
  25. DevOps Engineer skillset – Must have CI/CD Pipelines Automate the

    software build and deployment process. Source Control Version control using Git. Scripting Write basic scripts to automate repetitive tasks. Infrastructure as Code Manage infrastructure with code for consistency. 59
  26. Mental Models & Frameworks T-Shaped Skills DevOps engineers thrive with

    a broad understanding of software development and IT operations, while specializing in automation, CI/CD, or cloud infrastructure. Continuous Improvement DevOps is about creating more efficient, reliable, and scalable systems through continuous iteration. Systems Thinking DevOps requires the ability to think holistically about software delivery pipelines and infrastructure. 61
  27. Questions to ask yourself Do I enjoy automating repetitive tasks

    and finding ways to make processes more efficient? Am I curious about how systems work end-to-end, from code to deployment to monitoring? Am I comfortable with a dynamic role that requires constant learning and adaptation? Do I have a passion for improving the way software is delivered and maintained? Can I communicate effectively with both technical and non-technical stakeholders? 62