これは未来です

こんにちは

クラりドテクノロゞヌに関するナヌモラスな投皿の翻蚳 It's The Futureです。 あらゆる皮類の修正やアドバむスを歓迎したす。

画像



おい こんにちは 私の䞊叞はあなたに話すように蚀った。 圌はあなたがりェブアプリケヌションに぀いお倚くを知っおいるず蚀った。

-はい、今では事実です。分散システムに関心がありたす。 ContainerCampずGlueConで戻っおきたばかりで、来週はDockerConにも行きたす。 ビゞネスがどのように動いおいるかに本圓に感動したした-すべおがはるかにシンプルで手頃な䟡栌になりたす これが未来です

うわヌ...わかりたした、私は今、シンプルなWebアプリケヌションを開発しおいたす-通垞のCRUD on Rails、Herokuにデプロむしたす。 教えおください、Herokuはただ関連しおいたすか

-あなたは䜕ですか いや これはすでに叀い孊校です。 Herokuは死䜓です。 誰ももう䜿甚しおいたせん。 今、あなたはDockerを知る必芁がありたす。 これが未来です

ああ、そうです。 倧䞈倫。 これは䜕

-Docker-コンテナ化の新しい方法。 LXCのようなもので、コンテナパッキング圢匏のみが含たれおいたす。たた、分散プラットフォヌムず分散システムの構築を非垞に簡単にする倚数のナヌティリティです。

保存..-䜕のため LXEずは䜕ですか

-LXC。 ステロむドのchrootのようなものです。

cher-ootずは䜕ですか

-なるほど...芋える... Docker ...コンテナ化...これは未来だ...仮想化のようなもので、より高速で安䟡なものだ。

Vagrantのように。

-いいえ、Vagrantは死䜓です。 コンテナ内で䜿甚するための準備がすべお敎いたした。未来です

それでは、仮想化に぀いお䜕も知る必芁はありたせんか

-さお...いいえ、仮想化を理解する必芁がありたす。 珟時点では、コンテナは完党なアプリケヌションデヌタ保護を提䟛しおいたせん。 そのため、すべおをマルチテナント環境で実行したい堎合は、ナヌザヌがサンドボックスから出ないようにする必芁がありたす。

だから、䜕かが迷子になった。 少し巻き戻したしょう。 そのため、コンテナず呌ばれる仮想化がありたす。 これをHerokuで䜿甚できたすか

「たあ、HerokuはDockerをサポヌトしおいたすが、私があなたに蚀ったこずを思い出しおください。」 Herokuは死䜓です。 CoreOSでコンテナを実行する必芁がありたす。

これは䜕ですか

-これは、Dockerで䜿甚できる最もクヌルなホストOSです。 くそヌ、Dockerも必芁ありたせん rktを䜿甚できたす

ロケット

-いいえ、rkt。

そう、ロケット。

-いいえ、今ではrktず呌ばれおいたす。 完党に異なるもの。 これは、Dockerの競合ずしお提䟛されおいる代替のコンテナ化圢匏です。

あひるはかっこいい

-もちろんクヌルです。 構成可胜性は未来です

このRKTを䜿甚しおいたすか

「わかりたせん。」 誰もこれを䜿甚しおいるずは思わない。

えヌず...それでCoreOSに぀いお䜕か蚀ったの

-はい...ですから、これはDockerで䜿甚するホストです。

ホストずは

-CoreOSは、コンテナで最適に動䜜するように蚭蚈されおいたす。 圌女はコンテナを操䜜するように構成されおいたす。

コンテナを䜿甚しお...

「はい、コンテナに䜕かありたす。」 したがっお、「Amazon EC2のようなむンスタンスを発生させる」ず入力し、そこでCoreOSホストを発生させおから、Dockerサヌビスを開始し、Dockerむメヌゞをそこにデプロむできたす。

このすべおのどの郚分がコンテナですか

-このすべお。 芋お、アプリケヌションを取埗しお、Dockerfileを䜜成し、ロヌカルむメヌゞを䜜成しおから、Dockerホストをプッシュしたす。

ああ、ヘロクのように

-いいえ... Herokuではありたせん。 Herokuは死䜓だず蚀いたした。 Dockerを䜿甚しお独自のクラりドを起動したす。

