Inhouse Professional Training Software Development and Operation with DevOps – PT Jasindo Bangun Insani

Rp0,00

Mulai:14 Sep ’22
Selesai:26 Sep ’22
Hari:Rabu
Pukul:08.00 – 15.30 WIB
Durasi:7 Hour 30 Minute
Biaya:
Tempat:
Min. Peserta:6
Confirm:– Peserta
Terdaftar:– Peserta

DevOps adalah kombinasi prinsip budaya, implementasi, dan alat yang memungkinkan organisasi untuk memberikan aplikasi dan layanan dengan kecepatan tinggi. Pengembangan dan peningkatan produk membutuhkan waktu lebih sedikit daripada organisasi yang menggunakan pengembangan perangkat lunak tradisional dan proses manajemen infrastruktur. Kecepatan ini memungkinkan organisasi untuk melayani pelanggan mereka dengan lebih baik dan bersaing secara lebih efektif di pasar.
Seiring waktu, seluruh pekerjaan manusia selalu diperbarui agar lebih efisien. Tujuannya adalah untuk menyederhanakan prosedur kerja yang biasanya berbelit-belit. Demikian juga, programmer membutuhkan kerja tim saat menyusun kode skrip yang rumit dan panjang. Git dan GitHub juga telah terbukti membantu tim pemrogram mengkompilasi kode skrip.

 

CONTENT

1. Introduction to DevOps and Continuous Delivery

1.1 Introducing DevOps
1.2 The Agile Wheel
1.3 Agile Fallacy
1.4 DevOps and ITIL

2. Orbit View

2.1 Overview of The DevOps process and Continuous Delivery
2.2 Release Management
2.3 Scrum, Kanban, and the Delivery Pipeline
2.4 Identifying Bottlenecks

3. DevOps Affects Architecture

3.1 Introducing Software Architecture
3.2 Monolithic Scenario
3.3 Architecture Rules of Thumb
3.4 The Separation of Concerns
3.5 The Principle of Cohesion
3.6 Coupling
3.7 A practical Example
3.8 Three-tier Systems
3.9 Handling Database Migrations
3.10 Rolling Upgrades
3.11 Liquibase Basic
3.12 Configure The Changelog File
3.13 Configure The pom.xml File
3.14 Manual Installation
3.15 Microservices
3.16 Conway’s Law
3.17 How to Keep Service Interfaces Forward Compatible
3.18 Microservices and The Data Tier
3.19 DevOps, Architecture, and Resilience

4. Source Code Management System

4.1 The Need for Source Code Control
4.2 The History of Source Code Management
4.3 Roles and Code
4.4 A word about Source Code Management System Migrations
4.5 Choosing a Branching Strategy
4.6 Branching Problem Areas
4.7 Artifact Version Naming
4.8 Choosing a Client
4.9 Setting up a basic Git Server
4.10 Shared Authentication
4.11 Hosted Git Servers
4.12 Large Binary Files
4.13 Different Git Server Implementations
4.14 Docker Intermission
4.15 Introduction to Gerrit
4.16 The pull request model
4.17 Introduction to GitLab

5. Code Building

5.1 Build Code
5.2 Kind of Build Systems
5.3 The Jenkins Build Server
5.4 Managing Build Dependencies
5.5 The Final Artifact
5.6 Cheating with FPM
5.7 Continuous Integration
5.8 Continuous Delivery
5.9 Jenkins Plugins
5.10 The Host Server
5.11 Build Slaves
5.12 Software on The Host
5.13 Triggers
5.14 Job Chaining and Build Pipelines
5.15 A look at the Jenkins Filesystem Layout
5.16 Build Servers and Infrastructure as Code
5.17 Build Phases
5.18 Alternative Build Servers
5.19 Collating Quality Measures
5.20 Build Status Visualization
5.21 Taking Build Errors Seriously

6. Code Testing

6.1 Manual Testing
6.2 Pros and Cons with Test Automation
6.3 Unit Testing
6.4 JUnit in General and JUnit in Particular
6.5 Mocking
6.6 Test Coverage
6.7 Automated Integration Testing
6.8 Performance Testing
6.9 Automated Acceptance Testing
6.10 Automated GUI Testing
6.11 Integrating Selenium Tests in Jenkins
6.12 JavaScript Testing
6.13 Testing Backend Integration Points
6.14 Test-driven Development
6.15 REPL-driven Development
6.16 A complete Test Automation Scenario

7. Code Deployment

7.1 Deployment Systems Handling
7.2 Virtualization Stacks
7.3 Executing Code on the Client
7.4 The Puppet Master and Puppet Agents
7.5 Ansible
7.6 PalletOps
7.7 Deploying with Chef
7.8 Deploying with SaltStack
7.9 Comparison between Salt, Ansible, Puppet and PalletOps
7.10 Execution Models
7.11 Vagrant
7.12 Deploying with Docker
7.13 Comparison tables
7.14 Cloud Solutions
7.15 Introduction AWS
7.16 Introduction Azure

8. Code Monitoring

8.1 Nagios
8.2 Munin
8.3 Ganglia
8.4 Graphite
8.5 Log Handling

9. Issue Tracking

9.1 Function of Issue Trackers
9.2 Example of Workflows and Issues
9.3 Issue Tracker Requirements
9.4 Exploring objects arrangement

10.The Internet of Things and DevOps

10.1 Introducing the IoT and DevOps
10.2 The IoT Development on the Market
10.3 Machine-to-Machine Communication
10.4 IoT Deployment affects Software Architecture
10.5 IoT Deployment Security
10.6 A hands-on lab with an IoT Device for DevOps

11. DevOps and its Components

11.1 Technical Challenge
11.2 Software Tools
11.3 Cloud Computing
11.4 Information Security
11.5 Requirements
11.6 Architecture
11.7 User Acceptance Tests
11.8 Stress Tests

12. Hands On/Demo

12.1 Create and Implement Docker images and containers
12.2 Publishing image on Docker Hub

13. Hands On/Demo

13.1 GitLab Installation
13.2 GIT Installation
13.3 Version Control, Working with remote repository

14.HandsOn

14.1 Installing Selenium
14.2 Creating Test Cases in Selenium WebDriver
14.3 Integrating Selenium with Jenkins

15.Continuous Integration (CI)

15.1 GitLab CI

16.Hands On/Demo

16.1 Install and configure Puppet
16.2 Configure and implement servers using Puppet

17.Continuous Deployment/Delivery (CD)

17.1 Introduction to Kubernetes
17.2 Kubernetes Cluster Architecture
17.3 Understanding YAML
17.4 Creating a Deployment in Kubernetes using YAML
17.5 Creating a Service in Kubernetes
17.6 Installing Kubernetes Dashboard
17.7 Deploying an App using Dashboard
17.8 Using Rolling Updates in Kubernetes

18.HandsOn

18.1 Setting up the Kubernetes Cluster from Scratch
18.2 Deploying your first app in Kubernetes using YAML
18.3 Deploying an app through Kubernetes Dashboard
18.4 Updating your application using Rolling updates in Kubernetes

19.HandsOn

19.1 Installing Nagios
19.2 Monitoring of different servers using Nagios
19.3 DevOps End-to-End CI/CD View