Trang Chủ Kinh doanh Dịch vụ vi mô: chúng là gì và tại sao doanh nghiệp của bạn nên quan tâm

Dịch vụ vi mô: chúng là gì và tại sao doanh nghiệp của bạn nên quan tâm

Video: QUẦN BỎ BỈM có CẦN THIẾT ? | Đánh giá quần bỏ bỉm Goodmama | Review Bỉm Vải (Tháng Chín 2024)

Video: QUẦN BỎ BỈM có CẦN THIẾT ? | Đánh giá quần bỏ bỉm Goodmama | Review Bỉm Vải (Tháng Chín 2024)
Anonim

Bối cảnh phần mềm doanh nghiệp tràn ngập các công nghệ ồn ào. Chúng tôi đã viết về rất nhiều trong số chúng, có thể là blockchain, phát triển mã thấp hoặc các xu hướng mới nổi khác đang thay đổi cách chúng ta làm việc. Một từ thông dụng mới mà bạn có thể chưa nghe thấy trước đây là "microservice."

Đó là do thiết kế. Microservice là một cách khác nhau để kiến ​​trúc sư phần mềm dựa trên một tập hợp các thành phần mô-đun đan xen thay vì ý tưởng truyền thống về một ứng dụng "nguyên khối" được tạo thành từ một núi mã ngày càng phát triển. Các ứng dụng dựa trên microservice không có vẻ gì khác biệt so với phía giao diện người dùng (UI), cho dù đó là trong ứng dụng trung tâm dữ liệu phức tạp hay ứng dụng web hoặc di động được lưu trữ trên cơ sở hạ tầng đám mây có thể mở rộng.

Lý do các doanh nghiệp nên quan tâm đến microservice là, đằng sau hậu trường, kiến ​​trúc có thể giúp nhóm phát triển và CNTT của bạn hoạt động và đổi mới nhanh hơn, quản lý cơ sở hạ tầng và giảm chi phí và độ phức tạp của việc thêm các tính năng và chức năng mới vào ứng dụng. Al Hilwa, Giám đốc Chương trình Nghiên cứu Phần mềm Phát triển Ứng dụng tại IDC, đã giải thích cách ông sẽ cung cấp dịch vụ siêu nhỏ cho một nhà điều hành trong khi ghi nhớ cả những thách thức về văn hóa và công nghệ.

"Khi xây dựng các hệ thống mới, có lẽ điểm quan trọng là phải nhận ra rằng một dịch vụ siêu nhỏ duy nhất nên được xây dựng bởi một nhóm nhỏ, " Hilwa nói. "Thứ hai, khả năng đa dạng trong ngôn ngữ lập trình và quy trình công việc của nhà phát triển thường được ngụ ý bởi bản chất độc lập của văn hóa microservice tổng thể. Mục đích chính của một nhà điều hành là xây dựng phần mềm tăng dần bằng cách sử dụng các nhóm nhỏ, với mỗi tòa nhà là một mô đun mạch lạc với một công bố Ưu điểm là các mô-đun độc lập có thể được phát triển với tốc độ nhanh hơn nhiều độc lập miễn là các API được xuất bản được quản lý theo cách có tổ chức. "

Microservice là gì, thực sự?

Hilwa là tác giả của một báo cáo IDC năm 2015 có tựa đề: "Sự xuất hiện của các dịch vụ vi mô như một phương pháp kiến ​​trúc mới để xây dựng các hệ thống phần mềm mới". Trong báo cáo, ông định nghĩa microservice là một kiến ​​trúc phần mềm dạng hạt, nơi các thành phần ứng dụng được thiết kế và phát triển độc lập để đáp ứng các yêu cầu về khả năng tương tác do API xác định (nghĩa là gắn liền với toàn bộ ứng dụng). Mặc dù vậy, microservice không tồn tại trong chân không. Một kiến ​​trúc mới đòi hỏi sự hỗ trợ tổ chức mạnh mẽ và sự thay đổi trong văn hóa CNTT.