O_o

-はい、それは本圓に簡単です。 #gifeeに぀いお読んでください。

Gify

-GIFEEは、その他すべおの人にずっおのGoogleむンフラストラクチャです。 コンテナを䜿甚するこれらのナヌティリティずテクノロゞヌスタックをすべお䜿甚するず、Googleず同じようにすべおのむンフラストラクチャを䜿甚できたす。

なぜGoogleサヌビスを䜿甚しないのですか

-そしお、半幎ですべおが完党に倉わるずしたら

さお、誰もがこれをすべおホストしおいたせんか これをすべおホストしたくありたせん。

「たあ、AmazonECS、しかしあなたはある皮のXMLでたらめを曞かなければならない。」

OpenStackに぀いお䜕が蚀えたすか

-フ...

聞いお、私は䜕も自分でホストしおサヌビスしたくありたせん。

-いいえ、本圓に簡単です。 Kubernetesクラスタヌをセットアップしただけです。

クラスタヌが必芁ですか

-Kubernetesクラスタヌ。 圌はすべおのサヌビスの展開を管理したす。

サヌビスは1぀しかありたせん。

-䜕を蚀っおるの 芋お、Webアプリケヌションを持っおいたすよね したがっお、8〜12個のサヌビスが必芁です。

なに いや 1぀のアプリケヌションがありたす。 サヌビス、pohervis-気にしないでください たった1぀のク゜アプリ

-いいえ、マむクロサヌビスに泚目しおください。 これは未来です。 これが私たち党員の今のやり方です。 超倧型アプリケヌションを䜿甚しお、12のサヌビスに分割したす。 各タスクに1぀。

たあ、これは倚すぎる...

「これは、構成が信頌できるこずを確認する唯䞀の方法です。」 認蚌サヌビスがクラッシュした堎合...

認蚌サヌビス はい、e-May、以前に䜕床も䜿甚したのず同じプラグむンを䜿甚するだけでした

-スヌパヌ。 それを䜿甚したす。 別のプロゞェクトに入れおください。 圌のRestAPIの䞊に投げたす。 その埌、他のサヌビスはこのAPIを䜿甚し、障害を非垞に優雅に凊理したす。 コンテナに入れおCI / CDを䜜成しおください

あなたのやり方で。 今、私は数十の管理されおいないサヌビスを手にしおいたすが、次は䜕ですか

-はい、それで、私はKubernetesに぀いお話したした。 これにより、すべおのサヌビスのオヌケストレヌションを簡単に行うこずができたす。

オヌケストラ

-はい たあ、あなたはあなたのこれらのサヌビスを持っおいる、そしおそれらはフォヌルトトレラントでなければならないので、あなたはあなたのサヌビスのそれぞれに察しお䞀床にいく぀かのコピヌを実行する必芁がある たた、Kubernetesは、これらのコピヌが十分にあり、フリヌト内のホスト間で配垃され、垞に利甚可胜であるこずを保蚌したす。

぀たり、フリヌトが必芁ですか

-はい、フォヌルトトレランス甚。 しかし、Kubernetesはあなたのためにすべおを行いたす。 さらに、KubernetesはGoogleによっお䜜成されたため、たたetcdに基づいお機胜するため、Kubernetesが正垞に機胜するこずを確信しおいたす。

etcdずは䜕ですか

-このこずはRAFTに基づいお行われたす。

OK、RAFTずは䜕ですか

-パク゜スのようなものです。

䞻よ、このうさぎの穎はどのくらい深くなるのでしょうか、今どこに行きたすか ただ1぀のク゜Webアプリケヌションを実行したいだけです。 お母さん!!! さお、深呌吞をしお、息を吐きたす... OK、パク゜スずは䜕ですか

-Paxosは、70幎代からの分散プロトコルの叀いファミリであり、誰も理解も䜿甚もしおいたせん。

いいね あなたがそれに぀いお私に蚀っおくれおずおもうれしいです では、いかだずは䜕ですか

-誰もPaxosを理解しおいないので...ええず...ディ゚ゎを陀いお...

ああ 圌を知っおいたすか

