Từ CCIE đến Google Cloud Network Engineer: 4 điều cần suy nghĩ

Tháng Sáu 3, 2021
Nga Pham

Để duy trì sự thích ứng và đam mê trong thị trường việc làm công nghệ cao, điều quan trọng là phải bắt kịp các công nghệ mới, thậm chí là lấy các chứng nhận về chúng. Google Cloud cung cấp nhiều chứng chỉ chuyên nghiệp, một trong số đó là Professional Cloud Network Engineer (Kỹ sư chuyên nghiệp Mạng đám mây) – chứng chỉ mới và đang trong giai đoạn thử nghiệm. Những chứng chỉ này có thể khiến bạn trở thành một nhân tài quý giá trong thế giới đa đám mây. Nếu bạn đến từ một môi trường CNTT truyền thống, có một số điều hữu ích bạn cần biết trước khi học lấy chứng chỉ Kỹ sư mạng đám mây. Bạn sẽ càng thành công nếu càng sớm nhận ra sự khác biệt giữa mạng đám mây và mạng tại chỗ truyền thống.

1. Tập trung vào quy trình làm việc (workflows), không phải gói tin (packets)

Hình dưới đây là một sơ đồ mạng chung cho thấy luồng dữ liệu giữa hai điểm cuối (Endpoint) qua một mạng đơn giản. Dữ liệu bắt đầu từ các ứng dụng trên Endpoint 1, qua các tầng của mạng TCP / IP và các thiết bị trong mạng, cuối cùng đến được Endpoint 2. Trước khi một lượng lớn dữ liệu ra khỏi Endpoint 1, nó được phân rã thành những phần có kích thước nhỏ hơn. Header của các giao thức được thêm vào trước khi chúng được gửi dưới dạng gói tin. Các gói tin và header của chúng được coi là đơn vị nguyên tử trong thế giới mạng truyền thống.

1. Packetized data flow through network..png

Khi là một kỹ sư mạng, bạn thuờng tập trung vào các thiết bị mạng ở giữa các endpoint, chứ không phải bản thân các endpoint. Như trên hình vẽ, trong Router-1, phần lớn lưu lượng đi qua router (bộ định tuyến), nó có trong một giao diện vào goes-inta và giao diện ra goes-outta. Chỉ một phần lưu lượng tương đối nhỏ là dành cho bản thân router. Trong khi đó, dữ liệu dành cho thiết bị mạng bao gồm cả thông tin liên lạc trên mặt phẳng điều khiển (control-plane communications), lưu lượng quản lý (management traffic) hoặc các tấn công độc hại (malicious attacks). Việc cân bằng lưu lượng qua và tới rất phổ biến trên tất cả các thiết bị mạng (thiết bị chuyển mạch – switch, bộ định tuyến – router, tường lửa – firewall và cân bằng tải – balancer), dẫn đến chế độ xem goes-inta/ goes-outta khi cấu hình, vận hành và khắc phục sự cố trên thiết bị mạng.

Khi bạn là một kỹ sư mạng đám mây, đơn vị nguyên tử sẽ thay đổi. Các gói tin và header được thay thế bằng quy trình công việc và tập dữ liệu liên quan. Hình vẽ dưới đây cho thấy sự thay đổi khái niệm này thông qua cách triển khai web ba tầng điển hình. Ý tưởng về mạng, như bạn đã biết, nó được trừu tượng hóa và phân tán. Mô hình lưu lượng (traffic pattern) đã bị đảo ngược, với phần lớn lưu lượng truy cập có nguồn gốc/ dành cho dịch vụ hoặc ứng dụng đám mây nằm trên tài nguyên đám mây, thay vì các thiết bị mạng giữa chúng.

2. Cloud-based three-tier web deployment..png

Bạn có thể nhận biết điều này khi xem cách cấu hình tường lửa có tên http-inbound. Dù bạn cấu hình các nguyên tắc liên quan đến VPC, giờ đây bạn phải xác định mục tiêu bằng cách sử dụng các tham số --target-tags hoặc --target-service-accounts=[IAM Service Account]. Ngoài ra, tùy thuộc vào hướng lưu lượng vào hay ra, bạn chỉ cần cấu hình bộ lọc nguồn hoặc đích chứ không phải cả hai. Lý do điều này khả thi chính là vì trọng tâm nằm ở việc dữ liệu đi vào và rời khỏi một dịch vụ đám mây cụ thể.

2. Nhận thức được sự thay đổi của các khối xây dựng (building blocks)

Khi bạn chuyển từ mạng tại chỗ sang mạng đám mây, hãy cố gắng đưa các chi tiết bạn đã biết vào giải pháp mới mà bạn đang tìm hiểu. Hãy nhớ rằng mục tiêu mới của bạn là kích hoạt quy trình làm việc.