Microservice cũng không được định nghĩa bởi bất kỳ một công nghệ cụ thể nào, nhưng vì sự phát triển của khái niệm lâu đời về kiến ​​trúc hướng dịch vụ (SOA) được tăng cường bởi sự ra đời của các container và sự gia tăng của tự động hóa thông qua các phương pháp phát triển như phân phối liên tục (CD) và tích hợp liên tục (CI).

"Các tổ chức sử dụng microservice ngày nay thường được thúc đẩy bởi mong muốn tốc độ phát triển dịch vụ nhanh hơn", Hilwa nói. "Vì vậy, trong hầu hết các trường hợp như vậy, microservice đang sử dụng tự động hóa CI / CD ở mức độ lớn. Tuy nhiên, tốc độ triển khai thực tế có thể khác nhau giữa các dịch vụ. Tôi nghĩ rằng điều quan trọng là phải nhìn vào văn hóa nội bộ và được chắc chắn rằng bạn sẵn sàng chịu đựng sự phân cấp và đa dạng hơn trong nhóm công nghệ. "

Bởi "văn hóa nội bộ" Hilwa chủ yếu đề cập đến DevOps, một triết lý kết hợp phát triển phần mềm, hoạt động CNTT và đảm bảo chất lượng (QA) thành một quy trình hợp tác duy nhất. Công ty khởi nghiệp phần mềm DevOps HashiCorp và những người sáng lập từ lâu đã là những người ủng hộ microservice. Công ty, gần đây đã bảo đảm khoản tài trợ Series B trị giá 24 triệu đô la, tính các công ty như Cisco, DigitalOcean, Mozilla và Stripe trong số những người dùng nguồn mở và khách hàng doanh nghiệp.

Các dịch vụ vi mô là cốt lõi để HashiCorp tiếp cận phát triển cơ sở hạ tầng và quy trình ứng dụng DevOps trên các công cụ nguồn mở phổ biến và bộ sản phẩm doanh nghiệp đang phát triển. Armon Dadgar, CTO và đồng sáng lập HashiCorp, đã phá vỡ sự khác biệt giữa nguyên khối và microservice bằng cách sử dụng một phép loại suy đơn giản: Amazon và eBay.

"Hãy nghĩ về Amazon và eBay như những ứng dụng đơn lẻ. Từ góc độ người dùng cuối, chúng trông giống nhau, nhưng đằng sau hậu trường, các công ty đã có những cách tiếp cận ngược lại trong cách họ xây dựng và kiến ​​trúc ứng dụng của họ", Dadgar nói. "Amazon ngay từ đầu đã là một gói microservice, nó hoạt động như một ứng dụng duy nhất. Nhưng nếu bạn thực hiện tìm kiếm, danh mục sản phẩm, giỏ hàng, hóa đơn, dòng đặt hàng và phân chia các chức năng đó, hai ứng dụng sẽ chạy khác nhau máy móc. "

Sự tương tự của Amazon cũng mở rộng đến cách cấu trúc của chính Amazon. Dadgar giải thích các phương pháp tiếp cận công nghệ như microservice là công cụ hỗ trợ cho quá trình di chuyển lớn hơn đối với DevOps. "Hai quy tắc Pizza" của Jeff Bezos hoạt động sao cho chỉ có từ năm đến tám người thuộc bất kỳ nhóm nào của Amazon. Nếu đội trở nên lớn hơn, thì nó sẽ chia thành hai.

Hệ thống phân cấp tổ chức của Amazon bắt đầu ánh xạ tới những gì Dadgar mô tả là "sự phân rã chức năng". Tách biệt ở cả cấp độ tổ chức và kiến ​​trúc mô-đun, mỗi nhóm sau đó có khả năng phát triển và thử nghiệm tự do hơn mà không cần phải phối hợp với mọi thay đổi trong khi vẫn hoạt động như một phần của một ứng dụng gắn kết duy nhất.

"eBay đã áp dụng cách tiếp cận nguyên khối; họ đã xây dựng toàn bộ eBay như một dòng ứng dụng mã dài 50 triệu, " Dadgar nói. "Cách tiếp cận microservice ban đầu đau đớn hơn vì các vấn đề về tính mô đun và khả năng tương tác là những vấn đề không tồn tại trong một khối nguyên khối. Nhưng mọi thứ bắt đầu bị phá vỡ khi ứng dụng phát triển quá lớn. Trong một khối, không có sự phân rã.