-いいえ、もちろん、CoreOSで動䜜したす。 いずれにせよ、ディ゚ゎは博士号のためにラフトを思い぀いた。 Paxosは耇雑すぎたした。 くそ賢い人。 そしお、圌はetcdを実装ずしお曞いお、それからAphyrはそれは本圓にたわごずではなく、クヌルだず蚀った

アフィヌルずは誰ですか

-Aphyr-たあ、これは「Call Me Maybe」を曞いた人です、たあ...圌を知っおいたすか 「分散システムずBDSM男」

あなたはただBDSMず蚀いたしたか

-はい、BDSM。 これはサンフランシスコです。 ここの誰もが、分散システムずBDSMに情熱を泚いでいたす。

そしお圌はそのケむティ・ペリヌの歌を曞いたのですか

-いいえ、圌は各デヌタベヌスがCAPで倱敗するずいう事実に関する䞀連の蚘事を曞きたした。

CAPずは䜕ですか

-CAPに関する定理ビヌル醞造の定理ずしおも知られおいたす。 圌女は、3぀のポむントのうち、䞀貫性、アクセシビリティ、分割に察する抵抗の2぀しかポむントを獲埗できないず蚀いたす。

そしお、すべおのデヌタベヌスがこのCAPをフラッディングしたすか これは䞀䜓䜕を意味するのでしょうか

「぀たり、これはすべお最悪です。」 MongoDBに䌌おいたす。

MongoDBは氎平方向に拡匵可胜だず思いたした。

-あなた以倖は誰もいたせん。

わかった では、etcdはどうなっおいたすか

-はい、そう、etcdは倀の分散ストレヌゞです。

Redisず同じです。

「いいえ、Redisのようなものではありたせん。」 etcdは分散システムです。 ネットワヌクが䞀時的に倱敗するず、Redisは情報の䞀郚を倱いたす。

たあ、これは分散バリュヌストアです。 なぜこれがそんなに䟿利なのですか

-Kubernetesは、etcdをメッセヌゞングバスずしお䜿甚しお、暙準の5ノヌドクラスタヌを構成したす。 非垞に安定したオヌケストラシステムを提䟛するために、独自のサヌビスのペアず組み合わされたす。

5ノット 1぀のアプリケヌションがありたす。 このために䜕台の車を調達する必芁がありたすか

-さお、12個のサヌビスを䜜成したす。もちろん、それぞれに2、3個のバランサヌ、etcd、デヌタベヌス、Kubernetesクラスタヌの远加コピヌが必芁です。 そのため、玄50個の同時䜜業コンテナヌになりたす。

ChZH

-はい、最埌に、質問はありたせん コンテナは非垞に効率的であるため、8台のマシン間ですべおを簡単に配垃できたす。 それは玠晎らしいこずではありたせんか

それでも、これはあなたの印象に過ぎたせん。 そしお、これらすべおを取り入れお、アプリケヌションをデプロむするこずはできたすか

-もちろん 確かに、DockerおよびKubernetesの堎合、デヌタストレヌゞの量は未解決の問題であり、ネットワヌクの負荷は増加したすが、これらの問題はすぐに解決されたす

うヌん、倧䞈倫。 さお、私は今すべおを理解しおいるず思いたす。

-スヌパヌ

詳现な話をありがずう。

-はい、問題ありたせん。

私たちがお互いを理解しおいるこずを確認するために、私たちが話したこずすべおを芁玄しおおきたしょう。

-もちろん

したがっお、単玔なCRUDアプリケヌションを12個のマむクロサヌビスに分割する必芁がありたす。各マむクロサヌビスは独自のAPIでラップし、これらのAPIによっお盞互に呌び出す必芁がありたすが、同時に各゚ラヌを凊理し、これをすべおコンテナヌに入れたすDocker、CoreOSベヌスのDockerホストである8台のマシンのフリヌトを起動し、小さなetcdベヌスのKubernetesクラスタヌを䜿甚しお「オヌケストレヌション」し、ネットワヌク負荷ず情報ストレヌゞに関する「未解決の質問のカップル」を解決し、耇数のCI / CDを構成したすバランサヌ付きの各マむクロサヌビス 艊隊でvschikami。 そうですか

-はい シックじゃない

... Herokuにデプロむしたす。

Source: https://habr.com/ru/post/J276539/


All Articles