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

CI-CD Jenkins, GitHub Actions, Tekton

CI-CD Jenkins, GitHub Actions, Tekton

Building Cloud-Native App Series - Part 11 of 15
Microservices Architecture Series
CI-CD Jenkins, GitHub Actions, Tekton

Araf Karsh Hamid

June 01, 2022
Tweet

More Decks by Araf Karsh Hamid

Other Decks in Technology

Transcript

  1. @arafkarsh arafkarsh
    8 Years
    Network &
    Security
    6+ Years
    Microservices
    Blockchain
    8 Years
    Cloud
    Computing
    8 Years
    Distributed
    Computing
    Architecting
    & Building Apps
    a tech presentorial
    Combination of
    presentation & tutorial
    ARAF KARSH HAMID
    Co-Founder / CTO
    MetaMagic Global Inc., NJ, USA
    @arafkarsh
    arafkarsh
    1
    Microservice
    Architecture Series
    Building Cloud Native Apps
    Continuous Integration
    Continuous Delivery
    Continuous Deployment
    GitHub Actions, Tekton, Jenkins
    Part 11 of 15

    View Slide

  2. @arafkarsh arafkarsh
    2
    Slides are color coded based on the topic colors.
    Continuous Integration
    Continuous Delivery
    Continuous Deployment
    1
    GitHub Actions
    CI / CD
    2
    Tekton
    CI / CD
    3
    Jenkins CI / CD
    Comparison
    Tekton vs. Jenkins
    4

    View Slide

  3. @arafkarsh arafkarsh
    Agile
    Scrum (4-6 Weeks)
    Developer Journey
    Monolithic
    Domain Driven Design
    Event Sourcing and CQRS
    Waterfall
    Optional
    Design
    Patterns
    Continuous Integration (CI)
    6/12 Months
    Enterprise Service Bus
    Relational Database [SQL] / NoSQL
    Development QA / QC Ops
    3
    Microservices
    Domain Driven Design
    Event Sourcing and CQRS
    Scrum / Kanban (1-5 Days)
    Mandatory
    Design
    Patterns
    Infrastructure Design Patterns
    CI
    DevOps
    Event Streaming / Replicated Logs
    SQL NoSQL
    CD
    Container Orchestrator Service Mesh

    View Slide

  4. @arafkarsh arafkarsh
    Capability Centric Design
    4
    Business Centric Development
    • Focus on Business Capabilities
    • Entire team is aligned towards
    Business Capability.
    • From Specs to Operations – The
    team handles the entire spectrum
    of Software development.
    • Every vertical will have its own
    Code Pipeline, Build Pipeline
    Front-End-Team Back-End-Team Database-Team
    In a typical Monolithic way, the team is
    divided based on technology / skill set
    rather than business functions. This leads
    to not only bottlenecks but also lack of
    understanding of the Business Domain.
    QA Team
    QA = Quality Assurance
    PO = Product Owner
    Vertically sliced Product Team
    Front-End
    Back-End
    Database
    Business
    Capability 1
    QA
    PO Ops
    Front-End
    Back-End
    Database
    Business
    Capability 2
    QA
    PO Ops
    Front-End
    Back-End
    Database
    Business
    Capability - n
    QA
    PO Ops

    View Slide

  5. @arafkarsh arafkarsh
    Continuous Integration
    Continuous Delivery
    • GitHub Actions
    • Tekton
    • Jenkins
    5
    1

    View Slide

  6. @arafkarsh arafkarsh
    Stages of DevOps Delivery Pipeline
    6
    Source: Sanjeev Sharma, IBM, DevOps for Dummies
    Application Release Management
    Development Build Package
    Repository
    Test
    Environment
    Stage
    Environment
    Production
    Environment
    Application Deployment Automation
    Cloud Provisioning
    mvn repository
    npm repository
    Docker hub

    View Slide

  7. @arafkarsh arafkarsh
    Production Environment
    Continuous Monitoring
    Fully
    Automated
    Continuous Deployment
    Shift Left – CI/CD/CD
    7
    • Operations Concerns move earlier in software delivery life cycle, towards development.
    • The Goal is to enable Developers and QC Team to Develop and Test the software that
    behave like Production System in fully automated way.
    Development Environment
    Build
    Build
    Build
    Test Environment
    Continuous Integration
    Unit
    Testing
    Component
    Testing
    Contract
    Testing
    Integration
    Testing
    Continuous Testing
    Shift Left moves operations earlier in development cycle.
    Stage Environment
    Acceptance Testing
    Pull Request / Merge
    Continuous Delivery

    View Slide

  8. @arafkarsh arafkarsh
    GitHub Actions
    1. Events
    2. Jobs
    3. Runners
    4. Steps
    5. Actions
    8
    Workflows
    2

    View Slide

  9. @arafkarsh arafkarsh
    GitHub Action Components
    9
    Events Workflows Actions
    Triggers Uses
    1. Jobs
    2. Runner
    3. Steps

    View Slide

  10. @arafkarsh arafkarsh
    Action Components
    10
    1. Event
    2. Jobs
    3. Steps
    4. Action
    Source: https://docs.github.com/en/actions/learn-github-actions/understanding-github-actions.

    View Slide

  11. @arafkarsh arafkarsh
    Events
    11
    GitHub Triggered Events
    1. push
    2. pull_request
    Scheduled Events
    Manually Triggered
    Source: https://docs.github.com/en/actions/learn-github-actions/understanding-github-actions

    View Slide

  12. @arafkarsh arafkarsh
    Workflows
    12
    Pipeline Directory
    .github/workflows/
    Events (on)
    Jobs
    Steps
    Support Multiple Jobs
    (Parallel and Sequential)
    Source: https://docs.github.com/en/actions/learn-github-actions/understanding-github-actions

    View Slide

  13. @arafkarsh arafkarsh
    Workflows - Bringing everything together
    13
    Listens on Events
    Executes pre-built
    Actions
    Or Custom
    Actions
    Source: https://docs.github.com/en/actions/learn-github-actions/understanding-github-actions

    View Slide

  14. @arafkarsh arafkarsh
    Workflows - Bringing everything together
    14
    Actions runs on
    • Linux
    • Windows
    • Mac OS
    Or
    • Docker on Linux
    Logs Results
    Secret Stores with each
    Repository or Organization
    Source: https://docs.github.com/en/actions/learn-github-actions/understanding-github-actions

    View Slide

  15. @arafkarsh arafkarsh
    Workflows - Expressions
    15
    Add Expressions to
    execute a Job based
    on Conditions
    Source: https://docs.github.com/en/actions/learn-github-actions/expressions
    Production Version Executes if
    the event is on main Branch.
    Events Workflows Actions
    Triggers Uses

    View Slide

  16. @arafkarsh arafkarsh
    Workflows – Environment Variables
    16
    Add Expressions to
    execute a Job based
    on Conditions
    Source: https://docs.github.com/en/actions/learn-github-actions/environment-variables.
    Add Environment
    Variables
    Add Environment
    Variables

    View Slide

  17. @arafkarsh arafkarsh
    Actions
    17
    Pre – Built Actions – Reference
    Author Custom Actions
    Publish Actions in Market Place
    Events Workflows Actions
    Triggers Uses

    View Slide

  18. @arafkarsh arafkarsh
    Action Types
    18
    Container Action Virtual Machine Action (JavaScript)
    Environment Linux Linux, Windows, MacOS
    Language Any Compiles to JavaScript
    Speed Normal Good
    User Experience Normal Good

    View Slide

  19. @arafkarsh arafkarsh
    CI Workflow
    19
    Events to Trigger the Workflow
    Build Job
    Steps
    1. Checkout Step
    2. Language (Java) Setup Step
    3. Build Package Step
    4. Upload Artifacts Step

    View Slide

  20. @arafkarsh arafkarsh
    GitHub Actions - Stats
    20
    6500+
    Actions in Market Place
    73m+
    Jobs per month
    #1
    CI on GitHub

    View Slide

  21. @arafkarsh arafkarsh
    Summary – GitHub Actions
    21
    1. Modular in nature
    2. Declarative Model
    3. Jobs Runs in Virtual Machines or Containers
    4. Well Defined Pipeline Workflows
    5. Conditional Workflows
    6. Market Place for pre-built Actions

    View Slide

  22. @arafkarsh arafkarsh
    Tekton
    • Events
    • Workflows
    • Actions
    22
    3

    View Slide

  23. @arafkarsh arafkarsh
    Tekton Components
    23
    Pipeline
    Triggers
    CLI
    Dashboard
    Catalogue
    Hub

    View Slide

  24. @arafkarsh arafkarsh
    Tekton Pipeline
    24
    Pipeline
    Tasks
    Steps
    Tasks
    Tasks
    Container

    View Slide

  25. @arafkarsh arafkarsh
    Tekton Hub
    25

    View Slide

  26. @arafkarsh arafkarsh
    Tekton – Tasks
    • Single Step
    • Multi Step
    • Params
    • Share Data
    • Workspaces
    26

    View Slide

  27. @arafkarsh arafkarsh
    Task – Multiple Steps
    27
    • Task Contains N Number of
    Steps
    • Each Step is a Container

    View Slide

  28. @arafkarsh arafkarsh
    Task - Parameters
    28

    View Slide

  29. @arafkarsh arafkarsh
    Task - Script
    29

    View Slide

  30. @arafkarsh arafkarsh
    Task – Share Data
    30

    View Slide

  31. @arafkarsh arafkarsh
    Task – Workspace
    31
    Task Contains N
    Number of Steps
    Each Step is a
    Container

    View Slide

  32. @arafkarsh arafkarsh
    Tekton - Pipelines
    • Simple Pipeline
    • Parallel Execution
    • Ordered Execution
    • Merging of Parallel Tasks
    • Finally
    32

    View Slide

  33. @arafkarsh arafkarsh
    Pipeline
    33

    View Slide

  34. @arafkarsh arafkarsh
    Pipeline – Timeout
    34

    View Slide

  35. @arafkarsh arafkarsh
    Pipeline - Finally
    35

    View Slide

  36. @arafkarsh arafkarsh
    Pipeline – Task Order
    36

    View Slide

  37. @arafkarsh arafkarsh
    Summary - Tekton
    37
    1. Scalable Architecture
    • Kubernetes Native
    2. Modular Architecture
    • Object Modeling
    • Pipelines
    • Tasks
    3. Composable Workflows
    4. Reusable Tasks (Across different
    pipelines
    5. Declarative Model

    View Slide

  38. @arafkarsh arafkarsh
    Jenkins
    • Jenkins Pipelines
    • Comparison
    38
    4

    View Slide

  39. @arafkarsh arafkarsh
    Jenkins Pipeline
    39

    View Slide

  40. @arafkarsh arafkarsh
    Summary
    40
    1. UI driven Configuration
    2. Declarative Model
    3. Monolithic Jenkins File
    4. Runs on a Server

    View Slide

  41. @arafkarsh arafkarsh
    Comparison : Tekton / Jenkins
    • Architecture Comparison
    • Key Differences
    41

    View Slide

  42. @arafkarsh arafkarsh
    Tekton vs Jenkins
    42
    Event Listener
    Trigger Temp
    Pipelines
    Task
    Build
    1. Step 1
    2. Step 2
    3. Step n
    Task
    Test
    1. Step 1
    2. Step 2
    3. Step n
    Task
    Deploy
    1. Step 1
    2. Step 2
    3. Step n
    Workspace
    Volumes
    Kubernetes
    Cluster
    File
    System
    Jenkins
    Server
    Virtual
    Machine
    Pipelines
    Jenkins File
    Stage (Build)
    1. Step 1
    2. Step n
    Stage (Test)
    1. Step 1
    2. Step n
    Stage (Deploy)
    1. Step 1
    2. Step n
    Credentials
    Web Hook
    Source
    Code
    Repository

    View Slide

  43. @arafkarsh arafkarsh
    Tekton vs Jenkins
    43
    1. Scalable Architecture
    • Kubernetes Native
    2. Modular Architecture
    • Object Modeling
    • Pipelines
    • Tasks
    3. Composable Workflows
    4. Reusable Tasks (Across
    different pipelines
    5. Declarative Model
    1. Declarative Model
    2. Monolithic Jenkins File
    3. Runs on a Server

    View Slide

  44. @arafkarsh arafkarsh
    CI / CD Tools – 2020
    44
    Source: https://www.katalon.com/resources-center/blog/ci-cd-tools/
    Jenkins CircleCI TeamCity Bamboo GitLab
    Open Source Yes No No No No
    Ease of Use & Setup Medium Medium Medium Medium Medium
    Built-in Features 3/5 4/5 4/5 4/5 4/5
    Integration * * * * * * * * * * * * * * * * * * *
    Hosting On Premise &
    Cloud
    On Premise
    & Cloud
    On Premise On Premise &
    BitBucket as Cloud
    On Premise & Cloud
    Free Version Free From $39
    per Month
    From $299
    one-off payment
    From $10
    one-off payment
    From $4
    per Month
    Supported OS Windows,
    Linux, Mac,
    Unix
    Linux, Mac Windows, Linux,
    Mac, Solaris,
    Free BSD
    Windows, Linux,
    Mac, Solaris
    Linux Distributions:
    Ubuntu, Debian,
    CentOS, Oracle Linux

    View Slide

  45. @arafkarsh arafkarsh 45
    Design Patterns are
    solutions to general
    problems that
    software developers
    faced during software
    development.
    Design Patterns

    View Slide

  46. @arafkarsh arafkarsh 46
    DREAM | AUTOMATE | EMPOWER
    Araf Karsh Hamid :
    India: +91.999.545.8627
    http://www.slideshare.net/arafkarsh
    https://www.linkedin.com/in/arafkarsh/
    https://www.youtube.com/user/arafkarsh/playlists
    http://www.arafkarsh.com/
    @arafkarsh
    arafkarsh

    View Slide

  47. @arafkarsh arafkarsh 47
    Source Code: https://github.com/MetaArivu Web Site: https://metarivu.com/ https://pyxida.cloud/

    View Slide

  48. @arafkarsh arafkarsh 48
    http://www.slideshare.net/arafkarsh

    View Slide

  49. @arafkarsh arafkarsh
    References
    49
    1. July 15, 2015 – Agile is Dead : GoTo 2015 By Dave Thomas
    2. Apr 7, 2016 - Agile Project Management with Kanban | Eric Brechner | Talks at Google
    3. Sep 27, 2017 - Scrum vs Kanban - Two Agile Teams Go Head-to-Head
    4. Feb 17, 2019 - Lean vs Agile vs Design Thinking
    5. Dec 17, 2020 - Scrum vs Kanban | Differences & Similarities Between Scrum & Kanban
    6. Feb 24, 2021 - Agile Methodology Tutorial for Beginners | Jira Tutorial | Agile Methodology Explained.
    Agile Methodologies

    View Slide

  50. @arafkarsh arafkarsh
    References
    50
    1. Vmware: What is Cloud Architecture?
    2. Redhat: What is Cloud Architecture?
    3. Cloud Computing Architecture
    4. Cloud Adoption Essentials:
    5. Google: Hybrid and Multi Cloud
    6. IBM: Hybrid Cloud Architecture Intro
    7. IBM: Hybrid Cloud Architecture: Part 1
    8. IBM: Hybrid Cloud Architecture: Part 2
    9. Cloud Computing Basics: IaaS, PaaS, SaaS
    1. IBM: IaaS Explained
    2. IBM: PaaS Explained
    3. IBM: SaaS Explained
    4. IBM: FaaS Explained
    5. IBM: What is Hypervisor?
    Cloud Architecture

    View Slide

  51. @arafkarsh arafkarsh
    References
    51
    Microservices
    1. Microservices Definition by Martin Fowler
    2. When to use Microservices By Martin Fowler
    3. GoTo: Sep 3, 2020: When to use Microservices By Martin Fowler
    4. GoTo: Feb 26, 2020: Monolith Decomposition Pattern
    5. Thought Works: Microservices in a Nutshell
    6. Microservices Prerequisites
    7. What do you mean by Event Driven?
    8. Understanding Event Driven Design Patterns for Microservices

    View Slide

  52. @arafkarsh arafkarsh
    References – Microservices – Videos
    52
    1. Martin Fowler – Micro Services : https://www.youtube.com/watch?v=2yko4TbC8cI&feature=youtu.be&t=15m53s
    2. GOTO 2016 – Microservices at NetFlix Scale: Principles, Tradeoffs & Lessons Learned. By R Meshenberg
    3. Mastering Chaos – A NetFlix Guide to Microservices. By Josh Evans
    4. GOTO 2015 – Challenges Implementing Micro Services By Fred George
    5. GOTO 2016 – From Monolith to Microservices at Zalando. By Rodrigue Scaefer
    6. GOTO 2015 – Microservices @ Spotify. By Kevin Goldsmith
    7. Modelling Microservices @ Spotify : https://www.youtube.com/watch?v=7XDA044tl8k
    8. GOTO 2015 – DDD & Microservices: At last, Some Boundaries By Eric Evans
    9. GOTO 2016 – What I wish I had known before Scaling Uber to 1000 Services. By Matt Ranney
    10. DDD Europe – Tackling Complexity in the Heart of Software By Eric Evans, April 11, 2016
    11. AWS re:Invent 2016 – From Monolithic to Microservices: Evolving Architecture Patterns. By Emerson L, Gilt D. Chiles
    12. AWS 2017 – An overview of designing Microservices based Applications on AWS. By Peter Dalbhanjan
    13. GOTO Jun, 2017 – Effective Microservices in a Data Centric World. By Randy Shoup.
    14. GOTO July, 2017 – The Seven (more) Deadly Sins of Microservices. By Daniel Bryant
    15. Sept, 2017 – Airbnb, From Monolith to Microservices: How to scale your Architecture. By Melanie Cubula
    16. GOTO Sept, 2017 – Rethinking Microservices with Stateful Streams. By Ben Stopford.
    17. GOTO 2017 – Microservices without Servers. By Glynn Bird.

    View Slide

  53. @arafkarsh arafkarsh
    References
    53
    Domain Driven Design
    1. Oct 27, 2012 What I have learned about DDD Since the book. By Eric Evans
    2. Mar 19, 2013 Domain Driven Design By Eric Evans
    3. Jun 02, 2015 Applied DDD in Java EE 7 and Open Source World
    4. Aug 23, 2016 Domain Driven Design the Good Parts By Jimmy Bogard
    5. Sep 22, 2016 GOTO 2015 – DDD & REST Domain Driven API’s for the Web. By Oliver Gierke
    6. Jan 24, 2017 Spring Developer – Developing Micro Services with Aggregates. By Chris Richardson
    7. May 17. 2017 DEVOXX – The Art of Discovering Bounded Contexts. By Nick Tune
    8. Dec 21, 2019 What is DDD - Eric Evans - DDD Europe 2019. By Eric Evans
    9. Oct 2, 2020 - Bounded Contexts - Eric Evans - DDD Europe 2020. By. Eric Evans
    10. Oct 2, 2020 - DDD By Example - Paul Rayner - DDD Europe 2020. By Paul Rayner

    View Slide

  54. @arafkarsh arafkarsh
    References
    54
    Event Sourcing and CQRS
    1. IBM: Event Driven Architecture – Mar 21, 2021
    2. Martin Fowler: Event Driven Architecture – GOTO 2017
    3. Greg Young: A Decade of DDD, Event Sourcing & CQRS – April 11, 2016
    4. Nov 13, 2014 GOTO 2014 – Event Sourcing. By Greg Young
    5. Mar 22, 2016 Building Micro Services with Event Sourcing and CQRS
    6. Apr 15, 2016 YOW! Nights – Event Sourcing. By Martin Fowler
    7. May 08, 2017 When Micro Services Meet Event Sourcing. By Vinicius Gomes

    View Slide

  55. @arafkarsh arafkarsh
    References
    55
    Kafka
    1. Understanding Kafka
    2. Understanding RabbitMQ
    3. IBM: Apache Kafka – Sept 18, 2020
    4. Confluent: Apache Kafka Fundamentals – April 25, 2020
    5. Confluent: How Kafka Works – Aug 25, 2020
    6. Confluent: How to integrate Kafka into your environment – Aug 25, 2020
    7. Kafka Streams – Sept 4, 2021
    8. Kafka: Processing Streaming Data with KSQL – Jul 16, 2018
    9. Kafka: Processing Streaming Data with KSQL – Nov 28, 2019

    View Slide

  56. @arafkarsh arafkarsh
    References
    56
    Databases: Big Data / Cloud Databases
    1. Google: How to Choose the right database?
    2. AWS: Choosing the right Database
    3. IBM: NoSQL Vs. SQL
    4. A Guide to NoSQL Databases
    5. How does NoSQL Databases Work?
    6. What is Better? SQL or NoSQL?
    7. What is DBaaS?
    8. NoSQL Concepts
    9. Key Value Databases
    10. Document Databases
    11. Jun 29, 2012 – Google I/O 2012 - SQL vs NoSQL: Battle of the Backends
    12. Feb 19, 2013 - Introduction to NoSQL • Martin Fowler • GOTO 2012
    13. Jul 25, 2018 - SQL vs NoSQL or MySQL vs MongoDB
    14. Oct 30, 2020 - Column vs Row Oriented Databases Explained
    15. Dec 9, 2020 - How do NoSQL databases work? Simply Explained!
    1. Graph Databases
    2. Column Databases
    3. Row Vs. Column Oriented Databases
    4. Database Indexing Explained
    5. MongoDB Indexing
    6. AWS: DynamoDB Global Indexing
    7. AWS: DynamoDB Local Indexing
    8. Google Cloud Spanner
    9. AWS: DynamoDB Design Patterns
    10. Cloud Provider Database Comparisons
    11. CockroachDB: When to use a Cloud DB?

    View Slide

  57. @arafkarsh arafkarsh
    References
    57
    Docker / Kubernetes / Istio
    1. IBM: Virtual Machines and Containers
    2. IBM: What is a Hypervisor?
    3. IBM: Docker Vs. Kubernetes
    4. IBM: Containerization Explained
    5. IBM: Kubernetes Explained
    6. IBM: Kubernetes Ingress in 5 Minutes
    7. Microsoft: How Service Mesh works in Kubernetes
    8. IBM: Istio Service Mesh Explained
    9. IBM: Kubernetes and OpenShift
    10. IBM: Kubernetes Operators
    11. 10 Consideration for Kubernetes Deployments
    Istio – Metrics
    1. Istio – Metrics
    2. Monitoring Istio Mesh with Grafana
    3. Visualize your Istio Service Mesh
    4. Security and Monitoring with Istio
    5. Observing Services using Prometheus, Grafana, Kiali
    6. Istio Cookbook: Kiali Recipe
    7. Kubernetes: Open Telemetry
    8. Open Telemetry
    9. How Prometheus works
    10. IBM: Observability vs. Monitoring

    View Slide

  58. @arafkarsh arafkarsh
    References
    58
    1. Feb 6, 2020 – An introduction to TDD
    2. Aug 14, 2019 – Component Software Testing
    3. May 30, 2020 – What is Component Testing?
    4. Apr 23, 2013 – Component Test By Martin Fowler
    5. Jan 12, 2011 – Contract Testing By Martin Fowler
    6. Jan 16, 2018 – Integration Testing By Martin Fowler
    7. Testing Strategies in Microservices Architecture
    8. Practical Test Pyramid By Ham Vocke
    Testing – TDD / BDD

    View Slide

  59. @arafkarsh arafkarsh 59
    1. Simoorg : LinkedIn’s own failure inducer framework. It was designed to be easy to extend and
    most of the important components are plug- gable.
    2. Pumba : A chaos testing and network emulation tool for Docker.
    3. Chaos Lemur : Self-hostable application to randomly destroy virtual machines in a BOSH-
    managed environment, as an aid to resilience testing of high-availability systems.
    4. Chaos Lambda : Randomly terminate AWS ASG instances during business hours.
    5. Blockade : Docker-based utility for testing network failures and partitions in distributed
    applications.
    6. Chaos-http-proxy : Introduces failures into HTTP requests via a proxy server.
    7. Monkey-ops : Monkey-Ops is a simple service implemented in Go, which is deployed into an
    OpenShift V3.X and generates some chaos within it. Monkey-Ops seeks some OpenShift
    components like Pods or Deployment Configs and randomly terminates them.
    8. Chaos Dingo : Chaos Dingo currently supports performing operations on Azure VMs and VMSS
    deployed to an Azure Resource Manager-based resource group.
    9. Tugbot : Testing in Production (TiP) framework for Docker.
    Testing tools

    View Slide

  60. @arafkarsh arafkarsh
    References
    60
    CI / CD
    1. What is Continuous Integration?
    2. What is Continuous Delivery?
    3. CI / CD Pipeline
    4. What is CI / CD Pipeline?
    5. CI / CD Explained
    6. CI / CD Pipeline using Java Example Part 1
    7. CI / CD Pipeline using Ansible Part 2
    8. Declarative Pipeline vs Scripted Pipeline
    9. Complete Jenkins Pipeline Tutorial
    10. Common Pipeline Mistakes
    11. CI / CD for a Docker Application

    View Slide

  61. @arafkarsh arafkarsh
    References
    61
    DevOps
    1. IBM: What is DevOps?
    2. IBM: Cloud Native DevOps Explained
    3. IBM: Application Transformation
    4. IBM: Virtualization Explained
    5. What is DevOps? Easy Way
    6. DevOps?! How to become a DevOps Engineer???
    7. Amazon: https://www.youtube.com/watch?v=mBU3AJ3j1rg
    8. NetFlix: https://www.youtube.com/watch?v=UTKIT6STSVM
    9. DevOps and SRE: https://www.youtube.com/watch?v=uTEL8Ff1Zvk
    10. SLI, SLO, SLA : https://www.youtube.com/watch?v=tEylFyxbDLE
    11. DevOps and SRE : Risks and Budgets : https://www.youtube.com/watch?v=y2ILKr8kCJU
    12. SRE @ Google: https://www.youtube.com/watch?v=d2wn_E1jxn4

    View Slide

  62. @arafkarsh arafkarsh
    References
    62
    1. Lewis, James, and Martin Fowler. “Microservices: A Definition of This New Architectural Term”, March 25, 2014.
    2. Miller, Matt. “Innovate or Die: The Rise of Microservices”. e Wall Street Journal, October 5, 2015.
    3. Newman, Sam. Building Microservices. O’Reilly Media, 2015.
    4. Alagarasan, Vijay. “Seven Microservices Anti-patterns”, August 24, 2015.
    5. Cockcroft, Adrian. “State of the Art in Microservices”, December 4, 2014.
    6. Fowler, Martin. “Microservice Prerequisites”, August 28, 2014.
    7. Fowler, Martin. “Microservice Tradeoffs”, July 1, 2015.
    8. Humble, Jez. “Four Principles of Low-Risk Software Release”, February 16, 2012.
    9. Zuul Edge Server, Ketan Gote, May 22, 2017
    10. Ribbon, Hysterix using Spring Feign, Ketan Gote, May 22, 2017
    11. Eureka Server with Spring Cloud, Ketan Gote, May 22, 2017
    12. Apache Kafka, A Distributed Streaming Platform, Ketan Gote, May 20, 2017
    13. Functional Reactive Programming, Araf Karsh Hamid, August 7, 2016
    14. Enterprise Software Architectures, Araf Karsh Hamid, July 30, 2016
    15. Docker and Linux Containers, Araf Karsh Hamid, April 28, 2015

    View Slide

  63. @arafkarsh arafkarsh
    References
    63
    16. MSDN – Microsoft https://msdn.microsoft.com/en-us/library/dn568103.aspx
    17. Martin Fowler : CQRS – http://martinfowler.com/bliki/CQRS.html
    18. Udi Dahan : CQRS – http://www.udidahan.com/2009/12/09/clarified-cqrs/
    19. Greg Young : CQRS - https://www.youtube.com/watch?v=JHGkaShoyNs
    20. Bertrand Meyer – CQS - http://en.wikipedia.org/wiki/Bertrand_Meyer
    21. CQS : http://en.wikipedia.org/wiki/Command–query_separation
    22. CAP Theorem : http://en.wikipedia.org/wiki/CAP_theorem
    23. CAP Theorem : http://www.julianbrowne.com/article/viewer/brewers-cap-theorem
    24. CAP 12 years how the rules have changed
    25. EBay Scalability Best Practices : http://www.infoq.com/articles/ebay-scalability-best-practices
    26. Pat Helland (Amazon) : Life beyond distributed transactions
    27. Stanford University: Rx https://www.youtube.com/watch?v=y9xudo3C1Cw
    28. Princeton University: SAGAS (1987) Hector Garcia Molina / Kenneth Salem
    29. Rx Observable : https://dzone.com/articles/using-rx-java-observable

    View Slide