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
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
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
• 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
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
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/
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
(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
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
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
& 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
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
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
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
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