Trong thế giới mạng cũ có các building block (khối xây dựng) hữu hình như thiết bị chuyển mạch, bộ định tuyến, tường lửa, bộ cân bằng tải, dây cáp, ổ cắm điện và tính toán BTU. Các khối xây dựng vô hình bao gồm tính năng và phương pháp được xác định bởi IETF RFC và các giao thức độc quyền của nhà cung cấp (vendor-proprietary protocols), máy trạng thái hữu hạn (finite-state machines), cấu trúc dữ liệu và bộ định thời (timers). Về mặt vật lý, bạn đã tập hợp tất cả những thứ này lại để kết nối những người dùng cuối và ứng dụng họ đã sử dụng để duy trì hoạt động kinh doanh. Thực hiện tất cả các công việc này mất nhiều thời gian, và khi mạng phát triển, các công việc quản lý và chi phí vận hành nó cũng lớn hơn một cách không tương xứng với doanh nghiệp.

Các giải pháp đám mây coi sự phức tạp này như một vấn đề phần mềm và thêm một lớp trừu tượng giữa người dùng cuối và khối lượng công việc, loại bỏ hoặc ẩn đi nhiều chi tiết phức tạp liên quan đến các building block cũ. Các building block mới là các dịch vụ và tính năng dựa trên đám mây như Google Compute Engine, Cloud SQL, Cloud Functions và Cloud Pub/ Sub. Bạn sẽ tập hợp các tài nguyên mới này dựa trên nhu cầu của mình để cung cấp các giải pháp IaaS, Paas, SaaS và FaaS. Thời gian triển khai của bạn sẽ thu hẹp từ ngày/ tuần thành giây/ phút khi bạn kết nối mạng doanh nghiệp của mình qua Cloud VPN hoặc Cloud Interconnect và triển khai VPC, Cloud Load Balancing và Docker container với Google Kubernetes Engine. Công việc quản lý cũng giảm bớt sự phức tạp thông qua các công cụ như Trình quản lý triển khai (Deployment Manager), Stackdriver và các công cụ định giá của Google Cloud. Bạn không còn đơn giản chỉ xây dựng kết nối giữa các điểm cuối, mà thay vào đó là kích hoạt môi trường ảo hóa (virtualized environments) bằng cách xem cơ sở hạ tầng như những mã nguồn.

3. Hiểu về sức mạnh của mạng cáp quang toàn cầu (global fiber network)

Cơ sở hạ tầng của nhiều nhà cung cấp dịch vụ đám mây được tạo thành từ các khu phức hợp trung tâm dữ liệu lớn ở các khu vực địa lý trên toàn cầu, mỗi khu vực được chia thành các khu vực dự phòng nhỏ hơn. Sự kết nối giữa các khu vực này đa phần diễn ra qua Internet công cộng.

3. A typical cloud provider’s global infrastructure..png

Phương pháp này hưởng lợi từ kết nối phổ biến của Internet. Tuy nhiên, nhìn vào hình minh họa bên trên bạn có thể thấy rằng nó có một số nhược điểm:

  • Sự phức tạp trong quản lý: Khi cloud footprint (dấu chân đám mây) của bạn phát triển và bạn cần các đảo VPC để giao tiếp qua các tùy chọn ngang hàng (peering options) giữa nhiều khu vực, lúc này việc cấu hình, vận hành và khắc phục sự cố sẽ trở nên phức tạp.
  • Hiệu suất không thể đoán trước: Bạn không thể kiểm soát được tình trạng chập chờn (jitter), chậm trễ (delay) và mất gói tin (packet loss) trong Internet công cộng.
  • Định tuyến không tối ưu: Số lượng bước nhảy cần thiết khi chuyển qua Internet có thể không tối ưu hóa đối với doanh nghiệp của bạn, vì bạn phải tuân theo chính sách BGP của nhà cung cấp dịch vụ.
  • Rủi ro bảo mật: Internet là nơi có cả người tốt (khách hàng của bạn) và không may là cả người xấu. Mặc dù bạn có thể mã hóa lưu lượng của mình khi truyền đi, nhưng bạn vẫn gặp phải rủi ro khi liên lạc liên vùng qua Internet công cộng.
4. Google’s Premium Tier cloud infrastructure..png

Tuy nhiên, Google Cloud’s Premium Network Service Tier sẽ giúp bạn khắc phục những trở ngại này bằng nhiều cách:

  • Cơ sở hạ tầng của bạn là một mạng đám mây đồng nhất lớn, không còn các dấu vết đám mây tạo thành từ các đảo VPC biệt lập về mặt địa lý. Mạng lưới này có thể mang tính khu vực để bắt đầu và phát triển trên phạm vi toàn cầu khi bạn đã sẵn sàng.
  • Vấn đề về mất gói tin, chậm trễ và chập chờn được giảm thiểu đáng kể so với Internet công cộng.
    Số lượng bước nhảy giữa các điểm cuối được giảm thiểu đáng kể. Khi lưu lượng của bạn truy cập mạng Google, nó sẽ đi qua con đường tối ưu thay vì qua mạng của các nhà cung cấp dịch vụ Internet khác nhau.
  • Bằng cách tận dụng cân bằng tải toàn cầu và các địa chỉ anycast, lưu lượng truy cập sẽ nhảy vào và thoát khỏi mạng Google tại điểm gần nhất với người dùng cuối của bạn.
  • Lưu lượng truy cập liên vùng và riêng tư được mã hóa tự động, minh bạch với ứng dụng và được gửi qua đường trục cáp quang riêng. Bởi vì không được truyền qua Internet, những kẻ có ý đồ xấu sẽ không bao giờ tiếp cận được nó.