"Hãy suy nghĩ về hàng trăm hoặc hàng ngàn nhà phát triển hợp tác trên một cơ sở mã duy nhất và cố gắng phối hợp. Một nhóm QA thêm chức năng ở một bên của ứng dụng có thể phá vỡ mọi thứ ở phía bên kia vì không có sự phân tách rõ ràng về vai trò và trách nhiệm. do đó, bạn bắt đầu cần sự phối hợp ngày càng nhiều giữa các nhà quản lý dự án và quy trình QA có thể mất hàng tuần và phát triển tắc nghẽn, bất kể nhóm đó làm việc nhanh như thế nào. Đó là quá nhiều đầu bếp trong bếp. "

Container và microservice trong một thế giới DevOps

Cách thức mà doanh nghiệp của bạn thực hiện một kiến ​​trúc microservice sẽ đi một chặng đường dài để xác định liệu khoản đầu tư có được đền đáp hay không. Microservice rất nhiều công việc trước mắt, đặc biệt là trong tích hợp API cần có để đảm bảo tất cả các dịch vụ nói chuyện với nhau. Hilwa giải thích rằng nó thậm chí còn phức tạp hơn khi cố gắng tích hợp microservice vào một hệ thống hiện có; ông khuyến nghị các doanh nghiệp xây dựng các hệ thống mới bất cứ khi nào có thể thay vì tái kiến ​​trúc một ứng dụng nguyên khối cũ cho các dịch vụ siêu nhỏ.

"Kiến trúc hệ thống truyền thống thường bao gồm các hệ thống cơ sở dữ liệu lớn, phức tạp của bản ghi với các lược đồ chuẩn hóa phức tạp, " Hilwa nói. "Việc bao gồm các hệ thống như vậy thành các thành phần nhỏ hơn với các hệ thống độc lập của riêng chúng đòi hỏi nhiều công việc thiết kế cơ sở dữ liệu và viết lại hiệu quả hầu hết logic ứng dụng cốt lõi. Điều này thường gây tốn kém và mất thời gian trong hầu hết các trường hợp."

Nếu bạn tái kiến ​​trúc một ứng dụng cũ, thì Hilwa khuyên bạn nên tăng dần. Mặc dù quan trọng hơn cả tích hợp API, microservice không hoạt động mà không có văn hóa DevOps đằng sau nó. Dadgar của HashiCorp cho biết, khi nói đến chiếc ô lớn hơn của DevOps, microservice trở thành một công cụ để tạo điều kiện cho sự thay đổi quy trình lớn hơn theo hướng thay đổi cơ bản quy trình công việc mà chúng tôi cung cấp ứng dụng. Anh ta chỉ vào Tao của HashiCorp đặt ra khi anh ta và đồng sáng lập Mitchell Hashimoto bắt đầu công ty: đơn giản, mô-đun và có thể ghép lại được.

"DevOps trong một số ý nghĩa là một thuật ngữ thậm chí còn quá tải hơn microservice, " Dadgar nói. "Nhưng một doanh nghiệp bao gồm những người có kiến ​​thức chuyên môn khác nhau: nhà phát triển, nhà điều hành, nhân viên an ninh. Và sau đó bạn có quy trình, cách bạn tổ chức những người đó. Sau đó, bạn có các công cụ để hỗ trợ quy trình đó, đó là nơi microservice và container mời vào."

Các container, được phổ biến bởi sự bùng nổ nguồn mở của Docker, không phải là công cụ duy nhất mà các doanh nghiệp có thể sử dụng để tạo điều kiện cho các dịch vụ siêu nhỏ. Hilwa của IDC cho biết các container được sử dụng trong các ứng dụng hiện đại như một phần của quy trình công việc CI / CD và, trong một số trường hợp, trong khi triển khai vào sản xuất. Nhưng ông cho biết microservice cũng có thể tận dụng các máy ảo (VM) mà không cần container.

