年度最佳硬件、軟件、開發工具和云服務

jopen 8年前發布 | 64K 次閱讀 企業應用 數據庫 Hadoop

知名IT雜志《InfoWorld》的一群編輯和評論人員選出了2015年年度最佳硬件、軟件、開發工具和云服務。

年度最佳硬件、軟件、開發工具和云服務

如果你說2015年是容器元年,那也不算錯。不過,2015年也是其他技術大放異彩的大好年頭:分布式計算、內存分析、機器學習、平臺即服務、實時應用程序、單頁應用程序、低代碼移動開發、軟件定義網絡,這樣你才算了解全貌。

一切都在變化。我們評選出年度技術大獎獲得者:總共31種產品,它們由《InfoWorld》雜志的一群評論人員評選出來,涵蓋平臺、數據庫、開發工具、應用程序和云服務,它們在共同重塑IT格局,并重新定義現代商業。

Docker

年度最佳硬件、軟件、開發工具和云服務

當然,Docker成為年度技術是十拿九穩的事兒,不僅僅由于它為廣大開發人員帶來了靈活性,還由于其項目在過去一年取得了長足發展。Docker的整個網絡模型已得到了升級。處理存儲的機制已經過大幅重寫,以至于現在它成了眾多第三方產品組成的小型產業的基礎。它終于不需要用戶以root身份來運行容器。它還獲得了各種各樣的其他工具。

另外引人注目的是,Docker不僅僅影響了其他軟件項目的方向和發展,還影響了整個軟件行業的方向和發展。VMware正確地意識到,容器提供了一種更好的解決方法,可以解決虛擬機當初旨在解決的許多問題,于是它重新設計了產品線中的諸多產品,歡迎容器,將其視為“一等公民”。微軟也明白過來,致力于將容器功能添加到Windows Server,不是簡單地模仿功能,而是支持Docker本身。

谷歌、亞馬遜、紅帽、IBM、思科,如今每一家數據中心和云計算廠商都在趕Docker這股熱潮。很長一段時間后才會出現具有如此變革性影響的一款軟件;至于Docker及其合作伙伴在今年會如何引領Docker發展,值得拭目以待。

Kubernetes

年度最佳硬件、軟件、開發工具和云服務

管理部署的Docker容器可能讓人頭痛,應用程序或微服務被設計成用自己的依賴服務來部署時更是困難重重。這時候,Kubernetes就有了用武之地。Kubernetes是一種編排工具,類似于在Apache Mesos上運行的Marathon,但僅僅面向Docker容器。它可以調度容器以便在一群機器上運行,可以單獨部署容器,也可以按緊密耦合的群組(名為pod)部署容器,它在分配任務時牢記資源要求。

不像Mesos/Marathon這對組合,如果使用Kubernetes,你可以以etcd的方式,免費獲得服務發現機制,這是默認情況下擁有的一項出色功能。Kubernetes還在底層平臺方面提供了相當強的靈活性。它大力支持谷歌的容器引擎(Container Engine),可以在一小批公共云上輕松運行,還可以部署到VMware vSphere、Mesos或Mesosphere數據中心操作系統(DCOS)上。

如果你在谷歌計算引擎、亞馬遜網絡服務或另一種公共云上運行Kubernetes,甚至可以讓Kubernetes替你管理該基礎設施的一些部分。擁有需要橫向擴展的服務?那么你很可能想在該服務前面有一套負載均衡系統。可以告訴Kubernetes:你希望服務進行負載均衡,它就會替你做些針對特定云的相關工作,你沒必要自行配置負載均衡機制。諸如此類的特性讓Kubernetes成為任何容器基礎設施的首選工具。

CoreOS

年度最佳硬件、軟件、開發工具和云服務

CoreOS基于一種高度精簡的Gentoo Linux版本,是專門為運行容器(尤其是在集群環境下)而設計的。一種名為fleet的配套管理工具處理跨集群調度CoreOS實例這項任務,而一種名為etcd的分布式鍵值存儲工具負責存儲配置數據、支持服務發現。

有望帶來容器移植性和高效率的優點深入人心,CoreOS從頭開始構建時就牢記這一承諾。在CoreOS上運行的唯一實體作為Docker容器來運行,包括你可能一直習以為常的調試工具。連軟件包管理器都沒有安裝。CoreOS還被設計成作為分布式系統的一部分來加以部署;在分布式環境下,出現硬件故障很正常;通過部署服務的多個實例,獲得高可用性。如果一個節點出現故障,fleet和etcd就會共同確保:副本迅速部署到集群中的其他節點。

作為這種分布式系統方法的意外結果,CoreOS可自動安裝更新版和補丁。如果出現了一個新的安全漏洞、補丁發布,CoreOS會跨你的集群執行滾動更新,打上補丁。只有借助etcd和fleet的協調編排,才可能實現那種滾動更新。

Joyent Triton

年度最佳硬件、軟件、開發工具和云服務

你之前從來沒有聽說過Joyent Triton,但是如果你現在想要一種易于管理、面向容器的架構,而且這種架構已準備好用于生產環境、久經考驗,那么Joyent是應該要知道的名字。Joyent是一家公司,擁有一系列出色技術,主打技術就是Triton,這款軟件用來在裸機上運行與Docker兼容的容器。

