Kinh nghiệm triển khai CI/CD tại cong ty SaaS phục vụ 70M người dùngStringee JSC
CI (Continuous Integration) và CD (Continuous Delivery/Deployment) là một quy trình kết hợp tự động hoá giúp đẩy nhanh tiến độ phát triển sản phẩm. Để quá trình tích hợp và triển khai được diễn ra liên tục thì CI/CD phải được tích hợp vào trong vòng đời phát triển phần mềm.
Các chuyên gia công nghệ đều cho rằng nên áp dụng quy trình CI/CD càng sớm càng tốt. Bởi khi có quy trình tốt thì chất lượng công việc của Developer cũng tối ưu hơn.
Cụ thể, CI/CD sẽ giúp triệt tiêu các bước thủ công trong quy trình phát triển phần mềm/ứng dụng giúp Developer chỉ cần commit code, còn lại tất cả quy trình bao gồm chạy build, test, deploy sẽ được tự động thực hiện hoàn toàn bởi công cụ (tool) CI/CD.
- Vậy có những khó khăn, thách thức gì khi triển khai quy trình CI/CD?
- Các nguyên tắc khi triển khai quy trình CI/CD cho tổ chức?
- Quy trình làm việc với CI/CD tại công ty SaaS ra sao?
Cùng xem chia sẻ từ Mr. Tạ Văn Dậu - Head Of Technical tại Stringee với 8+ năm kinh nghiệm về Java và 5+ năm kinh nghiệm về C++, anh Dậu có kinh nghiệm triển khai CI/CD tại Stringee - hệ thống real time đang phục vụ hơn 70M người dùng cuối cho các doanh nghiệp lớn như TP Bank, VietinBank, VNDIRECT, HDBank, Techcombank, Shinhan, VIB,...
-------------
Stringee Communication APIs là giải pháp cung cấp các tính năng như gọi thoại, gọi video, tin nhắn chat, SMS hay tổng đài chăm sóc khách hàng có thể tích hợp trực tiếp vào các ứng dụng/website của doanh nghiệp nhanh chóng. Bộ giải pháp này giúp tiết kiệm đến 80% thời gian và chi phí cho doanh nghiệp bởi thông thường nếu tự phát triển các tính năng này có thể mất từ 1 - 3 năm.
👉 Đăng ký dùng thử miễn phí 30 ngày tại: https://stringee.co/free-trial
- Website: https://stringee.com
- Hotline: 1800 6670
- Email: info@stringee.com
Kinh nghiệm triển khai CI/CD tại cong ty SaaS phục vụ 70M người dùngStringee JSC
CI (Continuous Integration) và CD (Continuous Delivery/Deployment) là một quy trình kết hợp tự động hoá giúp đẩy nhanh tiến độ phát triển sản phẩm. Để quá trình tích hợp và triển khai được diễn ra liên tục thì CI/CD phải được tích hợp vào trong vòng đời phát triển phần mềm.
Các chuyên gia công nghệ đều cho rằng nên áp dụng quy trình CI/CD càng sớm càng tốt. Bởi khi có quy trình tốt thì chất lượng công việc của Developer cũng tối ưu hơn.
Cụ thể, CI/CD sẽ giúp triệt tiêu các bước thủ công trong quy trình phát triển phần mềm/ứng dụng giúp Developer chỉ cần commit code, còn lại tất cả quy trình bao gồm chạy build, test, deploy sẽ được tự động thực hiện hoàn toàn bởi công cụ (tool) CI/CD.
- Vậy có những khó khăn, thách thức gì khi triển khai quy trình CI/CD?
- Các nguyên tắc khi triển khai quy trình CI/CD cho tổ chức?
- Quy trình làm việc với CI/CD tại công ty SaaS ra sao?
Cùng xem chia sẻ từ Mr. Tạ Văn Dậu - Head Of Technical tại Stringee với 8+ năm kinh nghiệm về Java và 5+ năm kinh nghiệm về C++, anh Dậu có kinh nghiệm triển khai CI/CD tại Stringee - hệ thống real time đang phục vụ hơn 70M người dùng cuối cho các doanh nghiệp lớn như TP Bank, VietinBank, VNDIRECT, HDBank, Techcombank, Shinhan, VIB,...
-------------
Stringee Communication APIs là giải pháp cung cấp các tính năng như gọi thoại, gọi video, tin nhắn chat, SMS hay tổng đài chăm sóc khách hàng có thể tích hợp trực tiếp vào các ứng dụng/website của doanh nghiệp nhanh chóng. Bộ giải pháp này giúp tiết kiệm đến 80% thời gian và chi phí cho doanh nghiệp bởi thông thường nếu tự phát triển các tính năng này có thể mất từ 1 - 3 năm.
👉 Đăng ký dùng thử miễn phí 30 ngày tại: https://stringee.co/free-trial
- Website: https://stringee.com
- Hotline: 1800 6670
- Email: info@stringee.com
Vai trò của Jenkins trong mô hình phát triển phần mềm AgileMinh Tri Lam
Vai trò của Jenkins trong mô hình phát triển phần mềm Agile
agile, continuous integration system, jenkins, quy trinh phat trien phan mem, xu huong phat trien phan mem
Giải Ngân Hàng Đảm Bảo Chất Lượng Phần Mềm PTIT SQA PTIT Để tránh trường hợp mua bán bất hợp pháp và lừa đảo file pdf cho sinh viên PTIT. Sân chơi giới trẻ đã tổng hợp, bổ sung các tài liệu cần thiết cho các con vợ! Hãy like, share để ủng hộ chúng tôi! #ptit #sqa
Serverless là gì và học gì để làm việc với serverless?ITguru.vn
Trong vài năm gần đây, mọi thứ liên quan đến serverless đã phát triển mạnh mẽ. Các công ty khởi nghiệp và công ty công nghệ đã bắt đầu tận dụng khả năng mở rộng, độ tin cậy và sức mạnh của serverless để có thể phát triển nhanh hơn, và vì vậy họ cũng cần nhiều nhà phát triển serverless hơn bao giờ hết.
Vậy serverless là gì và cơ hội nào cho các developer? Bài viết này sẽ điểm qua những khái niệm về serverless và lộ trình cơ bản dành cho những ai muốn trở thành một serverless developer.
Xem chi tiết bài viết tại: https://bit.ly/36CCVzQ
Nhận viết luận văn đại học, thạc sĩ trọn gói, chất lượng, LH ZALO=>0909232620
Tham khảo dịch vụ, bảng giá tại: https://baocaothuctap.net
Download luận văn tóm tắt ngành công nghệ thông tin với đề tài: Nghiên cứu và ứng dụng mạng Nơ-ron nhân tạo vào bài toán ước lượng nỗ lực phát triển phần mềm theo mô hình Agile, cho các bạn làm luận văn tham khảo
Nền tảng AppViewX là một ứng dụng phần mềm mô-
đun, mã thấp (low-code) cho phép tự động hóa và
điều phối cơ sở hạ tầng mạng bằng cách sử dụng
quy trình làm việc trực quan, nhận biết ngữ cảnh, trực
quan.
Tận dụng một thư viện khổng lồ gồm các nhiệm vụ và
quy trình làm việc được xây dựng trước, nền tảng
này cho phép các nhóm Ops nhanh chóng và dễ dàng
chuyển các yêu cầu kinh doanh thành quy trình công
việc tự động hóa để cải thiện tính nhanh nhẹn, thực
thi tuân thủ, loại bỏ lỗi và giảm chi phí.
Nền tảng của chúng tôi hoạt động khép kín và có
nhận thức về trạng thái, có khả năng xác minh rằng
mục đích đã đạt được và cung cấp thông tin chi tiết
hữu ích và khắc phục tự động.
Bạn cần chuẩn bị gì khi đi phỏng vấn vị trí DevOps?ITguru.vn
Trong thập kỷ qua, vị trí DevOps ngày càng được chú trọng và đang trở nên vô cùng hot, được săn đón rất nhiều trên thị trường. Đối với Quản trị viên hệ thống, kỹ sư vận hành và các vị trí làm việc khác có kinh nghiệm lập trình phần mềm … có lẽ không có thời điểm nào tốt hơn bây giờ nên chuyển qua lĩnh vực DevOps.
Tính đến tháng 8 năm 2019, có hơn 50.000 danh sách việc làm tại LinkedIn dành cho vị trí DevOps chỉ riêng tại nước Mỹ. Tại Việt Nam, mức lương các kỹ sư DevOps cũng có được mức lương đáng mơ ước.
iả sử bạn đã học được các kiến thức cơ bản và sẵn sàng bắt đầu công việc tìm kiếm việc làm của mình. Làm thế nào để bạn vượt qua cuộc phỏng vấn cho vị trí DevOps?
Hãy theo dõi gợi ý từ itguru.vn tại bài viết này!
Khi phát triển một phần mềm cần xác định những thành phần cần sử dụng để bắt tay vào công việc. Điều này đảm bảo tính logic và nhất quán cho sản phẩm phần mềm từ lúc bắt đầu xây dựng cho đến lúc duy trì, thậm chí là cải tiến. Vậy Software Stack là gì và làm thế nào để thiết lập Stack khi phát triển phần mềm!
https://growupwork.com/blog/kien-thuc-ky-thuat/software-stack-la-gi-771
Code Refactoring (Tái cấu trúc mã nguồn) là những kỹ thuật sắp xếp lại mã nguồn để chúng trở nên tốt hơn mà không làm ảnh hưởng tới hành vi của hệ thống đối với bên ngoài. Có rất nhiều kỹ thuật refactoring khác nhau, mỗi kỹ thuật đôi khi chỉ làm thay đổi một chút nho nhỏ mã nguồn, nhưng những thay đổi nhỏ đó được tích luỹ dần theo thời gian thì tạo nên một ảnh hưởng rất lớn, giúp cho hệ thống của chúng ta trở nên tốt hơn.
“Tốt” hơn nghĩa là thế nào? Nghĩa là chúng sẽ “clean” hơn và “SOLID” hơn.
Refactoring là một trong các nhóm kỹ thuật có liên quan đến nhau và ảnh hưởng đến nhau, bao gồm kiểm thử tự động, TDD, clean code, design pattern… và đều tuân thủ các nguyên lý quan trọng về thiết kế phần mềm.
Chủ đề Live Stream lần này về Code Refactoring sẽ đề cập đến ý nghĩa của refactoring, các kỹ thuật refactoring thông dụng và ứng dụng của chúng trong thực tế. Phiên demo sẽ có các hướng dẫn về việc sử dụng các công cụ để thực hiện các kỹ thuật refactoring và giải thích cụ thể lợi ích của chúng. Nếu bạn đã nghe về Clean Code, SOLID, Design Pattern thì phiên Live Stream lần này là một dịp không thể bỏ qua để hoàn thiện hơn nhóm các kỹ thuật quan trọng này.
- Khái niệm về IT về các ngôn ngữ phổ biến
- Phương pháp xây dựng và template JD
- Các câu hỏi phỏng vấn sàng lọc và đánh giá
- Template email và tin nhắn giới thiệu job
- Công cụ tìm kiếm ứng viên
- Cách viết content thu hút ứng viên trên Linkedin
- Những tình huống thuyết phục ứng viên
Vai trò của Jenkins trong mô hình phát triển phần mềm AgileMinh Tri Lam
Vai trò của Jenkins trong mô hình phát triển phần mềm Agile
agile, continuous integration system, jenkins, quy trinh phat trien phan mem, xu huong phat trien phan mem
Giải Ngân Hàng Đảm Bảo Chất Lượng Phần Mềm PTIT SQA PTIT Để tránh trường hợp mua bán bất hợp pháp và lừa đảo file pdf cho sinh viên PTIT. Sân chơi giới trẻ đã tổng hợp, bổ sung các tài liệu cần thiết cho các con vợ! Hãy like, share để ủng hộ chúng tôi! #ptit #sqa
Serverless là gì và học gì để làm việc với serverless?ITguru.vn
Trong vài năm gần đây, mọi thứ liên quan đến serverless đã phát triển mạnh mẽ. Các công ty khởi nghiệp và công ty công nghệ đã bắt đầu tận dụng khả năng mở rộng, độ tin cậy và sức mạnh của serverless để có thể phát triển nhanh hơn, và vì vậy họ cũng cần nhiều nhà phát triển serverless hơn bao giờ hết.
Vậy serverless là gì và cơ hội nào cho các developer? Bài viết này sẽ điểm qua những khái niệm về serverless và lộ trình cơ bản dành cho những ai muốn trở thành một serverless developer.
Xem chi tiết bài viết tại: https://bit.ly/36CCVzQ
Nhận viết luận văn đại học, thạc sĩ trọn gói, chất lượng, LH ZALO=>0909232620
Tham khảo dịch vụ, bảng giá tại: https://baocaothuctap.net
Download luận văn tóm tắt ngành công nghệ thông tin với đề tài: Nghiên cứu và ứng dụng mạng Nơ-ron nhân tạo vào bài toán ước lượng nỗ lực phát triển phần mềm theo mô hình Agile, cho các bạn làm luận văn tham khảo
Nền tảng AppViewX là một ứng dụng phần mềm mô-
đun, mã thấp (low-code) cho phép tự động hóa và
điều phối cơ sở hạ tầng mạng bằng cách sử dụng
quy trình làm việc trực quan, nhận biết ngữ cảnh, trực
quan.
Tận dụng một thư viện khổng lồ gồm các nhiệm vụ và
quy trình làm việc được xây dựng trước, nền tảng
này cho phép các nhóm Ops nhanh chóng và dễ dàng
chuyển các yêu cầu kinh doanh thành quy trình công
việc tự động hóa để cải thiện tính nhanh nhẹn, thực
thi tuân thủ, loại bỏ lỗi và giảm chi phí.
Nền tảng của chúng tôi hoạt động khép kín và có
nhận thức về trạng thái, có khả năng xác minh rằng
mục đích đã đạt được và cung cấp thông tin chi tiết
hữu ích và khắc phục tự động.
Bạn cần chuẩn bị gì khi đi phỏng vấn vị trí DevOps?ITguru.vn
Trong thập kỷ qua, vị trí DevOps ngày càng được chú trọng và đang trở nên vô cùng hot, được săn đón rất nhiều trên thị trường. Đối với Quản trị viên hệ thống, kỹ sư vận hành và các vị trí làm việc khác có kinh nghiệm lập trình phần mềm … có lẽ không có thời điểm nào tốt hơn bây giờ nên chuyển qua lĩnh vực DevOps.
Tính đến tháng 8 năm 2019, có hơn 50.000 danh sách việc làm tại LinkedIn dành cho vị trí DevOps chỉ riêng tại nước Mỹ. Tại Việt Nam, mức lương các kỹ sư DevOps cũng có được mức lương đáng mơ ước.
iả sử bạn đã học được các kiến thức cơ bản và sẵn sàng bắt đầu công việc tìm kiếm việc làm của mình. Làm thế nào để bạn vượt qua cuộc phỏng vấn cho vị trí DevOps?
Hãy theo dõi gợi ý từ itguru.vn tại bài viết này!
Khi phát triển một phần mềm cần xác định những thành phần cần sử dụng để bắt tay vào công việc. Điều này đảm bảo tính logic và nhất quán cho sản phẩm phần mềm từ lúc bắt đầu xây dựng cho đến lúc duy trì, thậm chí là cải tiến. Vậy Software Stack là gì và làm thế nào để thiết lập Stack khi phát triển phần mềm!
https://growupwork.com/blog/kien-thuc-ky-thuat/software-stack-la-gi-771
Code Refactoring (Tái cấu trúc mã nguồn) là những kỹ thuật sắp xếp lại mã nguồn để chúng trở nên tốt hơn mà không làm ảnh hưởng tới hành vi của hệ thống đối với bên ngoài. Có rất nhiều kỹ thuật refactoring khác nhau, mỗi kỹ thuật đôi khi chỉ làm thay đổi một chút nho nhỏ mã nguồn, nhưng những thay đổi nhỏ đó được tích luỹ dần theo thời gian thì tạo nên một ảnh hưởng rất lớn, giúp cho hệ thống của chúng ta trở nên tốt hơn.
“Tốt” hơn nghĩa là thế nào? Nghĩa là chúng sẽ “clean” hơn và “SOLID” hơn.
Refactoring là một trong các nhóm kỹ thuật có liên quan đến nhau và ảnh hưởng đến nhau, bao gồm kiểm thử tự động, TDD, clean code, design pattern… và đều tuân thủ các nguyên lý quan trọng về thiết kế phần mềm.
Chủ đề Live Stream lần này về Code Refactoring sẽ đề cập đến ý nghĩa của refactoring, các kỹ thuật refactoring thông dụng và ứng dụng của chúng trong thực tế. Phiên demo sẽ có các hướng dẫn về việc sử dụng các công cụ để thực hiện các kỹ thuật refactoring và giải thích cụ thể lợi ích của chúng. Nếu bạn đã nghe về Clean Code, SOLID, Design Pattern thì phiên Live Stream lần này là một dịp không thể bỏ qua để hoàn thiện hơn nhóm các kỹ thuật quan trọng này.
- Khái niệm về IT về các ngôn ngữ phổ biến
- Phương pháp xây dựng và template JD
- Các câu hỏi phỏng vấn sàng lọc và đánh giá
- Template email và tin nhắn giới thiệu job
- Công cụ tìm kiếm ứng viên
- Cách viết content thu hút ứng viên trên Linkedin
- Những tình huống thuyết phục ứng viên
DevOps flow to improve developer's productivity & quality
1. Modern DevOps Workflow
to increase developer’s productivity & quality
Phi Huynh
R&D Manager
NashTechVietnam
2. Coder thời hiện đại (2017)
DevOps là gì
DevOps và Agile
Continuous Delivery - ứng dụng và khó khăn gặp phải
DevOps Workflow ứng dụng thực tế ở
Agenda
Demo thực tế & thảo luận mở
9. DevOps is a culture and mindset for
collaborating and communicating
between developers and operations
10. DevOps và Agile
Agile làm nhanh, nhưng phải làm như thế nào? => KHÓ!!!
Phải cảm ơn Agile, vì có Agile mới có DevOps
DevOps là bệ phóng cho Agile, it’s true!!!
…
11. DevOps workflow ở NashTech
DevOps
workflow
DEVTOOLS
.NET / Java / FE / PHP/ Mobile …
SOURCE CONTROL (DVCS)
SVN / GITLAB / VSTS / GitlabEnterprise,
GITHUB
Continuous Integration
TeamCity, JENKINS, VSTS, Docker
TEST SUITE
.NET / Java / FE / PHP/ Mobile
Continuous Deployment
.NET / Java / PHP / FE / Mobile
Requirement
• Versioning
• Approval process
• Define pipeline
• Cloud support
END-TO-ENDTESTS
- Selenium, SoapUI, …
MONITORING
New Relic / AppDynamics
Azure AppInsights, …
PLANNING
JIRA, GITLAB, VSTS, GITHUB
COLLABORATION
MS Team / Email / Slack
Confluence / Gitter / Slack
Yêu cầu tối thiểu
• Unit test runner
• Code coverage
• Code analysis
• Đo performance
Requirements
• Notifications
• DVCS Integration
• JIRA Integration
Yêu cầu tối thiểu
• Review code
• Kết nối với JIRA
Continuous feedback
12. Các công cụ không tương tác tốt với JIRA (ví dụ: SVN, GIT…)
Chúng tôi không thực sự có tool review code hiệu quả
Quá nhiều test case bằng tay (security, performance, e2e tests, …)
Nhóm không thực sự dùng tools một cách hiệu quả
Vẫn ít áp dụng code analysis & test code coverage
Các khó khăn khi áp dụng
DevOps Workflow ở
13. DevOps flow approach
Code /Tasks
Gitlab or
Other providers
Docker cluster (Linux container-based) on ACS
CI Pipeline (build / test)
TeamCity
Server
TeamCity
Agents
Test DB
Server
Sonarqube
selenium
CD Pipeline (DEV / UAT / PROD)
Identity
Server
StepOne’s
API
StepOne
Frontend
New app
Docker node 1 Docker node 2 Docker node n…
StepOne
Database
Nginx
proxies
Run on Microsoft Azure Container Service or On-premises
commit trigger
Slack
Continuous Feedback