Nếu những lợi thế này không thu hút bạn hơn chi phí băng thông, Google Cloud còn mang đến một lựa chọn khác – Standard Networking Tier, định tuyến lưu lượng truy cập qua Internet công cộng với mức giá thấp hơn.

4. Nâng cao tính linh hoạt của API, Thư viện client, SDK và Console

Chắc chắn rằng một số thiết bị mạng có chương trình quản lý dựa trên GUI hoặc bảng điều khiển web, nhưng có lẽ bạn đã dành phần lớn sự nghiệp của mình cho CLI của một thiết bị mạng. Điều này là do GUI có xu hướng làm cho những thứ cơ bản trở nên dễ dàng và CLI làm cho những thứ khó khăn trở thành hiện thực. Chúng đều là những nơi bạn cần đến để cấu hình, vận hành và khắc phục sự cố.

Tuy nhiên, CLI cũng có những hạn chế. Nếu bạn muốn có các tính năng mới, bạn cần nâng cấp phần mềm, và cần kiểm tra trước khi nâng cấp. Công việc này tốn kém thời gian và cả chi phí. Nếu cấu trúc lệnh hoặc đầu ra của CLI thay đổi, quá trình tự động hóa và tập lệnh hiện tại của bạn sẽ bị hỏng. Hơn nữa, trong các mạng lớn với hàng trăm hoặc hàng nghìn thiết bị, việc thiếu tính nhất quán của phiên bản phần mềm có thể là một cơn ác mộng đối với người quản lý. Bạn có thể có SNMP, và khi SNMP không thành công, các lược đồ XML và mô hình NETCONF/YANG sẽ ra tay để phát triển mọi thứ theo đúng hướng. Tất cả những điều này khác xa so với quyền truy cập thông qua các công cụ phát triển (programmatic access) mà bạn được cung cấp khi bước vào đám mây.

5. Cloud API,Client Libraries, SDKs, and Console..png

Từ quan điểm cấu hình, vận hành và xử lý sự cố, đám mây có rất nhiều giải pháp. Sơ đồ trên cho thấy sự khác nhau của các giải pháp có sẵn. Bạn có thể tự do lựa chọn một bản đồ phù hợp nhất với kỹ năng của mình và thích hợp với nhiệm vụ cần xử lý. Mặc dù Google Cloud có SDK dựa trên CLI hỗ trợ câu lệnh shell (shell scripting) hoặc các phiên tương tác đầu cuối (interactive terminal sessions), nhưng bạn có thể bỏ qua chúng. Nếu bạn đang phát triển một ứng dụng hoặc thích các tiếp cận lập trình, bạn có thể sử dụng một trong nhiều thư viện client (client libraries) đa chức năng. Nếu bạn là một lập trình viên có kinh nghiệm với các nhu cầu cụ thể, bạn thậm chí có thể viết mã lệnh trực tiếp lên REST API. Tuy nhiên, bảng điều khiển (console) luôn sẵn sàng nếu bạn đang tìm hiểu hoặc muốn sử dụng phương pháp tiếp cận trực quan.

Ngoài các công cụ nêu trên, nếu bạn cần tạo các cấu trúc liên kết lớn hơn theo một nhịp thường xuyên, bạn có thể xem Trình quản lý triển khai đám mây (Cloud Deployment Manager) của Google. Nếu bạn muốn một công cụ bất khả tri (vendor agnostic tool) từ một nhà cung cấp đám mây, bạn có thể nghiên cứu chương trình mã nguồn mở Terraform. Cả hai giải pháp đều đưa ra một bước nhảy lập trình cơ sở hạ tầng từ lập trình mệnh lệnh (imperative programming) sang lập trình khai báo (declarative programming). Điều này có thể phù hợp trong trường hợp bạn cần một quy trình làm việc nhất quán hơn giữa các nhà phát triển và nhà vận hành khi cung cấp tài nguyên.

Phối hợp tất cả cùng nhau

Đừng choáng ngợp nếu bạn thấy những điều này có vẻ nhiều. Có một nguồn có sẵn sẽ giúp bạn tìm hiểu các khái niệm cơ bản này: tài liệu. Có thể bạn đã quen thuộc với tài liệu trên trang web của một số nhà cung cấp mạng. Để bắt kịp xu hướng của Google Cloud, cách tối nhất là làm quen với tài liệu của Google. Có tài liệu về các khái niệm cấp cao như cấp độ mạng (network tier levels), mạng ngang hàng (network peering) và kết nối lai (hybrid connectivity). Mỗi dịch vụ đám mây cũng có bộ tài liệu riêng của nó, được chia nhỏ thành các khái niệm, cách thực hiện, hạn ngạch, giá cả và các lĩnh vực khác. Việc xem lại cách cấu trúc và đánh dấu trang chúng sẽ giúp ích cho việc học ôn chứng chỉ của bạn và giúp bạn trở thành một kỹ sư đám mây thành thạo hơn.

Nguồn: Google Cloud Blog