如果多年前你在Sun E10K上用過Solaris Zones,后來業界丟棄Solaris改用Linux后,你不得不使用虛擬機,可能會有一點被搶劫的感覺。Docker讓容器卷土重來,但是除了包裝外,Docker容器不如Zones那么好。Joyent繼續沿著Solaris容器這條路子,但是給了你類似Linux般的感覺、與Linux和Docker兼容,以及在IaaS、云應用程序和“容器化”這個新時代下必不可少的所有管理工具。

結果是?在Joyent云上運行容器的成本要低于在基于虛擬化技術的云服務提供商上運行容器的成本。如果你想在本地運行Docker,就有了一款久經考驗的基礎設施解決方案,還擁有運行Docker所需的管理工具。最棒的是,關鍵組件都是開源。容器將成為一個擁擠的市場,但Joyent憑借可能更出色的技術,早早搶占了有利位置。這點很重要!

思科ACI

年度最佳硬件、軟件、開發工具和云服務

思科已憑借以應用為中心的基礎設施(ACI),將數據中心網絡帶到了一個新的高度,ACI顯然是一種軟件定義網絡(SDN)方案。ACI與OpenFlow或OpenDaylight SDN項目并不互相協調,而是采用一種全然不同的方法,即網絡配置方面的細節由網絡設備來處理,而不是由控制器來處理。結果是,大大提高了可擴展性,思科吹噓在一個fabric上就能支持大約200只分支交換機、5個核心和20萬個端點。

ACI基于封裝租戶范圍之內所有流量的租戶模式(tenant model)而建,所以不存在重疊IP子網方面的問題,租戶與其他租戶實現了邏輯分離,不過它們在同一個fabric上。應用程序模型連接服務器、網絡和安全等資源,讓租戶可以通過模板來部署應用程序。這種抽象讓用戶得以輕松管理托管服務或業務部門。

協調編排這一切的是控制器集群,它們其實就是服務器,提供了用于集成ACI工作流程和用于控制fabric本身的API。這套API有相應的GitHub項目,項目開放了部分ACI功能的源代碼,并提供了開放集成選項。ACI建立在Python基礎上,可能是思科迄今發布的最開放的平臺。思科ACI具有開放、可擴展和軟件定義等特點,是SDN給網絡界帶來巨變的另一個跡象。

Apache Mesos

年度最佳硬件、軟件、開發工具和云服務

跨龐大的機器集群分配許多任務時,一個重要問題變成了如何高效地做到這一點。Mesos是一個頂級Apache開源項目,它對分布式集群上的計算資源進行抽象處理,將一塊塊資源提供給你的應用程序,基于設定的共享優先級。換句話說,Mesos就像是數據中心的操作系統,跨多個機器分配任務,你沒必要自行管理和監控那些機器上的資源。

你很可能通過用Mesos的API編寫的許多可用框架中的一種來使用Mesos。比如說,Marathon跨你的集群分配資源要求不一的長時間運行的任務。Chronos讓你可以以一種容錯方式來運行計劃任務(cron job)。面向Mesos的其他流行框架包括Cassandra、Hadoop、Storm和Spark。

如果你需要另外的動力在今年關注Mesos,不妨看看支持Mesos的一些公司。推ter挖來了早期Mesos項目的其中一個共同開發者,并且用Moesos運行其數據中心。蘋果使用Mesos,重建了支撐Siri服務的后端組件。思科云服務部門正致力于構建在Mesos上運行Consul、Exhibitor和Elasticsearch的框架。如果你在生產環境下有眾多服務器,有大量任務需要調度,將Mesos整合到系統中會讓你獲益匪淺。

Apache Spark

年度最佳硬件、軟件、開發工具和云服務

雖然這一幕就發生在我們眼前,但還是難以相信Spark如此迅速地顛覆了大數據領域。在短短的幾個月,內存分析不再是“有錢人的游戲”,成為了一種日常方案,可以整合到任何商業智能項目中。Spark已把Hadoop擠到一邊,讓用戶從此不需要MapReduce,基本上改變了大數據的主要定義。

Hadoop開發者、Cloudera首席技術官Doug Cutting宣布Cloudera將Spark作為其公司的整個核心時,頂石已儼然鋪下。奇怪的是,Spark方面動靜最大的恰恰是用于實時數據流,這實際上是其最大的軟肋之一。可是又有誰知道,一種面向分布式計算的簡單API居然最終變成了數據處理領域新時代的一塊基石;這種API在內存中運行,天生適合任何函數式編程語言。Spark迅速崛起和采用的勢頭在2016年只會繼續加快。

IBM Watson Analytics

年度最佳硬件、軟件、開發工具和云服務

IBM被稱為是一家祖輩級科技公司,有充分理由。遲早,它會設法將一臺使用自定義內部組件的昂貴的大型機器賣給你。至于IBM軟件,只要一提到WebSphere的大名,任何開發人員或系統管理員就會不寒而栗。但是Watson平臺代表著全新的藍色巨人形象。IBM將Watson這個logo印在許多產品上,但給人印象最深刻的實際產品還是Watson Analytics。

