Slide 1

Slide 1 text

Pengantar DevOps Petra Novandi

Slide 2

Slide 2 text

Perkenalan Nama: Petra Novandi Barus, ST MT Pendidikan: 1. S1 Teknik Informatika Institut Teknologi Bandung 2. S2 Magister Informatika Institut Teknologi Bandung Pengalaman Bekerja 1. Chief Technology Officer & Co-founder, UrbanIndo.com 2. Chief Technology Officer, 99.co Indonesia 3. Senior Developer Advocate, Amazon Web Services Indonesia 4. Chief Technology Officer, Kuncie.com

Slide 3

Slide 3 text

What we are going to discuss 1. Life before DevOps 2. Why you should learn DevOps? 3. What is DevOps 4. History of DevOps 5. DevOps Principles & Practices 6. DevOps Tools 7. Where To Learn More

Slide 4

Slide 4 text

Life before DevOps

Slide 5

Slide 5 text

Life Before DevOps Development Operations versus

Slide 6

Slide 6 text

No content

Slide 7

Slide 7 text

Problems Without DevOps 1. Organizational Silos 2. Different Mindset & Tools 3. Product Backlogs 4. Blame Game 5. Disintegrated Process 6. Poor Feedback Loop This causes

Slide 8

Slide 8 text

Outcomes from Lack of DevOps 1. Lack of Communications 2. Development Runs Very Slow 3. Software Developers Low Morale 4. High Cost 5. Inaccurate Software Delivery 6. Disappointed Customers

Slide 9

Slide 9 text

Why you should learn DevOps?

Slide 10

Slide 10 text

DevOps Engineer/Specialist is a rising profession in Indonesia DevOps can help companies save a lot of money!

Slide 11

Slide 11 text

What is DevOps

Slide 12

Slide 12 text

What is DevOps “Small teams independently implement their features, validate their correctness, in production-like environments, and have their code deployed into production quickly, safely, and securely” The DevOps Handbook - Gene Kim, Jez Humble, Patrick Debois, and John Willis 2015

Slide 13

Slide 13 text

DevOps Development Operations Communications Collaborations Integration Breaking the silos by build cross-functional small teams

Slide 14

Slide 14 text

DevOps Culture: People Process and Tools Tools - Source control - Build server - Test - Telemetry - Dashboards - Log - Cloud Process - Continuous Integration - Continuous Deployment - Release Management - Infrastructure as Code - Monitoring People - Collaboration - Communications - Transparency - Learning

Slide 15

Slide 15 text

History of DevOps

Slide 16

Slide 16 text

History of DevOps 1. Existing concepts of Lean IT Service Management, Agile Development, Resilience Engineering, and Learning Organization, etc. 2. Patrick Debois & Andrew Schafer held session on Agile Infrastructure and Operations- 2008 Agile Conference Toronto 3. John Allspaw & Paul Hammond present “10 Deploys per Day: Dev and Ops Cooperation at Flicker” 4. First DevOps Days in Belgium 2009 5. Jez Humble and Davlid Farley published book “Continuous Library” 2010 6. Gene Kim published novel “The Phoenix Project: A Novel about IT DevOps and Helping Your Business Win” - 2013 7. Gene Kim, Jez Humble, Patrick Debois, and John Willis published “The DevOps Handbook” - 2016 https://www.digital4pro.com/2020/02/24/devops-turns-10/

Slide 17

Slide 17 text

DevOps Principle

Slide 18

Slide 18 text

DevOps Principles 1. Flow 2. Feedback 3. Continuous Improvement Source https://itrevolution.com/the-three-ways-principles-underpinning-devops/

Slide 19

Slide 19 text

Principle 1: Flow / System Thinking Enable fast left-to-right wok from Dev (Business) to Ops (Customers) Dev Ops 1. Make work visible to all team 2. Limit work in process 3. Reduce the delivery size 4. Reduce the number of handover 5. Identify and Elevate Constraint 6. Eliminate hardships and waste Emphasizes the performance of the entire system, as opposed to the performance of a specific silo of work or department.

Slide 20

Slide 20 text

