A Journey to Increased Developer Productivity Stp205 R

Title

AWS re:Invent 2022 - A journey to increased developer productivity (STP205-R)

Summary

  • Presenter: Umesh Kalespurkar, Senior Solutions Architect at AWS, and Matt Jackson (MJ), who leads the DevOps team at Drift.
  • Session Level: 200 (intermediate) as part of the DevOps track.
  • Audience Engagement: The audience is engaged with questions about their experience with Agile, DevOps, and SRE, and their organization's maturity in DevOps.
  • Focus: Understanding DevOps better and seeing it in action at Drift.
  • Drift Overview: Drift is a business communication platform that integrates marketing, sales, and services powered by AI. It has a complex software environment with high user and message traffic, managed by a small DevOps team.
  • DevOps Philosophy: Breaking down silos between development and operations teams, fostering trust, empowering smart decision-making, and encouraging learning and iteration.
  • DevOps Practices: Continuous integration, continuous delivery, microservices, infrastructure as code, real-time monitoring and logging, and prioritizing security throughout the software development lifecycle (DevSecOps).
  • DevOps Tools: Tools are selected based on their ability to enable desired practices or solve specific problems, with a preference for AWS services, open-source software, and occasionally custom-built tools.
  • AWS Services for DevOps: AWS offers a suite of services to support the software development lifecycle, including Cloud9, CodeCommit, CodeGuru, CodeBuild, CodeArtifact, CodeDeploy, CodePipeline, X-Ray, CloudWatch, DevOps Guru, CloudFormation, CDK, SAM, and integrated security features.
  • Drift's DevOps Implementation: Drift uses a combination of AWS services, third-party tools, and custom automation to manage their software development lifecycle, from planning to deployment and monitoring.
  • Continuous Assessment and Chaos Engineering: Drift practices continuous assessment to identify system blind spots and improve resiliency, using techniques like chaos engineering and AWS Game Day to prepare for fault scenarios.
  • DevOps Impact: High-performing DevOps organizations have lower change failure rates, faster commit-to-deploy times, and more time for developers to focus on new features.
  • DevOps Journey: DevOps is a multi-year journey that requires understanding an organization's unique needs, starting small, and gradually expanding, leading to increased efficiency, speed, adaptability, and lower failure rates.

Insights

  • DevOps as a Cultural Shift: The session emphasizes that DevOps is not just about tools and practices but also a cultural philosophy that requires tearing down barriers and fostering collaboration between development and operations teams.
  • Automation and Efficiency: Drift's use of automation, particularly in deployment processes, highlights the efficiency gains possible with DevOps, allowing for frequent and reliable software updates with minimal manual intervention.
  • AWS as an Enabler: AWS services are portrayed as enablers of the DevOps journey, providing a comprehensive set of tools that can be integrated into various stages of the software development lifecycle.
  • Microservices Architecture: Drift's transition from monolithic to microservices architecture reflects a common trend in DevOps, where services are designed to be independently deployable, scalable, and maintainable.
  • Security Integration: The concept of DevSecOps and the integration of security throughout the development process is stressed, indicating a shift from treating security as an afterthought to making it a fundamental part of the development lifecycle.
  • Chaos Engineering: The discussion on chaos engineering and AWS Game Day illustrates the proactive approach to system resilience, where potential failures are intentionally introduced to test and improve system robustness.
  • Metrics and Continuous Improvement: The use of metrics to measure DevOps performance and the continuous assessment of systems for improvement are highlighted as critical components of a successful DevOps strategy.
  • Customization and Flexibility: While AWS provides a wide array of services, the session acknowledges that organizations may need to customize their toolchain or even develop their own tools to meet specific needs, underscoring the flexibility required in a DevOps approach.
  • Long-term Commitment: The session underscores that adopting DevOps is a long-term commitment that involves continuous learning and adaptation, and it is not a one-size-fits-all solution but rather a journey tailored to each organization's context.