Watson Analytics是個奇跡。它結合了可視化、數據標記、機器學習和云存儲等技術。你只要上傳一些數據,它就會給出頗有見地的寶貴信息。然而,雖然Watson可以免費試用,一旦你真正開始處理大量數據,Watson很快就會變得非常昂貴。此外,如果你不想為1TB的存儲空間支付每月15000美元的費用,它與其他云和數據庫整合就會限制你。

話雖如此,Watson Analytics可能會定義市場――成為衡量其他大多數預測分析工具的一個標桿工具。如果IBM讓Watson不僅僅囿于其系統,它可能會霸占這個細分市場。但是那樣的話,如果你不想在IBM的云中運行大大的黑盒子,該公司如何將它賣給你呢?

Splunk

年度最佳硬件、軟件、開發工具和云服務

日志分析不是信息安全界最吸引人的部分,卻是一個基礎部分。無論是用于威脅檢測、事件響應還是取證分析,企業組織必須將相應的詳細信息記入日志,找到那些日志中的相關信息,并設法了解所有這些信息。企業組織應該求助于哪種技術呢?

一個合理的選擇就是日志分析領域無可爭議的王者:Splunk,它有詳細的搜索工具、全面接口和全球覆蓋范圍。Splunk沒有因出類拔萃而沾沾自喜。2015年,該公司推出了Splunk企業安全4.0工具(Splunk Enterprise Security 4.0)和Splunk用戶行為分析工具(Splunk User Behavior Analytics),這一對工具讓企業可以檢測安全泄密,并跟蹤攻擊者在網絡中的一舉一動。

Splunk企業安全工具可以幫助安全專業人員防御多級攻擊,只要借助跟蹤特殊(ad-hoc)搜索和活動的工具,在規定時間表內調查任何事件、活動或注釋的工具,以及讓客戶和第三方可以開發額外應用程序,以此擴展系統的框架。Splunk用戶行為分析工具是個新產品,它結合了Splunk機器數據功能和從Caspida收購而來的用戶行為分析技術。

如今的復雜攻擊需要更先進的安全方法。借助這些新產品,以及新的Splunk IT服務情報(Splunk IT Service Intelligence)以便直觀地顯示運行狀況,Splunk將分析技術和機器學習運用于威脅檢測和響應,可謂順了應時代要求。

Tableau

年度最佳硬件、軟件、開發工具和云服務

商業智能領域出現了業務用戶驅動的數據發現和交互式分析這一趨勢,已基本上取代了傳統的IT驅動的報表和分析,而Tableau堪稱這方面的典范。Tableau可以連接到一系列廣泛的文件和服務器數據源,包括Excel工作簿、字符和制表符分隔的文件、統計文件以及40多種類型的服務器。你可以將多個數據源連接到工作表,并實現表連接或文件連接。

Tableau中的分析是個拖放過程,附有屬性表。Tableau可以將分析結果組織成工作表、儀表板和故事。儀表板可能包含以一定方式排列的多個工作表,你可以為一個工作表創建不影響儀表板中其他工作表的動作(action)。

故事可以將多個儀表板或工作表合并成一個敘述(narrative)。誰都可以下載免費的Windows版或Mac版Tableau Public應用程序,用來創建分析結果,保存到Tableau Public服務器,任何人都可以查看這些分析結果。Tableau Server是一種專用的、Windows托管的Tableau Public版本。

Tableau可不便宜,也不是用于報表的最佳商業智能產品。但是它支持一大批數據源,提供了豐富的圖表類型,對圖表和儀表板外觀提供了出色的控制性,而且不用編寫代碼,就可以使用深層統計數字。考慮到這款產品的復雜性,它并不難學。Tableau提供了示例數據、視頻、快速入門指南、實時課程和研討會,幫助新手盡快上手。

微軟Office

年度最佳硬件、軟件、開發工具和云服務

上這份榜對Office 2016來說其實不是大大的褒獎。微軟Office在過去一年取得了重大進展,比Windows版本“平淡無奇”的升級版或者甚至Mac版本的重大改進相比重要多了。它是一度被認為難以想象的成就:可以在各大計算平臺上運行的設計出色、功能強大的Word、Excel和PowerPoint版本。除了Web版Office外,Windows版、Mac版、iOS版和安卓版的Office應用程序不僅成熟又穩定,還都有一大批同樣的核心功能。

此外,面向多個平臺的新穎、有價值的云支持功能正以驚人的速度擴增:與Box、思杰、Salesforce和iCloud等存儲服務整合;移動設備管理;Sway“后PowerPoint”演示協作工具;用于集中式視頻共享的Office 365 Video;用于跨Office 365工作組和文檔發現信息的Office Graph和Office Delve;以及結合Excel報表的Power BI。

微軟在Office 365后端方面仍有大量的工作要做。協作功能離世界一流還相距甚遠。比如說,實時共同創作只能在Word中實現,而且不是很好。收購而來的組件(比如Yammer)仍似乎讓人覺得更像是事后添加上去,而不是有機整合。承諾對OneDrive for Business進行的改進依然只是承諾而已。