Principle 2: Amplify Feedback Loops Enable fast and constant flow of feedback from right to left at all value stream stage Dev Ops 1. Establish fast feedback loop at every step 2. Establish production telemetry ensuring all problems are detected and corrected as they occur. 3. Keep pushing quality closer to the source 4. Enabling optimizing for downstream work center The goal of almost any process improvement initiative is to shorten and amplify feedback loops so necessary corrections can be continually made.

Slide 21

Slide 21 text

Principle 3: Culture of Continual Experiment and Learning Enable high-trust, experimenting, and risk-taking culture as well as organizational learning both from success and failures. Dev Ops 1. Enable organisational learning 2. Institutionalise the improvement of daily work. 3. Transform local discoveries into global improvements 4. Inject resilience patterns into daily work 5. Encourage leaders to reinforce learning culture. 6. Experiment, fail fast.

Slide 22

Slide 22 text

DevOps Practices

Slide 23

Slide 23 text

DevOps Practices 1. Loosely–coupled Architecture 2. Autonomous Team 3. Continuous Integration 4. Fast and Reliable Automated Testing 5. Continuous and Automated Deployment/Provisioning 6. Measurement and Feedback

Slide 24

Slide 24 text

DevOps Practices 1. Loosely–coupled Architecture 2. Autonomous Team 3. Continuous Integration 4. Fast and Reliable Automated Testing 5. Continuous and Automated Deployment/Provisioning 6. Measurement and Feedback

Slide 25

Slide 25 text

Practice 1: Loosely-Coupled Architecture 1. Software components should be independently deployable and scalable 2. Components are accessible through service 3. Teams own the service: you build it, you run it. 4. Services can have different technologies 5. Service can fail anytime. The client should be able to respond gracefully. 6. Service has to be designed to be replaceable/upgradeable

Slide 26

Slide 26 text

Loosely-Coupled Architecture: Monolithic to Microservices Monolithic Microservices

Slide 27

Slide 27 text

Loosely-Coupled Architecture: Monolithic to Microservices https://www.clickittech.com/devops/microservices- Microservices Monolithic Architecture Collection of small services Single build of unified code Scalability Precise scaling and better usage of resources Hard to scale Time to Market Easy to build and deploy Time consuming deployment Reliability Very reliable. If a service falls application will not go down. Single point of failure. One component down, application goes down.

Slide 28

Slide 28 text

DevOps Practices 1. Loosely–coupled Architecture 2. Autonomous Team 3. Continuous Integration 4. Fast and Reliable Automated Testing 5. Continuous and Automated Deployment/Provisioning 6. Measurement and Feedback

Slide 29

Slide 29 text

Practice 2: Autonomous Team A (DevOps) team is a small number of people with complementary skills and committed to a common purpose, set of performance goals, and approach for which they hold themselves mutually responsible

Slide 30

Slide 30 text

Characteristics of DevOps team 1. Consist of all disciplines and own a service. 2. Fully empowered and self sufficient to design, build, test, deploy, and operate the software. 3. Independent from other team. 4. End to end responsibility Product Owner Developers QA/Tester Operation Engineer Release Manager InfoSec

Slide 31

Slide 31 text

Example: Spotify Scaling Model

Slide 32

Slide 32 text

DevOps Practices 1. Loosely–coupled Architecture 2. Autonomous Team 3. Continuous Integration 4. Fast and Reliable Automated Testing 5. Continuous and Automated Deployment/Provisioning 6. Measurement and Feedback

Slide 33

Slide 33 text

Practice 3: Continuous Integration Continuous integration is a DevOps software development practice where developers regularly merge their code changes into a central repository, after which automated builds and tests are run.

Slide 34

Slide 34 text

Continuous Integration 1. Merging codes from all developers to a shared repository multiple times a day. 2. When a team member commits, the change will be merged, analysed, compiled, tested, assembled automatically. 3. The build process will create a new deployment package that can be published any time. 4. Fail fast strategy: build will failed whenever there is defect so team can fix it fast.

Slide 35

Slide 35 text

Continuous Integration Pipeline Source Build Test Release

Slide 36

Slide 36 text

DevOps Practices 1. Loosely–coupled Architecture 2. Autonomous Team 3. Continuous Integration 4. Fast and Reliable Automated Testing 5. Continuous and Automated Deployment/Provisioning 6. Measurement and Feedback