Điều đó nói rằng, khi nói đến cách mà đám mây kinh doanh đang phát triển, Docker container và microservice là một sự kết hợp công cụ mạnh mẽ được kinh doanh bởi tất cả các hình dạng và quy mô từ các công ty khởi nghiệp như HashiCorp cho đến các doanh nghiệp khổng lồ như Oracle. Dadgar của HashiCorp cho biết container là phương tiện thuận tiện để Dev và Ops (và, bằng cách liên kết, các nhóm và dịch vụ khác nhau) giao tiếp với nhau.

"Vật phẩm mà chúng ta đang đi qua giữa các nhà phát triển và nhà khai thác là gì? Chúng ta đang trôi chảy và xây dựng xung quanh là gì? Container là một đơn vị thuận tiện để vượt qua, " Dadgar nói. "Hãy nghĩ về một sản phẩm vận chuyển doanh nghiệp toàn cầu trên toàn thế giới. Cho dù đó là tàu chở hàng, tàu chở hàng hay xe tải, đó là cùng một đơn vị chảy qua toàn bộ hệ thống."

DevOps và microservice vẫn còn lâu mới được áp dụng rộng rãi cho doanh nghiệp nhưng thị trường chỉ đang phát triển. Theo báo cáo của IDC, kiến ​​trúc microservice sẽ bước vào giai đoạn trưởng thành trong năm năm tới. Sự trưởng thành này sẽ diễn ra sau khi văn hóa DevOps đạt 50% các tổ chức vào năm 2020, sự phát triển liên tục của các công cụ tự động hóa phần mềm và sự thống trị của cơ sở hạ tầng đám mây giá rẻ, có thể mở rộng được cung cấp bởi Amazon Web Services (AWS) và Microsoft Azure.

Dadgar nói rằng, ngay cả với một phần nhỏ các doanh nghiệp đang nắm lấy DevOps và microservice tại thời điểm này, HashiCorp đã bị đăng ký quá nhiều. Nó đạt doanh thu bảy con số đầu tiên chỉ sau chín tháng bán doanh nghiệp, đứng đầu một cộng đồng nguồn mở trên GitHub của vài triệu người dùng hoạt động hàng tháng. Microservice chỉ là một phần của đường ống công cụ ứng dụng quy trình làm việc của HashiCorp và lộ trình cơ sở hạ tầng DevOps lớn hơn. Nhưng tính mô đun và khả năng tương tác bên dưới mọi thứ mà công ty xây dựng đã thúc đẩy sự gia tăng nhanh chóng của một trong những phần mềm khởi nghiệp nóng nhất ở Thung lũng Silicon.

"Bốn năm trước khi chúng tôi bắt đầu, chúng tôi sẽ tham gia các cuộc họp và đưa ra tầm nhìn về cách quản lý cơ sở hạ tầng, " Dadgar nói. "Chúng tôi không cười chính xác khi ra khỏi phòng, chúng tôi biết rằng đó là sớm. Nhưng bây giờ các công cụ của chúng tôi như Terraform đang trên đường trở thành tiêu chuẩn công nghiệp. Những gì chúng ta sẽ thấy là hiệu ứng áp lực của áp lực cạnh tranh và, trong về lâu dài, vai trò của chúng tôi sẽ làm việc với CIO và CTO để hiểu được sự thay đổi quy trình mà họ cần thực hiện.

"Hãy nghĩ về Toyota trở lại trong ngày, " Dadgar tiếp tục. "Bạn đã có một loạt các công ty xe hơi xây dựng các sản phẩm nhưng chi phí cao hơn mức cần thiết. Toyota đã không phát minh lại chiếc xe là gì, họ chỉ nghiêm ngặt hơn và gia tăng về quy trình, và chuyển từ trò cười sang nhà máy điện, buộc Ngay bây giờ, chúng tôi có các nhà lãnh đạo ngành hỏi làm thế nào họ có thể có được lợi thế cạnh tranh, và câu trả lời của họ là áp dụng các thông lệ của Googles và Amazons của thị trường. điểm, nó sẽ đạt được một khối lượng quan trọng. "

Dịch vụ vi mô: chúng là gì và tại sao doanh nghiệp của bạn nên quan tâm