Office 365的組件有許多瑕疵,但目標雄心勃勃:以可靠、復雜、支持云的產品,擁抱各大計算平臺,微軟在這方面已取得了顯著的進步。

Slack

年度最佳硬件、軟件、開發工具和云服務

Slack問世還不到短短兩年,卻已經每天擁有200多萬活躍用戶,其應用范圍已從初創公司擴大到了企業界。

Slack之所以如此吸引人,關鍵在于它集成了眾多技術,讓Slack得以成為貴公司的主要中心。從回答支持問題,到實現云部署完全自動化,每項任務都可以在Slack窗口里面完成,同時Slack機器人會貼心地指出,你還剩下10分鐘可以趕上回家的下一班車。

Slack最近推出了Slack應用程序商店(Slack App Store)和期待已久的企業版,有望在2016年迎來進一步的發展,企業版將為組織分組提供亟需的支持,并提供統一的安全和管理方案。

Adobe Connect

年度最佳硬件、軟件、開發工具和云服務

WebEx和GoToMeeting與Adobe Connect相比不值一提,后者是一款高端互聯網會議、網絡研討會和學習解決方案,持久的、可定制的房間用窗口(pod)排列。窗口是擁有特定功能的小窗口,類似其他環境下所說的窗口組件(widget)。

主持人可以將窗口排列成不同布局,可以隨意保存和裝入布局。多布局功能讓主持人可以為不同的受眾和活動使用持久布局。主持人和演示者可以看到第二個顯示區,而參會者看不到。你可以為虛擬教室上傳課程資料和課程。

除了有多個聊天、筆記、窗口、布局等元素的持久私人房間外,Connect還支持持久的團隊房間。這至少解決了兩個問題:它讓會議能夠繼續下去,哪怕經理外出或請病假,還允許團隊成員隨時參閱和撰寫存儲在團隊房間的共享會議記錄和圖表。主持人還可以創建分組討論房間,并分派參會者。Connect為網絡研討會活動提供了Web注冊。

你可以在云端創建會議記錄、編輯記錄,并且隨時回放記錄。還可以導出采用常見格式的會議記錄,控制所導出記錄的質量。

Connect需要Flash和不用沙盒的插件才能獲得最佳的視頻性能。但其豐富、可擴展的功能讓它成為互聯網會議系統當中的首選。

Cloudera Impala

年度最佳硬件、軟件、開發工具和云服務

將Hive連接到你常用的SQL可視化工具,只有眼睜睜看著它超時暫停。還是求助于Impala吧,這個MPP(大規模并行處理)SQL查詢引擎建立在Hadoop上,看看回答你大數據問題的結果迅速出現。基本上來說,如果你想在Hadoop上搞商業智能,Impala是高性能解決方案中最容易獲取、最容易實現的。

Impala一直是“Cloudera的GitHub的異數”或“Impala平臺的一部分”,但是如今它正將Apache與Hadoop生態系統的其余部分結合起來。雖然Cloudera現在表示Spark是“一個平臺”,但是它在添加Kudu,繼續拓展這個MPP/商業智能 Hadoop領域。Cloudera仍認為,Impala必不可少;我們對此深表同意。

如果你受夠了向專有的MPP提供商支付過高費用、受夠了為與之配套的專有硬件支付高價,或者如果你剛構建了數據湖(data lake),但是再也無法等待Tableau繪圖,那么Impala可能正是你苦苦尋覓的那種解決方案。

Apache Kafka

年度最佳硬件、軟件、開發工具和云服務

如果你仔細觀察一下如今的大多數大數據流應用軟件,會發現Kafka在悄無聲息地扮演至關重要的角色,可以從容不迫地完成任務。Kafka由領英(LinkedIn)開發,用來處理其繁重的消息任務,如今安裝在網飛(Netflix)、優步(Uber)、高盛和思科之類的大公司,每天處理數十億個事件,不費吹灰之力。

Kafka實現了高速率的持續消息吞吐量,同時通過分布式提交日志保持耐久性。高吞吐量來自Kafka智能劃分入站數據流,這樣可以實現并行讀取和寫入。這些劃分的數據流隨后被拷貝到數量可配置的副本,這些副本反過來被寫入到磁盤,防止數據丟失,而且能夠“重放”數據流的歷史。

開發人員不用一個小時,就可以將Kafka數據流的發布或訂閱機制搭建并運行起來。對Kafka來說,這年應該是另一個大好年頭。2015年年底發布的版本0.9增添了Kerberos驗證、配額和Kafka Connect等特性,從而能夠創建ETL流水線,基本上不需要編制自定義代碼。這些新功能應該會幫助Kafka在整個企業界進一步普及開來。

Apache Ambari

年度最佳硬件、軟件、開發工具和云服務

第一次看到Ambari時,它給我留下了深刻印象,就因為我深知Hadoop有多復雜。除了監控和初始配置外,Ambari通常無法修改部署。除了基本的高可用性部署外,它也處理不了任何事情。但假以時日,Ambari已從一項“管用的技術”變成“出色的技術”。

