Lời nói đầu
Chào các bạn. Lại là mình, Quân đây.
Trong dự án gần đây mình đang làm, khách có yêu cầu mình sử dụng đến Cloud9 để phát triển 1 phần code nào đó. Mặc dù thời đi học mình đã có 1 môn dùng Cloud9 để code rồi nhưng hiện tại Cloud9 IDE là 1 cái gì đó rất khác so với cái hồi mình dùng. Vì vậy với mình nó vừa mới mà cũng vừa cũ, đáng để tìm hiểu và viết lại thành bài blog.
Vài giới thiệu về Cloud9
Cloud9 IDE là 1 công cụ IDE online được phát triển bởi công ty cùng tên được thành lập năm 2010. Cloud9 được viết hoàn toàn bằng Javascript, hỗ trợ C, C++, PHP, Ruby, Perl, Python, JavaScript với Node.js, và Go. Trang chủ cũ của Cloud9 là c9.io. Năm 2016, công ty chủ quản của Cloud9 IDE đã được Amazon mua lại và kể từ đó, tân của dịch vụ trở thành AWS Cloud9.
Hoài niệm 1 chút thì hồi năm 3, chương trình học của mình có 1 môn học lập trình Ruby on Rails. Giảng viên môn đó đã giới thiệu cho bọn mình 1 option dùng máy linux với Cloud9 IDE(hồi đó cài song song Win và Linux có hay xảy ra lỗi boot). Mình thì là fan của CLoud9 IDE lúc đó luôn vì hồi đó mình ham bắn Half Life với Call of Duty nên sống chết cũng phải dùng máy Win =))) (nhưng giờ đi làm quen phải dùng command nhiều lại thích cắn Táo với chơi Linux chứ Win phiền. Mà đợt này cũng lại bớt chơi game đi nữa). Bớt lan man phần hoài niệm lại thì hồi đó Cloud9 thời gian cold start dài, IDE cũng khá đơn giản với cửa sổ quản lý file, file editor và 1 cái terminal. Và quả thật việc AWS mua lại Cloud 9 là 1 thương vụ thành công, mang lại lợi nhuận cho cả 2 bên và mang lại giá trị lâu dài cho người dùng là các nhà phát triển sử dụng AWS.
Văn hoa thì như thế nhưng không phải không có lý do. Chúng ta sẽ cùng đi vào tìm hiểu cụ thể.
Sử dụng thử AWS Cloud9
Tạo 1 môi trường Cloud9 để sử dụng
Trước hết, vào console của AWS, vào Cloud9 và chọn Create New Environment. Màn hình này sẽ hiện ra.
Sau khi điền xong tên và chuyển sang trang tiếp theo, chúng ta sẽ được lựa chọn cách sử dụng, loại EC2 instance, platform Linux nào, lựa chọn Cost saving,...
Bước cuối cùng sẽ là review trước khi tạo.
Sau đó bấm tạo là chúng ta sẽ có môi trường IDE như dưới
Khám phá môi trường Cloud9 mới tạo
Mở môi trường test bên trên ra, ta có:
Như vậy là ngày xưa có mỗi terminal, code editor và folder view, ngày nay có thêm plugin support git, AWS và tùy chọn đổi theme. Ngoài ra thời gian máy khởi động xong còn nhanh hơn so với ngày xưa rất nhiều.
Và quả thật việc AWS mua lại Cloud 9 là 1 thương vụ thành công, mang lại lợi nhuận cho cả 2 bên và mang lại giá trị lâu dài cho người dùng là các nhà phát triển sử dụng AWS.
Vậy là mình không phải quá khen gì cả nhé.
Kiểm tra qua với git, NodeJS, Python(các ngôn ngữ được dùng nhiều khi làm việc với cloud và các công nghệ mới) và Ruby(mình thích thì mình xem thôi) thì môi trường này đều có. Như vậy khá là yên tâm để có thể làm các thao tác coding ở trên đây.
Tuy nhiên, đây là chỉ môi trường của bạn và mình bạn xem được thôi. Môi trường này không được chia sẻ thì kể cả bạn có dùng root cũng không thể xem được. Vì vậy bạn sẽ cần làm thao tác chia sẻ
Với R là quyền chỉ đọc, còn RW là cả đọc cả ghi đè.
Khi đó ở tài khoản được chia sẻ thì tuy danh sách môi trường của chính tài khoản vẫn trống, nhưng môi trường được chia sẻ sẽ có môi trường test như trong hình dưới
Có vẻ mọi thứ khá là OK, cơ mà cái này có vẻ hơi qua loa.
Thử với 1 framework
Ở đây thì mình chọn Serverless
Có vẻ việc cài đặt Serverless khá là ok.
Sau đó mình chạy
serverless create --template aws-python3 --path demo-service
Project cũng được khởi tạo khá ổn.
Tuy nhiên phần config credentials cho AWS thì không ổn lắm. Nếu muốn có được config cứng để chạy ổn định thì việc chạy sudo aws configure
là bắt buộc.
Sau khi config xong, ta chạy thử sls deploy. Quá trình chạy có vẻ khá ổn, không phát sinh lỗi và cũng không có thông báo lỗi ở shell.
Cuối cùng thì xem thử ở CloudFormation Stack, ta thấy việc deploy đã hoàn thành
Kết luận
Trong phạm vi thử của mình, Cloud9 là 1 môi trường khá ổn định để có vể viết code, chạy thử code. Ở 1 số dự án cả cá nhân lẫn công việc, mình cũng đã dùng cả các plugin Git và thấy cũng tiện lợi như Visual Studio Code yêu thích của mình vậy.
Mặc dù thế, không thể nói là Cloud9 đang không có thiếu sót, ví dụ như việc phân quyền trên môi trường Amazon Linux. Với mình thì hiện phần lợi ích nhận được sẽ lớn hơn phần thiếu sót rất nhiều lần. Vì vậy đây đáng là công cụ để cân nhắc sử dụng trong quá trình phát triển, kiến trúc phần mềm trên cloud.
thank you for sharing