Slide 37

Slide 37 text

Practice 4: Fast and reliable Automated Testing https://martinfowler.com/articles/practical-test-pyramid.html 1. Catch errors as early in automated testing as possible 2. Run tests fast 3. Automate manual tests 4. Integrate performance test to test suite 5. Pull andon cord when the pipeline breaks

Slide 38

Slide 38 text

Cost of Defects in Software Development https://www.stickyminds.com/article/shift-left-approach-software-testing

Slide 39

Slide 39 text

DevOps Practices 1. Loosely–coupled Architecture 2. Autonomous Team 3. Continuous Integration 4. Fast and Reliable Automated Testing 5. Continuous and Automated Deployment/Provisioning 6. Measurement and Feedback

Slide 40

Slide 40 text

Practice 5: Automated Continuous Deployment and Provisioning Automated continuous deployment and provisioning means we deploy applications components as well as provisioning environment components.

Slide 41

Slide 41 text

Development Continuous Integration Automated Test Release Continuous Automated Provisioning Prod Staging Dev Platform / Infra App / Service

Slide 42

Slide 42 text

Automated Deployments Continuous deployment automatically push application components to production when all tests are passed https://notafactoryanymore.com/2014/08/19/continuous-everything-in-devops-what-is-the-difference- between-ci-cdcd/

Slide 43

Slide 43 text

What Happens In Automated Deployments 1. Installing applications 2. Updating applications 3. Configuring resources 4. Configuring middleware components 5. Starting/stopping components 6. Configuring installed applications 7. Configuring network and system 8. Verifying components

Slide 44

Slide 44 text

Automated Provisioning Each team are able to provision and manage their own platform and infrastructure to deploy their own code. 1. Application environments consist of application runtime, database, platform, storage dll. 2. Infrastructure change are viewed as code (Infrastructure as Code) 3. Teams are provided API to provision their own infrastructure and automated 4. New environments are delivered within minutes/hours instead of weeks/months

Slide 45

Slide 45 text

DevOps Practices 1. Loosely–coupled Architecture 2. Autonomous Team 3. Continuous Integration 4. Fast and Reliable Automated Testing 5. Continuous and Automated Deployment/Provisioning 6. Measurement and Feedback

Slide 46

Slide 46 text

Practice 6: Measurement and Feedback Telemetry is an automated communications process by which measurements and other data are collected at remote points and subsequently transmitted to receiving equipment for monitoring.

Slide 47

Slide 47 text

Example of Telemetry Data Telemetry Source: 1. Application 2. Application Environments 3. Deployment Pipeline Telemetry Metrics/Data Example: 1. Metric (CPU Usage, etc) 2. Events (Purchase) 3. Logs 4. Trace

Slide 48

Slide 48 text

Key DevOps Indicators 1. Lead time (request to fulfilment) 2. Process time (begin work to fulfillment) 3. Percent complete and accurate (%C/A)

Slide 49

Slide 49 text

Monitoring Framework Monitoring Framework - Collect data at the business logic, application, and environment layers - In each layer create telemetry in form of events, logs, metrics. - Establish event router responsible for storing events and metrics - This capability enables visualization, trending, alerting, anomaly detection, etc.

Slide 50

Slide 50 text

Shared Metrics https://www.slideshare.net/jallspaw/10-deploys-per-day-dev-and-ops-c ooperation-at-flickr

Slide 51

Slide 51 text

DevOps Tools

Slide 52

Slide 52 text

https://harness.io/blog/devops/devops-tools-lifecycle-mesh/

Slide 53

Slide 53 text

Where to Learn More

Slide 54

Slide 54 text

Where To Learn More 1. The DevOps Handbook https://www.amazon.com/DevOps-Handbook-World-Class-Reliability-Organizations/dp /1942788002 2. The Phoenix Project https://www.amazon.com/Phoenix-Project-DevOps-Helping-Business/dp/09 88262592 3. Continuous Delivery https://www.amazon.com/Continuous-Delivery-Deployment-Automation-Addison-Wesl ey/dp/0321601912/ 4. Continuous Integration https://www.amazon.com/Continuous-Integration-Improving-Software-Reducing/dp/03 21336380/

Slide 55

Slide 55 text

Thank You!