眼下,Ambari主要用于Apache Hadoop或Hortonworks發行版。你還得使用Cloudera Manager來管理Cloudera(也就是Impala)青睞、不是Hortonworks青睞的大數據工具。然而,Ambari不斷支持之前名為“Hadoop”的大數據平臺的更多組件,并深入開發更豐富的工具。

如今,Ambari是一款可插入的監控和管理系統,面向一種復雜、多樣化和不斷增長的平臺,不像大多數類似工具,它確實切實可行。

Python 3.5

年度最佳硬件、軟件、開發工具和云服務

Python是一種歷史悠久、廣受歡迎、功能強大又易于使用的語言,它在2015年迎來了又一次飛躍:Python 3.5問世。協程(coroutine)以及迅速高效地編寫異步代碼的功能出現在了Python中,成為該語言的語法的一個原生部分,而不是事后添加上去、讓許多Python愛好者渴望更多功能。

去年Python還新增了這些特性:類型提示,便于代碼分析和檢查;矩陣乘法運算符,為使用NumPy及其他數學和統計系統的用戶提供了方便。此外,為Python提升性能的項目:PyPy、Pyston和Nuitka都獲得了重大進展。

形勢終于朝著有利于Python 3的方向發展,它成了Pyhton這門語言的首選版本。不僅絕大多數最流行的Python軟件包現在與Python 3兼容,連Fedora之類的Linux發行版也開始捆綁Python 3作為默認的Python解釋器。這種語言的未來一片大好,肯定會大放異彩。

PHP 7

年度最佳硬件、軟件、開發工具和云服務

PHP的歷史變得越來越悠久。這種服務器端腳本語言和現代Web托管名副其實的基礎一直被自己的弊端束縛住了雙腳。為了避免陷入僵局,求助于第三方的技術已變得很有必要,比如非死book的HipHop虛擬機(HHVM)。

PHP 7為這門有著20年歷史的語言注入了新的活力,不僅顯著提升了速度,還降低了運行時對資源的需求。新的執行引擎集成了基于Zend引擎的下一代PHP(PHPNG),因而在性能基準測試中速度提升了2倍。簡而言之,PHP 7將PHP 5.6遠遠甩在身后。

除了速度提升外,PHP 7還在默認情況下對硬件的要求降低了一半,很少存在向后兼容問題。開發人員還獲得了一些功能,包括返回類型聲明和支持更廣泛的標量類型,這有助于縮短編寫更整潔、更安全的代碼所需要的時間。

PHP還沒有引入像HHVM中的即時(JIT)編譯器那樣的編譯器,不過已準備開發。此外,由于為異步編程和多線程Web服務器做好了基礎工作,PHP的未來比以往任何時候都來得更美好。

JetBrains PhpStorm

年度最佳硬件、軟件、開發工具和云服務

說到簡化PHP開發,JetBrains PhpStorm是最主要的工具之一。去年11月發布的PhpStorm 10帶來了新工具,加快了分析和檢查代碼的速度,讓你可以迅速跟蹤堆棧,并深入鉆研錯綜復雜的函數和腳本文件,這些原本會讓服務器端的調試工作陷入停頓。它確實可以為大規模多文件項目大大簡化工作。

PhpStorm 10還引入了面向PHP 7的全部腳手架(scaffolding),包括代碼完成和重構。你會發現,評估向后兼容的新工具對于今后遷移舊的PHP代碼庫必不可少。其他出色的特性(比如活躍變量檢查)有助于簡化調試工作。

一個剛添加的Docker插件為集成開發環境(IDE)帶來了項目中支持Docker和容器管理的功能。新的Web技術也得到了一些追捧:Flow、Angular 2、Node.js檢查和ECMAScript 2015年都得到了支持。要是有誰懷疑PhpStorm是用于現代PHP開發的首選IDE,PhpStorm 10可以打消疑慮。

Rust

年度最佳硬件、軟件、開發工具和云服務

當Mozilla實驗室籌劃開發Rust編程語言時,該計劃聽起來如同癡人說夢:可以直接根據裸機來編程,但借助一種帶來更高級語言的那種便利性和安全性的語言來實現。這是一個艱巨的任務,尤其在另外那么多的編程語言在遇到那些問題后改弦易轍。

