Quản lý package trong Kubernetes với Helm [Kỳ 1]

Quản lý package trong Kubernetes với Helm [Kỳ 1]

1. Helm là gì? Deploy một ứng dụng lên Kubernetes cluster - đặc biệt là các ứng dụng phức tạp - đòi hỏi việc tạo một loạt các resource của ứng dụng đó, ví dụ như Pod, Service, Deployment, ReplicaSet ... . Mỗi resource lại yêu chúng ta phải viết một file YAML chi tiết cho nó để deploy. Điều đó dẫn đến các thao tác CRUD trên một loạt các resource này trở nên phức tạp, mất thời gian, dễ bị bỏ sót và gặp vấn đề về tái sử dụng hay chia sẻ cho người khác. Như Ubuntu có apt, ... »

Test Driven Development

Test Driven Development

I. Introduction Test Driven Development (TDD)Chính xác với nghĩa đen của nó: “Test-Driven Development” có thể được tạm hiểu là mô hình phát triển với trọng tâm hướng về việc kiểm thử. TDD được xây dựng theo hai tiêu chí: Test-First (Kiểm thử trước) và Refactoring (Điều chỉnh mã nguồn) . Trong đó, khi một yêu cầu cho một chức năng nào đó (requirement) được đặt ra: Developer chuẩn bị các test case hoặc test scenario cho yêu cầu đó trước tiên và chạy thử các test case hoặc test scenario đó lần đầu tiên. Tất nhiên, việc chạy thử ... »

OWASP ZAP và những vấn đề thực tế

OWASP ZAP và những vấn đề thực tế

Như chúng ta đã biết OWASP ZAP là 1 Tool Test Security hoàn toàn mạnh mẽ, giúp bạn dễ dàng scan và tìm ra lỗ hổng trong hệ thống ứng dụng của bạn. Bạn nào chưa biết về OWASP ZAP thì có thể tham khảo bài viết trước của mình. https://blog.vietnamlab.vn/2018/08/08/owasp-zap-de-test-security-cho-web-application-va-api/ Thực tế là trong bài viết trước, mình chỉ test một chức năng nhỏ trong ứng dụng của mình, nên chưa gặp và lường trước được những vấn đề có thể xảy ra. Sau khi test một ứng dụng lớn chính mình ... »

Monitoring Kubernetes Cluster với Prometheus-Grafana Stack (kỳ 1)

Monitoring Kubernetes Cluster với Prometheus-Grafana Stack (kỳ 1)

Nội dung Giới thiệu Prometheus Prometheus Operator Grafana Installation Kết luận Tài liệu tham khảo Giới thiệu Để bắt đầu với nội dung bài viết này, chắc hẳn bạn đã có kiến thức cơ bản về Kubernetes rồi, và nếu bạn chưa từng nghe về Kubernetes thì xin mời bạn tìm hiểu về K8s ở bài viết trước Tại đây. Hiểu được tất cả các thành phần cũng như cách vận hành của K8s quả là khó và bạn cần thời gian, vì K8s được xây dựng để phục vụ hệ thống lớn. Với một hệ thống lớn hàng chục ... »

[Phần 2] Ansible - Cài đặt LAMP với Playbooks và Roles

[Phần 2] Ansible - Cài đặt LAMP với Playbooks và Roles

Trong bài viết trước, mình đã giới thiệu một số khái niệm cơ bản trong Ansible. Phần này chúng ta đi vào thực hành demo cài đặt một web server cơ bản với PHP, Apache và sau đó hiện ra màn hình "Hello World". Playbooks Tạo một file playbook và viết vào đấy những việc cần làm sau: Install Apache Install PHP Start Apache Show "Hello World!" Cụ thể trong file playbook.yml sẽ được viết như sau: # playbook.yml --- - hosts: all tasks: - name: 1. install Apache apt: name=apache2 state=present - name: 2. install PHP ... »

[Phần 1] Ansible - Khái niệm cơ bản

[Phần 1] Ansible - Khái niệm cơ bản

BÀI TOÁN BAN ĐẦU Đầu tiên, tôi có một bài toán muốn đặt ra như thế này. Tôi có 10 con server cần setup lên thành web server và 3 con server cần setup thành DB server. Nếu setup một cách thủ công thì chúng ta sẽ cần 10 lần thao tác giống nhau cho việc setup 10 con web server và với DB server cũng thế. Vậy bài toán đặt ra là có thể gõ 1 lệnh mà tổng 13 con server tự động được setup không. Câu trả lời là có. Và để làm được điều thì chúng ... »

Blockchain hoạt động như thế nào?

Blockchain hoạt động như thế nào?

I. Lịch sử Blockchain. Trước khi được ứng dụng trong lĩnh vực liên quan đến tiền ảo, tiền thân của blockchain được ra đời trong lĩnh vực liên quan đến khoa học máy tính. Mà cụ thể là liên quan đến mật mã học và cấu trúc dữ liệu. Năm 1979, hash tree hay còn được biết đến với tên gọi Merkle tree được Ralph Merkle phát minh ra. Hash tree chính là 1 dạng hết sức sơ khai và nguyên thuỷ của blockchain. Dạng cấu trúc dữ liệu này được dùng để kiểm tra và xử lí dữ liệu ... »