有了Rust 1.5,夢想開始成為現實。Rust已經是一個主要項目:Mozilla的“Servo”渲染引擎的核心,該引擎旨在最終取代火狐瀏覽器里面的渲染組件。但是在Mozilla的高墻外面,軟件開發人員已經開始被這門語言所吸引。盡管Rust很復雜,那些一頭扎入的人還是受到了Rust社區的歡迎,這門語言采用一種方便的、常識性的編程方法。好奇者不僅可以試試這門語言,還可以試試這份精選的Rust資源(https://github.com/kud1ing/awesome-rust)。

React

年度最佳硬件、軟件、開發工具和云服務

React是一個開源JavaScript UI庫,幾年前由非死book而來。React自詡是客戶端MVC中的那個V,聲稱擁有一種快速渲染機制,建立在實現的虛擬文檔對象模型(DOM)技術上。這種抽象機制適合于更簡潔、更容易推理的代碼。React不是一種固執己見的前端框架,所以它很容易與你可能在使用的其他庫和框架結合使用。

雖然React可以用原始JavaScript來編寫,還是鼓勵你用JSX來編寫應用程序,這種JavaScript擴展可以將類似HTML的語法處理成JavaScript代碼。你可以使用HTML元素以及自定義元素,所有這一切都在in-line定義,這些元素的邏輯就在這里定義。React團隊開發了一個強大的UI庫,在去年受到極其熱烈的追捧,隨后又在2015年推出了React Native。React Native用原生的iOS和安卓控件實施了React,讓移動開發人員能夠補充原生組件,以便改善應用程序的外觀和性能。

RethinkDB

年度最佳硬件、軟件、開發工具和云服務

與MongoDB或Couchbase一樣,RethinkDB也是一款集群、面向文檔的數據庫,提供了靈活數據庫模式、易于開發和可高度擴展等優點。不像其他那些文檔數據庫,RethinkDB支持“實時”應用程序,能夠將更新后的查詢結果不斷地推送到訂閱變更內容的應用程序。

在這里,“實時”應用程序是指這種應用程序:必須支持大流量的客戶端請求,這些請求改變數據庫的狀態,并且向所有客戶端告知所有那些變更。RethinkDB做了大量的工作,確保數據變更事件迅速在整個集群分發出去。它還在高度控制數據庫一致性和耐久性的同時,提供了這種高速事件處理機制。查詢可能包括表連接、子查詢、地理空間查詢和匯總。

RethinkDB并不為你提供ACID合規性或強力執行數據庫模式的機制。但它的實時推送技術非常適合必須讓客戶端可以查看最新數據庫狀態的底層應用程序。此外,易于掌握的查詢語言(嵌入在許多流行編程語言中)及即開即用的管理和監控GUI,讓人們可以順利地過渡,學習如何讓RethinkDB在此類應用程序中派上用場。

Raspberry Pi Zero

年度最佳硬件、軟件、開發工具和云服務

多年來,Raspberry Pi一直在降低可編程計算機的準入門檻,今年該項目又邁出了一大步。Pi家族又添新丁:Raspberry Pi Zero,價格只要5美元,低得不可思議。Raspberry Pi基金會的目的是,鼓勵孩子們學習如何編寫代碼,幫助學校更容易將計算機科學課納入到課程中。新的低價Pi Zero不僅讓更廣泛的受眾有機會領略編程世界,還為物聯網創新提供了可靠的硬件。

Pi Zero配備單核1GHz ARM11處理器和512MB內存,功能還不如前一代產品Pi 2,這可以理解。外觀尺寸也要小得多。實際上,4只Pi Zero甚至蓋不住一張20美元的鈔票。與之前版本的Pi一樣,你得到的只是板卡,所以如果想要它的話,還得備齊電源線、鍵盤、鼠標、SD卡和外殼。將它插入到任何HDMI源即可獲得視頻,安裝Raspbian OS,就可以開始搗鼓一番了!

紅帽OpenShift

年度最佳硬件、軟件、開發工具和云服務

紅帽的OpenShift已經是我們青睞的開源平臺即服務(PaaS)。畢竟,它支持一大批語言、Web框架、數據庫和應用程序堆棧。它提供了快速的自助式部署和自動擴展。它讓應用程序更新起來如同git push命令一樣容易。

第3版OpenShift已完全經過重寫,使用Docker容器,而不是“cartridge”和“gear”。雖然一些期望的功能(包括gear閑置和自動擴展)已經被推遲到未來版本中推出,但PaaS還是很強大,特別是易于使用和可高度擴展。現在它已將Docker容器作為核心。

可以從oc命令行或者從Web控制臺來控制OpenShift。想創建并部署OpenShift應用程序,通常可以從來自Git軟件庫的Docker鏡像和一些代碼入手,使用源到鏡像(Source-to-Image)服務,將它們合并成一個隨時可以運行的鏡像。然后,設置環境,并暴露服務,為服務創建一條路徑。只要增加所需的副本數量,就可以擴展應用程序;復制控制器明白應用程序需要更多的pod后,就會運行pod。

你只要在自己的軟件庫中安裝一個Web鉤子(hood),那樣每當軟件庫有變化,可以自動更新服務,另外可以使用oc單行命令來編輯路徑,可以輕松回滾到以前的版本。應用程序模板通過在YAML或JSON文件中指定所需的配置來加快部署。

由于安全問題,改用Docker容器并沒有像人們預料的那樣帶來了可以在OpenShift Enterprise 3中使用的許多鏡像。不過一旦OpenShift的未來版本為想要以root方式運行的鏡像實施沙盒,這個問題有望得到解決。對開發人員和運維人員來說,OpenShift兌現了PaaS的承諾。

亞馬遜Aurora

年度最佳硬件、軟件、開發工具和云服務

有著20年歷史的MySQL數據庫是世界上使用最廣泛的開源RDBMS(關系數據庫管理系統)。MySQL在多用戶多線程場景下可以為你提供良好的讀取性能,直到應用程序變得足夠大、挑戰數據庫的極限。然后變得非常棘手:你可以添加副本,對數據庫模式進行分片,或者升級到價格不菲的商業數據庫。

還有個辦法是,求助于亞馬遜Aurora。Aurora是一種經濟實惠、高性能、可高度擴展的插件,可代替MySQL 5.6,對大得MySQL無法滿足其要求的Web應用程序來說是一種誘人的方案,對于不需要甲骨文數據庫或微軟SQL Server特殊功能的應用程序來說,它也有望替代那些數據庫。

亞馬遜聲稱,Aurora提供的吞吐量高達在同一硬件上運行的標準MySQL的五倍,可靠性達到99.99%,這一點我們不懷疑。亞馬遜聲稱,每秒可處理來自四個SysBench客戶端的535000次讀取請求,另外每秒可處理101000次寫入請求。在《InfoWorld》雜志的自家基準測試中,我們觀察到每秒處理493000次讀取請求,略低于亞馬遜聲稱的數值,每秒處理205000次寫入請求,近兩倍于亞馬遜聲稱這項測試取得的數值。

這種性能水平遠遠超出了我迄今為止見過的其他開源SQL數據庫,而且以極低成本就能獲得這種性能,成本遠低于性能相仿的甲骨文數據庫。另外,讀取復制滯后時間很低,崩潰后恢復起來速度也很快。

AWS Lambda

年度最佳硬件、軟件、開發工具和云服務

想象一下:能夠定義一個駐留在云端,可處理指定工作負載的函數,你沒必要為配置服務器、分配內存、擴展實例數量或配置負載均衡機制而操心。有了AWS Lambda,你就可以這么做。

AWS Lambda是一種計算服務,可以運行用Node.js、Java和Python編寫的函數代碼,無需配置或管理服務器,具有實際上無限的可擴展性。你只需要為某段時間內使用的資源(GB)付費。你可以設置Lambda函數,以便異步響應事件,比如對數據的更改;可以直接同步調用,也可以通過API網關來同步調用;還可以用它們來同步響應HTTP(S)請求。

亞馬遜宣稱Lambda功能強大,確實名至實歸:能夠使用自定義邏輯來擴展其他AWS選項,能夠幫助你構建自定義后端服務,完全自動化的管理,內置容錯功能,自動擴展,集成的安全模型,邀請你添加自己的代碼,按使用付費的商業模式,以及靈活的資源模型。

Lambda的一大批功能特性絕非很全面,但是它對許多常見操作而言是一種很出色的方案,也是一種受人歡迎的配置虛擬機或容器之外的一種選擇。

微軟Azure應用程序服務

年度最佳硬件、軟件、開發工具和云服務

Azure移動服務已經給我們留下了深刻的印象,隨后微軟竭力吆喝Azure應用程序服務(Azure App Services),這種托管服務將Azure移動服務、Azure網站和Azure BizTalk服務整合成單一服務,另外還添加了能夠與本地系統或云系統實現集成的新功能。對面向云的開發人員來說,結果就是向前邁出了更大的一步。

Azure應用程序服務包括構建四種類型的應用程序所需的工具和服務:Web應用程序、移動應用程序、API應用程序和邏輯應用程序。Web應用程序服務支持.Net、Node.js、PHP、Python和Java。除了設置成使用多個staging槽實現持續集成外,還可以對它們實現自動擴展和流量管理。

移動應用程序服務有一個用C#/ASP.Net編寫的后端,支持Windows Phone、iOS(Objective-C或C#/Xamarin)和安卓(Java或C#/Xamarin)。移動應用程序可以通過各種各樣的連接器與本地系統和SaaS系統實現集成。

API應用程序服務使用Swagger和REST作為可插入接口,使用JSON作為服務之間的數據格式。邏輯應用程序服務可以將Connector及其他API應用程序直觀地組合到業務流程中。

有了Azure應用程序服務,就更容易在Azure上創建可擴展的Web應用程序和移動應用程序后端,更容易在Azure上組合服務,更容易將Azure應用程序集成與記錄系統集成起來。與此同時,它降低了運行應用程序后端的成本。誰說基于云的后端服務集成肯定很麻煩?

微軟Visual Studio 2015

年度最佳硬件、軟件、開發工具和云服務

Visual Studio一直擁有大批功能,這些功能隨著版本的提高而不斷完善。Visual Studio 2015以令人驚訝的方式延續了這一趨勢。

跨平臺的移動應用程序開發?它支持Xamarin和Cordova,可移植的C ++以及與Unity集成也可圈可點。

跨平臺的服務器?它有.Net Core、ASP.Net和Enitity框架,還有Python和Node.js。

跨平臺的編輯和調試?肯定沒問題。功能異常強大、異常輕巧的Visual Studio Code可在Mac OS X、Linux和Windows上運行。

跨平臺的應用程序生命周期管理?支持Git和GitHub,微軟還在Team Foundation Server中提供了Git支持,以便與Team Foundation Server用于其自己版本控制系統的同樣種類的智能簽入(check-in)規則實現持續集成。

跨平臺的構建?除了使用Visual Studio Build和MSBuild外,Team Foundation Build還可以使用Ant、Gradle、Maven、Android Build、Gulp、Xcode及其他工具。

云部署?對Azure而言,這不在話下。

當然,Visual Studio仍然支持面向Windows的開發,包括面向Windows桌面應用程序和新的Universal Windows Platform應用程序的所有傳統技術。

Salesforce1和Lightning

年度最佳硬件、軟件、開發工具和云服務

技能水平不一的Salesforce開發人員都能找到好的辦法,構建基于其Salesforce站點的移動應用程序。最起碼,你可以從Force.com設置頁面,為Salesforce1移動應用程序配置緊湊布局以及全局動作和針對特定字段的動作。

就高級功能而言,Salesforce Mobile SDK讓你可以從原生和混合應用程序訪問Slaesforce數據,移動設計模板(Mobile Design Template)讓開發人員能夠構建外觀不錯的移動應用程序頁面。除了這些選項外,Salesforce新的Lightning應用程序構建器、組件和設計系統讓你可以直觀地創建面向臺式機、平板電腦和移動設備的現代企業應用程序,輕而易舉。

Salesforce鼓勵開發人員營造“Lightning體驗”,不過它還沒有擯棄任何舊技術,所以現有的Salesforce應用程序可以繼續運行。

如果你已經在貴公司運行Salesforce,明擺著的做法就是使用Lightning或其他某個移動Salesforce選項,將你的數據暴露給用戶,不必增加額外成本。另一方面,如果你沒有Salesforce,按用戶數量定價的模式沒有多大經濟意義。

Alpha Anywhere

年度最佳硬件、軟件、開發工具和云服務

Alpha Anywhere是一種面向數據庫的快速應用程序開發工具,擅長構建可以離線運行的Web和混合移動應用程序。它讓開發人員得以迅速構建優秀的應用程序,有好得出奇的性能和類似原生應用程序的外觀感覺。

Alpha Anywhere對SQL數據庫的支持特別強大,因為如果你希望的話,它讓你可以使用每種數據庫的原生SQL語言,或者使用Alpha的Portable SQL工具,該工具會為當前的數據庫連接分配適當的原生SQL。Alpha對離線移動操作的支持也相當全面。它將開發解決沖突的邏輯這項工作簡化為只要點擊幾下鼠標。

最近,Alpha在混合移動應用程序中添加了移動文件系統訪問,以訪問大量(GB)數據,采用了壓縮技術。這既有利于離線瀏覽緩存的媒體,又有利于制作大量的照片、音頻文件和視頻,即使在你無法連接網絡時。

針對移動端優化的表單(Mobile Optimized Forms)目前處于測試階段,計劃在2016年第一季度發布。Alpha在圍繞FormView打造這項功能,為墨水注釋和音頻采集(帶暫停)之類的操作采用了特殊控件。表單現在就可以使用,可是構建器還沒有達到Alpha一貫的水準。這項功能開發完畢后,構建移動表單應用程序的大部分工作將由Genie來完成,Genie是Alpha對付微軟Wizards的利器。

Swagger

年度最佳硬件、軟件、開發工具和云服務

Swagger是一種免費、開源、與語言無關的接口,面向充分利用REST協議的API,其工具為你提供了交互式文檔、客戶端SDK生成以及發現功能。它是最近幾次試圖對描述充分利用REST的API進行規范的嘗試之一。

其工具讓Swagger尤其值得關注。Swagger用戶界面使用與Swagger兼容的API,自動生成漂亮的說明文檔和實時API沙盒。Swagger代碼生成器項目允許從與Swagger兼容的服務器,自動生成客戶端代碼庫。

Swagger編輯器讓你可以在瀏覽器里面編輯采用YAML格式的Swagger API規范,并且實時預覽說明文檔。然后可以用標準的Swagger工具,生成并使用有效的Swagger JSON描述。

Swagger JS庫是讓JavaScript客戶端能夠與支持Swagger的服務器進行通信的一種快速方法。還有支持Clojure、Go、Java、.Net、Node.js、Perl、PHP、Python、Ruby和Scala的額外客戶端。

收費的Amazon API Gateway是一項用于API大規模管理的托管服務。它可以使用一種開源的Swagger導入工具,導入Swagger規范。

雖然API管理領域開始變得擁擠起來,Swagger卻是我們的首選,因為其實用的工具、出色的用戶界面生成、廣泛的語言支持以及得到廣泛采用。引入自家REST API的典型初創公司不必為如何將API記入文檔、為開發人員提供測試平臺而煩心:它只要生成Swagger用戶界面。

云頭條編譯|未經授權謝絕轉載

技術群歡迎加入,群主微信:aclood

年度最佳硬件、軟件、開發工具和云服務

年度最佳硬件、軟件、開發工具和云服務

來自: http://mp.weixin.qq.com/s?__biz=MjM5MzM3NjM4MA==&mid=404799520&idx=1&sn=e37ced1feb8433b8acdfd3523461375c&scene=1&srcid=0122GjbeVoDLcJmPxggzBLE9#wechat_redirect

 本文由用戶 jopen 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!