<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>開発環境 &#8211; Voice 動画配信の今を伝えるエンジニア情報サイト</title>
	<atom:link href="https://voice.stream.co.jp/tag/%e9%96%8b%e7%99%ba%e7%92%b0%e5%a2%83/feed/" rel="self" type="application/rss+xml" />
	<link>https://voice.stream.co.jp</link>
	<description>株式会社Ｊストリームが運営するエンジニア情報サイト。幅広い技術とエンジニア視点が必要となる動画配信開発の現場から、エンジニア執筆による専門領域に関する技術解説、エンジニア組織の特徴・魅力、関連イベントや講演登壇、ニュースなどをお届けします。</description>
	<lastBuildDate>Thu, 04 Jul 2024 00:31:15 +0000</lastBuildDate>
	<language>ja</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=7.0</generator>

<image>
	<url>https://voice.stream.co.jp/wp-content/uploads/2021/04/favicon.png</url>
	<title>開発環境 &#8211; Voice 動画配信の今を伝えるエンジニア情報サイト</title>
	<link>https://voice.stream.co.jp</link>
	<width>32</width>
	<height>32</height>
</image> 
	<item>
		<title>ユーザーの声をダイレクトに聞き、自社プロダクトを成長させる</title>
		<link>https://voice.stream.co.jp/technology/20210422/</link>
					<comments>https://voice.stream.co.jp/technology/20210422/#respond</comments>
		
		<dc:creator><![CDATA[jst_recruit]]></dc:creator>
		<pubDate>Thu, 22 Apr 2021 06:12:38 +0000</pubDate>
				<category><![CDATA[Technology]]></category>
		<category><![CDATA[J-Stream Equipmedia]]></category>
		<category><![CDATA[フロントエンドエンジニア]]></category>
		<category><![CDATA[業務紹介]]></category>
		<category><![CDATA[組織の魅力]]></category>
		<category><![CDATA[開発環境]]></category>
		<guid isPermaLink="false">https://voice.stream.co.jp/?p=8229</guid>

					<description><![CDATA[J-Stream Equipmedia（ジェイストリーム・イクイップメディア。以下、EQ）は、OVP(Online Video Platform)と呼ばれるSaaS型サービスで、2012年のサービス提供開始から今年で10 [&#8230;]]]></description>
										<content:encoded><![CDATA[		<div data-elementor-type="wp-post" data-elementor-id="8229" class="elementor elementor-8229">
						<section class="elementor-section elementor-top-section elementor-element elementor-element-d248d4e elementor-section-boxed elementor-section-height-default elementor-section-height-default" data-id="d248d4e" data-element_type="section" data-e-type="section">
						<div class="elementor-container elementor-column-gap-default">
					<div class="elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-75b48e9" data-id="75b48e9" data-element_type="column" data-e-type="column">
			<div class="elementor-widget-wrap elementor-element-populated">
						<div class="elementor-element elementor-element-d12712e elementor-widget elementor-widget-spacer" data-id="d12712e" data-element_type="widget" data-e-type="widget" data-widget_type="spacer.default">
				<div class="elementor-widget-container">
							<div class="elementor-spacer">
			<div class="elementor-spacer-inner"></div>
		</div>
						</div>
				</div>
					</div>
		</div>
					</div>
		</section>
				<section class="elementor-section elementor-top-section elementor-element elementor-element-2676507 elementor-section-boxed elementor-section-height-default elementor-section-height-default" data-id="2676507" data-element_type="section" data-e-type="section">
						<div class="elementor-container elementor-column-gap-default">
					<div class="elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-7d4ac83" data-id="7d4ac83" data-element_type="column" data-e-type="column">
			<div class="elementor-widget-wrap elementor-element-populated">
						<div class="elementor-element elementor-element-e809cd6 elementor-widget elementor-widget-text-editor" data-id="e809cd6" data-element_type="widget" data-e-type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
									<h5><span style="color: #000000;">J-Stream Equipmedia（ジェイストリーム・イクイップメディア。以下、EQ）は、OVP(Online Video Platform)と呼ばれるSaaS型サービスで、2012年のサービス提供開始から今年で10年目を迎える。動画領域では4-5年で主要技術が一変することも珍しくないなか、サービス開発の裏側では日々技術の変革が起きている。今回は、2人のフロントエンドエンジニアにEQの新機能追加や開発への想いについて聞いた。</span></h5>								</div>
				</div>
					</div>
		</div>
					</div>
		</section>
				<section class="elementor-section elementor-top-section elementor-element elementor-element-1d25572 elementor-section-boxed elementor-section-height-default elementor-section-height-default" data-id="1d25572" data-element_type="section" data-e-type="section">
						<div class="elementor-container elementor-column-gap-default">
					<div class="elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-04cec4d" data-id="04cec4d" data-element_type="column" data-e-type="column">
			<div class="elementor-widget-wrap elementor-element-populated">
						<div class="elementor-element elementor-element-e5e0b9f elementor-widget elementor-widget-spacer" data-id="e5e0b9f" data-element_type="widget" data-e-type="widget" data-widget_type="spacer.default">
				<div class="elementor-widget-container">
							<div class="elementor-spacer">
			<div class="elementor-spacer-inner"></div>
		</div>
						</div>
				</div>
					</div>
		</div>
					</div>
		</section>
				<section class="elementor-section elementor-top-section elementor-element elementor-element-8983fe7 elementor-section-boxed elementor-section-height-default elementor-section-height-default" data-id="8983fe7" data-element_type="section" data-e-type="section">
						<div class="elementor-container elementor-column-gap-default">
					<div class="elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-89254b3" data-id="89254b3" data-element_type="column" data-e-type="column">
			<div class="elementor-widget-wrap elementor-element-populated">
						<div class="elementor-element elementor-element-9d99253 elementor-widget elementor-widget-text-editor" data-id="9d99253" data-element_type="widget" data-e-type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
									<h2><span style="color: #000000;"><b>時代とともに変化し続けきた動画配信。コロナ環境下では、1.8か月での新機能リリースも</b></span></h2>								</div>
				</div>
					</div>
		</div>
					</div>
		</section>
				<section class="elementor-section elementor-top-section elementor-element elementor-element-fdfdcff elementor-section-boxed elementor-section-height-default elementor-section-height-default" data-id="fdfdcff" data-element_type="section" data-e-type="section">
						<div class="elementor-container elementor-column-gap-default">
					<div class="elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-5dd5abe" data-id="5dd5abe" data-element_type="column" data-e-type="column">
			<div class="elementor-widget-wrap elementor-element-populated">
						<div class="elementor-element elementor-element-3cd5880 elementor-widget elementor-widget-text-editor" data-id="3cd5880" data-element_type="widget" data-e-type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
									<b><span style="color: #000000;">――皆さんが手掛けているEQは、サービス提供開始から10年目ということで、過去、多くの機能追加などもありました。まずは「EQとは何か？」というところから始めたいのですが、今回は、エンジニア情報サイトという特性上、エンジニア切り口で、EQ の機能や特徴紹介をお願いできますか。</span></b>								</div>
				</div>
					</div>
		</div>
					</div>
		</section>
				<section class="elementor-section elementor-top-section elementor-element elementor-element-1e0f9bd elementor-section-boxed elementor-section-height-default elementor-section-height-default" data-id="1e0f9bd" data-element_type="section" data-e-type="section">
						<div class="elementor-container elementor-column-gap-default">
					<div class="elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-505ad90" data-id="505ad90" data-element_type="column" data-e-type="column">
			<div class="elementor-widget-wrap elementor-element-populated">
						<div class="elementor-element elementor-element-4e5390f elementor-widget elementor-widget-spacer" data-id="4e5390f" data-element_type="widget" data-e-type="widget" data-widget_type="spacer.default">
				<div class="elementor-widget-container">
							<div class="elementor-spacer">
			<div class="elementor-spacer-inner"></div>
		</div>
						</div>
				</div>
					</div>
		</div>
					</div>
		</section>
				<section class="elementor-section elementor-top-section elementor-element elementor-element-94dac84 elementor-section-boxed elementor-section-height-default elementor-section-height-default" data-id="94dac84" data-element_type="section" data-e-type="section">
						<div class="elementor-container elementor-column-gap-default">
					<div class="elementor-column elementor-col-50 elementor-top-column elementor-element elementor-element-7b59d8b" data-id="7b59d8b" data-element_type="column" data-e-type="column">
			<div class="elementor-widget-wrap elementor-element-populated">
						<div class="elementor-element elementor-element-094dade elementor-widget elementor-widget-image" data-id="094dade" data-element_type="widget" data-e-type="widget" data-widget_type="image.default">
				<div class="elementor-widget-container">
												<figure class="wp-caption">
										<img decoding="async" src="https://voice.stream.co.jp/wp-content/uploads/elementor/thumbs/図10-pm2inj7bayml2w0nj6jwxibvd225h652kndylxwhsw.jpg" title="" alt="" loading="lazy" />											<figcaption class="widget-image-caption wp-caption-text">K.N.</figcaption>
										</figure>
									</div>
				</div>
					</div>
		</div>
				<div class="elementor-column elementor-col-50 elementor-top-column elementor-element elementor-element-a0bb609" data-id="a0bb609" data-element_type="column" data-e-type="column">
			<div class="elementor-widget-wrap elementor-element-populated">
						<div class="elementor-element elementor-element-80a0ab4 elementor-widget elementor-widget-text-editor" data-id="80a0ab4" data-element_type="widget" data-e-type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
									<p>EQは2012年からサービス提供を開始した自社開発のSaaS型OVPプロダクトです。管理画面上から動画ファイルをアップロードして配信できる形式に変換する「トランスコード」部分と、それをWebブラウザやアプリなどで視聴する「プレイヤー」部分の、大きく二つの機能から成り立っています。</p><p><br />この大きな二つの機能の他、ライブ配信を行うEQ Liveや、視聴分析を行うEQ VA（Video Analytics）など複数のサービスで成り立っている、動画配信に関する機能を網羅した総合的なプラットフォームです。<br />開発に際しては、様々なデバイスへ対応する為、デバイスの仕様や知識はもちろん、複数のコーデックや配信方式などを理解する必要があります。また、ユーザー企業のご担当者が、動画に詳しくなくても迷わず理解できるよう、設定方法や見え方などのUI/UXへの知識やスキルも必要です。</p><p><br />技術的な面白さという点では、エンコードに関してはスピードや高画質化、プレイヤーに関しては字幕や広告挿入といったことがあげられます。同時に開発の根幹としては、ユーザー企業の声を反映し改善していく「プロダクトの成長」という部分に携わります。キャリアパスとしてはプロジェクトマネージャーやディレクター、プロデューサーなどを目指す方にも最適な部署であると言えますね。</p><div> </div>								</div>
				</div>
					</div>
		</div>
					</div>
		</section>
				<section class="elementor-section elementor-top-section elementor-element elementor-element-2ae642d elementor-section-boxed elementor-section-height-default elementor-section-height-default" data-id="2ae642d" data-element_type="section" data-e-type="section">
						<div class="elementor-container elementor-column-gap-default">
					<div class="elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-7b99983" data-id="7b99983" data-element_type="column" data-e-type="column">
			<div class="elementor-widget-wrap elementor-element-populated">
						<div class="elementor-element elementor-element-acf30b4 elementor-widget elementor-widget-spacer" data-id="acf30b4" data-element_type="widget" data-e-type="widget" data-widget_type="spacer.default">
				<div class="elementor-widget-container">
							<div class="elementor-spacer">
			<div class="elementor-spacer-inner"></div>
		</div>
						</div>
				</div>
					</div>
		</div>
					</div>
		</section>
				<section class="elementor-section elementor-top-section elementor-element elementor-element-9f9acc3 elementor-section-boxed elementor-section-height-default elementor-section-height-default" data-id="9f9acc3" data-element_type="section" data-e-type="section">
						<div class="elementor-container elementor-column-gap-default">
					<div class="elementor-column elementor-col-50 elementor-top-column elementor-element elementor-element-2af5ac1" data-id="2af5ac1" data-element_type="column" data-e-type="column">
			<div class="elementor-widget-wrap elementor-element-populated">
						<div class="elementor-element elementor-element-002f943 elementor-widget elementor-widget-image" data-id="002f943" data-element_type="widget" data-e-type="widget" data-widget_type="image.default">
				<div class="elementor-widget-container">
												<figure class="wp-caption">
										<img decoding="async" src="https://ji-work.com/js_voice/wp-content/uploads/2021/04/KI.jpg" title="" alt="" loading="lazy" />											<figcaption class="widget-image-caption wp-caption-text">K.I.</figcaption>
										</figure>
									</div>
				</div>
					</div>
		</div>
				<div class="elementor-column elementor-col-50 elementor-top-column elementor-element elementor-element-ca273ef" data-id="ca273ef" data-element_type="column" data-e-type="column">
			<div class="elementor-widget-wrap elementor-element-populated">
						<div class="elementor-element elementor-element-0b0a8c7 elementor-widget elementor-widget-text-editor" data-id="0b0a8c7" data-element_type="widget" data-e-type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
									<p>今回の2人は主にフロントエンド部分の開発を担当していますが、時代の変化に応じて日々サービスも変化させています。</p>
<p> </p>
<p>コロナ禍への対応としては、企業や団体において動画活用が急速に広がりました。ご契約企業からも、より簡単なライブ配信機能に関する要望が多く寄せられました。そのような中、昨年5月には、後述します社内の共通開発基盤を手がける「J-Stream Cloudチーム」と連動して、開発期間1.8か月での疑似ライブ機能の新規リリースも行いました。</p>								</div>
				</div>
					</div>
		</div>
					</div>
		</section>
				<section class="elementor-section elementor-top-section elementor-element elementor-element-4721211 elementor-section-boxed elementor-section-height-default elementor-section-height-default" data-id="4721211" data-element_type="section" data-e-type="section">
						<div class="elementor-container elementor-column-gap-default">
					<div class="elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-6f01250" data-id="6f01250" data-element_type="column" data-e-type="column">
			<div class="elementor-widget-wrap elementor-element-populated">
						<div class="elementor-element elementor-element-1550290 elementor-widget elementor-widget-spacer" data-id="1550290" data-element_type="widget" data-e-type="widget" data-widget_type="spacer.default">
				<div class="elementor-widget-container">
							<div class="elementor-spacer">
			<div class="elementor-spacer-inner"></div>
		</div>
						</div>
				</div>
					</div>
		</div>
					</div>
		</section>
				<section class="elementor-section elementor-top-section elementor-element elementor-element-9ae0833 elementor-section-boxed elementor-section-height-default elementor-section-height-default" data-id="9ae0833" data-element_type="section" data-e-type="section">
						<div class="elementor-container elementor-column-gap-default">
					<div class="elementor-column elementor-col-50 elementor-top-column elementor-element elementor-element-bcedf24" data-id="bcedf24" data-element_type="column" data-e-type="column">
			<div class="elementor-widget-wrap elementor-element-populated">
						<div class="elementor-element elementor-element-9e10fbb elementor-widget elementor-widget-image" data-id="9e10fbb" data-element_type="widget" data-e-type="widget" data-widget_type="image.default">
				<div class="elementor-widget-container">
												<figure class="wp-caption">
										<img decoding="async" src="https://voice.stream.co.jp/wp-content/uploads/elementor/thumbs/図10-pm2inj7bayml2w0nj6jwxibvd225h652kndylxwhsw.jpg" title="" alt="" loading="lazy" />											<figcaption class="widget-image-caption wp-caption-text">K.N.</figcaption>
										</figure>
									</div>
				</div>
					</div>
		</div>
				<div class="elementor-column elementor-col-50 elementor-top-column elementor-element elementor-element-2379105" data-id="2379105" data-element_type="column" data-e-type="column">
			<div class="elementor-widget-wrap elementor-element-populated">
						<div class="elementor-element elementor-element-6d7941f elementor-widget elementor-widget-text-editor" data-id="6d7941f" data-element_type="widget" data-e-type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
									<p>疑似ライブは文字通り「疑似的なライブ」を行う為の機能です。オンデマンドファイルを時間設定する事で、時間になるとライブ形式で収録済みの動画が配信されるというものです。</p><p><br />コロナ環境下においては、感染症拡大防止の点から、多くの企業が働き方を変える中で、コミュニケーション不足の課題が急増しました。その中で、ライブ配信の持つ速報性や臨場感が注目されたのですが、技術面の不安から導入に二の足を踏むケースも多かったのです。</p><p><br />というのも、通常、ライブ配信とは、その性質上コンテンツの制作と配信を同時に行うものです。制作だけでも生放送となるとさまざまな段取りがあり、多くの手間を要します。映像や音声のスイッチングやPAなどを考えると配信の部分まで気が回らなく、気がづいたら配信が止まっていた、といったことも一般的にはよくある話です。</p><p><br />しかし、ビジネスでの活用ということを考えると、「うまく配信できませんでした」では済みません。冗長化も含め幅広く考えていくと、ライブ配信は、実は簡単な事ではありません。</p>								</div>
				</div>
					</div>
		</div>
					</div>
		</section>
				<section class="elementor-section elementor-top-section elementor-element elementor-element-b38629f elementor-section-boxed elementor-section-height-default elementor-section-height-default" data-id="b38629f" data-element_type="section" data-e-type="section">
						<div class="elementor-container elementor-column-gap-default">
					<div class="elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-2539590" data-id="2539590" data-element_type="column" data-e-type="column">
			<div class="elementor-widget-wrap elementor-element-populated">
						<div class="elementor-element elementor-element-906ee80 elementor-widget elementor-widget-spacer" data-id="906ee80" data-element_type="widget" data-e-type="widget" data-widget_type="spacer.default">
				<div class="elementor-widget-container">
							<div class="elementor-spacer">
			<div class="elementor-spacer-inner"></div>
		</div>
						</div>
				</div>
					</div>
		</div>
					</div>
		</section>
				<section class="elementor-section elementor-top-section elementor-element elementor-element-68f589d elementor-section-boxed elementor-section-height-default elementor-section-height-default" data-id="68f589d" data-element_type="section" data-e-type="section">
						<div class="elementor-container elementor-column-gap-default">
					<div class="elementor-column elementor-col-50 elementor-top-column elementor-element elementor-element-bfacc48" data-id="bfacc48" data-element_type="column" data-e-type="column">
			<div class="elementor-widget-wrap elementor-element-populated">
						<div class="elementor-element elementor-element-adcbb45 elementor-widget elementor-widget-image" data-id="adcbb45" data-element_type="widget" data-e-type="widget" data-widget_type="image.default">
				<div class="elementor-widget-container">
												<figure class="wp-caption">
										<img decoding="async" src="https://ji-work.com/js_voice/wp-content/uploads/2021/04/KI.jpg" title="" alt="" loading="lazy" />											<figcaption class="widget-image-caption wp-caption-text">K.I.</figcaption>
										</figure>
									</div>
				</div>
					</div>
		</div>
				<div class="elementor-column elementor-col-50 elementor-top-column elementor-element elementor-element-3cd85fd" data-id="3cd85fd" data-element_type="column" data-e-type="column">
			<div class="elementor-widget-wrap elementor-element-populated">
						<div class="elementor-element elementor-element-4bd3732 elementor-widget elementor-widget-text-editor" data-id="4bd3732" data-element_type="widget" data-e-type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
									<p>K.N.さんは新卒で入社し、ライブエンジニアとして現場対応を行っていた経験もあるので、そのあたりの感覚が鋭いですよね。プロダクトの開発に異動してからも、現場担当だった経験に基づいて具体的で実践的な企画をたくさん考えてくれています。</p>								</div>
				</div>
					</div>
		</div>
					</div>
		</section>
				<section class="elementor-section elementor-top-section elementor-element elementor-element-b9a0fdf elementor-section-boxed elementor-section-height-default elementor-section-height-default" data-id="b9a0fdf" data-element_type="section" data-e-type="section">
						<div class="elementor-container elementor-column-gap-default">
					<div class="elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-17cc2a7" data-id="17cc2a7" data-element_type="column" data-e-type="column">
			<div class="elementor-widget-wrap elementor-element-populated">
						<div class="elementor-element elementor-element-7d22296 elementor-widget elementor-widget-spacer" data-id="7d22296" data-element_type="widget" data-e-type="widget" data-widget_type="spacer.default">
				<div class="elementor-widget-container">
							<div class="elementor-spacer">
			<div class="elementor-spacer-inner"></div>
		</div>
						</div>
				</div>
					</div>
		</div>
					</div>
		</section>
				<section class="elementor-section elementor-top-section elementor-element elementor-element-c97a5b3 elementor-section-boxed elementor-section-height-default elementor-section-height-default" data-id="c97a5b3" data-element_type="section" data-e-type="section">
						<div class="elementor-container elementor-column-gap-default">
					<div class="elementor-column elementor-col-50 elementor-top-column elementor-element elementor-element-ce5f300" data-id="ce5f300" data-element_type="column" data-e-type="column">
			<div class="elementor-widget-wrap elementor-element-populated">
						<div class="elementor-element elementor-element-d79c3fa elementor-widget elementor-widget-image" data-id="d79c3fa" data-element_type="widget" data-e-type="widget" data-widget_type="image.default">
				<div class="elementor-widget-container">
												<figure class="wp-caption">
										<img decoding="async" src="https://voice.stream.co.jp/wp-content/uploads/elementor/thumbs/図10-pm2inj7bayml2w0nj6jwxibvd225h652kndylxwhsw.jpg" title="" alt="" loading="lazy" />											<figcaption class="widget-image-caption wp-caption-text">K.N.</figcaption>
										</figure>
									</div>
				</div>
					</div>
		</div>
				<div class="elementor-column elementor-col-50 elementor-top-column elementor-element elementor-element-e76d73f" data-id="e76d73f" data-element_type="column" data-e-type="column">
			<div class="elementor-widget-wrap elementor-element-populated">
						<div class="elementor-element elementor-element-7625da8 elementor-widget elementor-widget-text-editor" data-id="7625da8" data-element_type="widget" data-e-type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
									<p>自分が以前所属していたライブの部署は、「プロフェッショナルライブ」というサービスで、現場の制作から配信までをライブエンジニアが請け負う高難易度のミッションでした。一方、EQでのライブのコンセプトは「動画が初めての企業にとっても、手軽に簡単に利用できる」という逆のものです。このコロナ禍において、ライブ配信も「手軽に簡単に活用できる」ように、EQへ実装させる事は極めて重要かつ緊急性の高いミッションでした。</p>
<p> </p>
<p>疑似ライブ機能自体は、要件定義から1.8か月程、実装自体は1か月ぐらいで実現しました。当時の開発体制は、Ｊストリームもテレワークを導入していたため、全員がリモートワークでした。初めての体制ではありましたが、OODA思想の元、アジャイル開発方式にて実際に動くものを作り、それをSlackやTeamsで共有しながら進め方をチームで協議して進めていきました。結果、当社としても異例のスピードでのリリースを実現することができました。</p>
<p> </p>								</div>
				</div>
					</div>
		</div>
					</div>
		</section>
				<section class="elementor-section elementor-top-section elementor-element elementor-element-cdcc80b elementor-section-boxed elementor-section-height-default elementor-section-height-default" data-id="cdcc80b" data-element_type="section" data-e-type="section">
						<div class="elementor-container elementor-column-gap-default">
					<div class="elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-f7357bf" data-id="f7357bf" data-element_type="column" data-e-type="column">
			<div class="elementor-widget-wrap elementor-element-populated">
						<div class="elementor-element elementor-element-749699b elementor-widget elementor-widget-image" data-id="749699b" data-element_type="widget" data-e-type="widget" data-widget_type="image.default">
				<div class="elementor-widget-container">
															<img fetchpriority="high" decoding="async" width="1024" height="683" src="https://voice.stream.co.jp/wp-content/uploads/2021/03/IMG_0381-scaled-1.jpg" class="attachment-large size-large wp-image-148" alt="" />															</div>
				</div>
				<div class="elementor-element elementor-element-f4a8ff9 elementor-widget elementor-widget-spacer" data-id="f4a8ff9" data-element_type="widget" data-e-type="widget" data-widget_type="spacer.default">
				<div class="elementor-widget-container">
							<div class="elementor-spacer">
			<div class="elementor-spacer-inner"></div>
		</div>
						</div>
				</div>
					</div>
		</div>
					</div>
		</section>
				<section class="elementor-section elementor-top-section elementor-element elementor-element-b344a52 elementor-section-boxed elementor-section-height-default elementor-section-height-default" data-id="b344a52" data-element_type="section" data-e-type="section">
						<div class="elementor-container elementor-column-gap-default">
					<div class="elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-3fae187" data-id="3fae187" data-element_type="column" data-e-type="column">
			<div class="elementor-widget-wrap elementor-element-populated">
						<div class="elementor-element elementor-element-cbbc90b elementor-widget elementor-widget-text-editor" data-id="cbbc90b" data-element_type="widget" data-e-type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
									<b><span style="color: #000000;">――異例のスピードでのリリースが実現できたのは、体制面での工夫以外にも何か他にも要因があったからなのでしょうか？</span></b>								</div>
				</div>
				<div class="elementor-element elementor-element-81c3d72 elementor-widget elementor-widget-spacer" data-id="81c3d72" data-element_type="widget" data-e-type="widget" data-widget_type="spacer.default">
				<div class="elementor-widget-container">
							<div class="elementor-spacer">
			<div class="elementor-spacer-inner"></div>
		</div>
						</div>
				</div>
					</div>
		</div>
					</div>
		</section>
				<section class="elementor-section elementor-top-section elementor-element elementor-element-b6c448e elementor-section-boxed elementor-section-height-default elementor-section-height-default" data-id="b6c448e" data-element_type="section" data-e-type="section">
						<div class="elementor-container elementor-column-gap-default">
					<div class="elementor-column elementor-col-50 elementor-top-column elementor-element elementor-element-baa694c" data-id="baa694c" data-element_type="column" data-e-type="column">
			<div class="elementor-widget-wrap elementor-element-populated">
						<div class="elementor-element elementor-element-f014394 elementor-widget elementor-widget-image" data-id="f014394" data-element_type="widget" data-e-type="widget" data-widget_type="image.default">
				<div class="elementor-widget-container">
												<figure class="wp-caption">
										<img decoding="async" src="https://ji-work.com/js_voice/wp-content/uploads/2021/04/KI.jpg" title="" alt="" loading="lazy" />											<figcaption class="widget-image-caption wp-caption-text">K.I.</figcaption>
										</figure>
									</div>
				</div>
					</div>
		</div>
				<div class="elementor-column elementor-col-50 elementor-top-column elementor-element elementor-element-bc7929d" data-id="bc7929d" data-element_type="column" data-e-type="column">
			<div class="elementor-widget-wrap elementor-element-populated">
						<div class="elementor-element elementor-element-1ecdfa9 elementor-widget elementor-widget-text-editor" data-id="1ecdfa9" data-element_type="widget" data-e-type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
									<p>社内共通基盤を使用したという要因は大きいですね。REST APIをベースとした社内用クラウド「<span style="color: #0000ff;"><a style="background-color: transparent; transition: all 200ms ease-in-out 0s; color: #0000ff;" href="https://ji-work.com/js_voice/technology/%e9%96%8b%e7%99%ba%e5%9f%ba%e7%9b%a4%e3%81%ae%e5%88%b7%e6%96%b0%e3%81%a7%e3%82%a8%e3%83%b3%e3%82%b8%e3%83%8b%e3%82%a2%e3%81%ae%e8%87%aa%e8%b5%b0%e5%8a%9b%e3%82%92%e9%ab%98%e3%82%81%e3%82%8b-2/" rel="noopener">J-Steam Cloud</a></span>」の活用です。疑似ライブ機能の追加では、「J-Stream Cloud」の中にある「Composer」という機能を核に開発を進めました。一から機能を作り上げる必要はなく、EQでの使い方や状況にあわせてComposerをどう取り込んでEQに組み込むか。いかに開発工数を少なくするかに焦点を当てて設計を行えたことが大きいですね。</p>
<p> </p>								</div>
				</div>
					</div>
		</div>
					</div>
		</section>
				<section class="elementor-section elementor-top-section elementor-element elementor-element-7558d6f elementor-section-boxed elementor-section-height-default elementor-section-height-default" data-id="7558d6f" data-element_type="section" data-e-type="section">
						<div class="elementor-container elementor-column-gap-default">
					<div class="elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-22aa92e" data-id="22aa92e" data-element_type="column" data-e-type="column">
			<div class="elementor-widget-wrap elementor-element-populated">
						<div class="elementor-element elementor-element-73dff18 elementor-widget elementor-widget-spacer" data-id="73dff18" data-element_type="widget" data-e-type="widget" data-widget_type="spacer.default">
				<div class="elementor-widget-container">
							<div class="elementor-spacer">
			<div class="elementor-spacer-inner"></div>
		</div>
						</div>
				</div>
					</div>
		</div>
					</div>
		</section>
				<section class="elementor-section elementor-top-section elementor-element elementor-element-2fb74be elementor-section-boxed elementor-section-height-default elementor-section-height-default" data-id="2fb74be" data-element_type="section" data-e-type="section">
						<div class="elementor-container elementor-column-gap-default">
					<div class="elementor-column elementor-col-50 elementor-top-column elementor-element elementor-element-c3946e0" data-id="c3946e0" data-element_type="column" data-e-type="column">
			<div class="elementor-widget-wrap elementor-element-populated">
						<div class="elementor-element elementor-element-7ddd210 elementor-widget elementor-widget-image" data-id="7ddd210" data-element_type="widget" data-e-type="widget" data-widget_type="image.default">
				<div class="elementor-widget-container">
												<figure class="wp-caption">
										<img decoding="async" src="https://voice.stream.co.jp/wp-content/uploads/elementor/thumbs/図10-pm2inj7bayml2w0nj6jwxibvd225h652kndylxwhsw.jpg" title="" alt="" loading="lazy" />											<figcaption class="widget-image-caption wp-caption-text">K.N.</figcaption>
										</figure>
									</div>
				</div>
					</div>
		</div>
				<div class="elementor-column elementor-col-50 elementor-top-column elementor-element elementor-element-bc82567" data-id="bc82567" data-element_type="column" data-e-type="column">
			<div class="elementor-widget-wrap elementor-element-populated">
						<div class="elementor-element elementor-element-0fa9c7e elementor-widget elementor-widget-text-editor" data-id="0fa9c7e" data-element_type="widget" data-e-type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
									<p>機能をフェイズ分けして、お客様からの要望を段階的にリリースできた点も大きかったですね。「J-Stream Cloud」のモジュール化により、機能追加やアプリケーション改修の際に既存システムへの影響が少なかった事で検証にかかる工数も大幅に削減できました。</p>
<p> </p>								</div>
				</div>
					</div>
		</div>
					</div>
		</section>
				<section class="elementor-section elementor-top-section elementor-element elementor-element-eda1a81 elementor-section-boxed elementor-section-height-default elementor-section-height-default" data-id="eda1a81" data-element_type="section" data-e-type="section">
						<div class="elementor-container elementor-column-gap-default">
					<div class="elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-23ac877" data-id="23ac877" data-element_type="column" data-e-type="column">
			<div class="elementor-widget-wrap elementor-element-populated">
						<div class="elementor-element elementor-element-5a478dd elementor-widget elementor-widget-spacer" data-id="5a478dd" data-element_type="widget" data-e-type="widget" data-widget_type="spacer.default">
				<div class="elementor-widget-container">
							<div class="elementor-spacer">
			<div class="elementor-spacer-inner"></div>
		</div>
						</div>
				</div>
					</div>
		</div>
					</div>
		</section>
				<section class="elementor-section elementor-top-section elementor-element elementor-element-73df6e7 elementor-section-boxed elementor-section-height-default elementor-section-height-default" data-id="73df6e7" data-element_type="section" data-e-type="section">
						<div class="elementor-container elementor-column-gap-default">
					<div class="elementor-column elementor-col-50 elementor-top-column elementor-element elementor-element-18b4c79" data-id="18b4c79" data-element_type="column" data-e-type="column">
			<div class="elementor-widget-wrap elementor-element-populated">
						<div class="elementor-element elementor-element-aea2496 elementor-widget elementor-widget-image" data-id="aea2496" data-element_type="widget" data-e-type="widget" data-widget_type="image.default">
				<div class="elementor-widget-container">
												<figure class="wp-caption">
										<img decoding="async" src="https://voice.stream.co.jp/wp-content/uploads/elementor/thumbs/KI-pm2in1cdp3y4yaqlfgu044u42qi6ex6666zqhomz34.jpg" title="KI" alt="KI" loading="lazy" />											<figcaption class="widget-image-caption wp-caption-text">K.I.</figcaption>
										</figure>
									</div>
				</div>
					</div>
		</div>
				<div class="elementor-column elementor-col-50 elementor-top-column elementor-element elementor-element-a075d4f" data-id="a075d4f" data-element_type="column" data-e-type="column">
			<div class="elementor-widget-wrap elementor-element-populated">
						<div class="elementor-element elementor-element-dbbc2d7 elementor-widget elementor-widget-text-editor" data-id="dbbc2d7" data-element_type="widget" data-e-type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
									<p>EQは10年近く続いているサービスなのでレガシーな部分も残ってはいますが、「J-Stream Cloud」に合わせてモダンな共通開発環境への移行も進めています。今後はこれくらいのスピードが当たり前になるくらいに開発体制を整備していきたいですね。</p>								</div>
				</div>
					</div>
		</div>
					</div>
		</section>
				<section class="elementor-section elementor-top-section elementor-element elementor-element-db667f7 elementor-section-boxed elementor-section-height-default elementor-section-height-default" data-id="db667f7" data-element_type="section" data-e-type="section">
						<div class="elementor-container elementor-column-gap-default">
					<div class="elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-edae382" data-id="edae382" data-element_type="column" data-e-type="column">
			<div class="elementor-widget-wrap elementor-element-populated">
						<div class="elementor-element elementor-element-8c7f6d7 elementor-widget elementor-widget-spacer" data-id="8c7f6d7" data-element_type="widget" data-e-type="widget" data-widget_type="spacer.default">
				<div class="elementor-widget-container">
							<div class="elementor-spacer">
			<div class="elementor-spacer-inner"></div>
		</div>
						</div>
				</div>
					</div>
		</div>
					</div>
		</section>
				<section class="elementor-section elementor-top-section elementor-element elementor-element-9e7d8ad elementor-section-boxed elementor-section-height-default elementor-section-height-default" data-id="9e7d8ad" data-element_type="section" data-e-type="section">
						<div class="elementor-container elementor-column-gap-default">
					<div class="elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-773c554" data-id="773c554" data-element_type="column" data-e-type="column">
			<div class="elementor-widget-wrap elementor-element-populated">
						<div class="elementor-element elementor-element-43312b2 elementor-widget elementor-widget-text-editor" data-id="43312b2" data-element_type="widget" data-e-type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
									<h2><b><span style="color: #000000;">潤沢なインフラと幅広い技術領域を生かし、顧客の声をもとにエンジニアリングの幅を広げる</span></b></h2>								</div>
				</div>
					</div>
		</div>
					</div>
		</section>
				<section class="elementor-section elementor-top-section elementor-element elementor-element-55e4aed elementor-section-boxed elementor-section-height-default elementor-section-height-default" data-id="55e4aed" data-element_type="section" data-e-type="section">
						<div class="elementor-container elementor-column-gap-default">
					<div class="elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-86e638f" data-id="86e638f" data-element_type="column" data-e-type="column">
			<div class="elementor-widget-wrap elementor-element-populated">
						<div class="elementor-element elementor-element-39a9e5d elementor-widget elementor-widget-text-editor" data-id="39a9e5d" data-element_type="widget" data-e-type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
									<span style="color: #000000;"><b>――Ｊストリームで開発をする面白さは、どんなところですか？</b></span>								</div>
				</div>
				<div class="elementor-element elementor-element-df06107 elementor-widget elementor-widget-spacer" data-id="df06107" data-element_type="widget" data-e-type="widget" data-widget_type="spacer.default">
				<div class="elementor-widget-container">
							<div class="elementor-spacer">
			<div class="elementor-spacer-inner"></div>
		</div>
						</div>
				</div>
					</div>
		</div>
					</div>
		</section>
				<section class="elementor-section elementor-top-section elementor-element elementor-element-20a6e35 elementor-section-boxed elementor-section-height-default elementor-section-height-default" data-id="20a6e35" data-element_type="section" data-e-type="section">
						<div class="elementor-container elementor-column-gap-default">
					<div class="elementor-column elementor-col-50 elementor-top-column elementor-element elementor-element-7473371" data-id="7473371" data-element_type="column" data-e-type="column">
			<div class="elementor-widget-wrap elementor-element-populated">
						<div class="elementor-element elementor-element-191f649 elementor-widget elementor-widget-image" data-id="191f649" data-element_type="widget" data-e-type="widget" data-widget_type="image.default">
				<div class="elementor-widget-container">
												<figure class="wp-caption">
										<img decoding="async" src="https://ji-work.com/js_voice/wp-content/uploads/2021/04/KI.jpg" title="" alt="" loading="lazy" />											<figcaption class="widget-image-caption wp-caption-text">K.I.</figcaption>
										</figure>
									</div>
				</div>
					</div>
		</div>
				<div class="elementor-column elementor-col-50 elementor-top-column elementor-element elementor-element-1da802e" data-id="1da802e" data-element_type="column" data-e-type="column">
			<div class="elementor-widget-wrap elementor-element-populated">
						<div class="elementor-element elementor-element-5f9d50b elementor-widget elementor-widget-text-editor" data-id="5f9d50b" data-element_type="widget" data-e-type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
									<p>大きく3つほどあるのですが、ひとつはネットワークの環境が太いところですね。動画を扱っているので、当然検証などでも大きな帯域が必要になります。ましてや4K/8Kなどの動作確認にはそれなりの回線が必要です。</p>
<p><br />またエンジニアが自由に使える仮想環境なども多く用意され、それらもVagrantなどを使用して好きなものを使えます。グローバルIPを付与する事もできるので、LTE回線での確認なども気軽にできる環境もあり、それも合わせるとかなりエンジニア的にはストレスフリーな環境ですね。</p>								</div>
				</div>
					</div>
		</div>
					</div>
		</section>
				<section class="elementor-section elementor-top-section elementor-element elementor-element-14e3ff8 elementor-section-boxed elementor-section-height-default elementor-section-height-default" data-id="14e3ff8" data-element_type="section" data-e-type="section">
						<div class="elementor-container elementor-column-gap-default">
					<div class="elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-e092515" data-id="e092515" data-element_type="column" data-e-type="column">
			<div class="elementor-widget-wrap elementor-element-populated">
						<div class="elementor-element elementor-element-d1fffb4 elementor-widget elementor-widget-spacer" data-id="d1fffb4" data-element_type="widget" data-e-type="widget" data-widget_type="spacer.default">
				<div class="elementor-widget-container">
							<div class="elementor-spacer">
			<div class="elementor-spacer-inner"></div>
		</div>
						</div>
				</div>
					</div>
		</div>
					</div>
		</section>
				<section class="elementor-section elementor-top-section elementor-element elementor-element-fc1a856 elementor-section-boxed elementor-section-height-default elementor-section-height-default" data-id="fc1a856" data-element_type="section" data-e-type="section">
						<div class="elementor-container elementor-column-gap-default">
					<div class="elementor-column elementor-col-50 elementor-top-column elementor-element elementor-element-fcd37a2" data-id="fcd37a2" data-element_type="column" data-e-type="column">
			<div class="elementor-widget-wrap elementor-element-populated">
						<div class="elementor-element elementor-element-83a78d5 elementor-widget elementor-widget-image" data-id="83a78d5" data-element_type="widget" data-e-type="widget" data-widget_type="image.default">
				<div class="elementor-widget-container">
												<figure class="wp-caption">
										<img decoding="async" src="https://voice.stream.co.jp/wp-content/uploads/elementor/thumbs/図10-pm2inj7bayml2w0nj6jwxibvd225h652kndylxwhsw.jpg" title="" alt="" loading="lazy" />											<figcaption class="widget-image-caption wp-caption-text">K.N.</figcaption>
										</figure>
									</div>
				</div>
					</div>
		</div>
				<div class="elementor-column elementor-col-50 elementor-top-column elementor-element elementor-element-2790dbd" data-id="2790dbd" data-element_type="column" data-e-type="column">
			<div class="elementor-widget-wrap elementor-element-populated">
						<div class="elementor-element elementor-element-da581b9 elementor-widget elementor-widget-text-editor" data-id="da581b9" data-element_type="widget" data-e-type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
									<p>開発自体は主にPHPを用いて構築されています。ただこの辺りも昔からあまり変更されていない部分ですので、JavaScriptやTypeScript、Reactを用いてフロントの刷新なども進めています。サービスバックエンドとしてはPHPのCakePHPからLaravelフレームワークへの変更を進めています。</p><p><br></p>
<p>以前はあえてレガシーであり続けることで、使い慣れた操作感を無くさないようにという運営ポリシーもあったのですが、より良い使用感などを実現する為に、また開発効率の向上なども含めてどんどんとモダン開発に移行を開始しています。この辺りも前述のように開発環境の整備が進んだことで実現しています。</p>
<p></p>								</div>
				</div>
					</div>
		</div>
					</div>
		</section>
				<section class="elementor-section elementor-top-section elementor-element elementor-element-3a14632 elementor-section-boxed elementor-section-height-default elementor-section-height-default" data-id="3a14632" data-element_type="section" data-e-type="section">
						<div class="elementor-container elementor-column-gap-default">
					<div class="elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-fb45f62" data-id="fb45f62" data-element_type="column" data-e-type="column">
			<div class="elementor-widget-wrap elementor-element-populated">
						<div class="elementor-element elementor-element-98486d9 elementor-widget elementor-widget-spacer" data-id="98486d9" data-element_type="widget" data-e-type="widget" data-widget_type="spacer.default">
				<div class="elementor-widget-container">
							<div class="elementor-spacer">
			<div class="elementor-spacer-inner"></div>
		</div>
						</div>
				</div>
					</div>
		</div>
					</div>
		</section>
				<section class="elementor-section elementor-top-section elementor-element elementor-element-6f0e769 elementor-section-boxed elementor-section-height-default elementor-section-height-default" data-id="6f0e769" data-element_type="section" data-e-type="section">
						<div class="elementor-container elementor-column-gap-default">
					<div class="elementor-column elementor-col-50 elementor-top-column elementor-element elementor-element-27aa2b6" data-id="27aa2b6" data-element_type="column" data-e-type="column">
			<div class="elementor-widget-wrap elementor-element-populated">
						<div class="elementor-element elementor-element-743a8de elementor-widget elementor-widget-image" data-id="743a8de" data-element_type="widget" data-e-type="widget" data-widget_type="image.default">
				<div class="elementor-widget-container">
												<figure class="wp-caption">
										<img decoding="async" src="https://ji-work.com/js_voice/wp-content/uploads/2021/04/KI.jpg" title="" alt="" loading="lazy" />											<figcaption class="widget-image-caption wp-caption-text">K.I.</figcaption>
										</figure>
									</div>
				</div>
					</div>
		</div>
				<div class="elementor-column elementor-col-50 elementor-top-column elementor-element elementor-element-9434274" data-id="9434274" data-element_type="column" data-e-type="column">
			<div class="elementor-widget-wrap elementor-element-populated">
						<div class="elementor-element elementor-element-e393cac elementor-widget elementor-widget-text-editor" data-id="e393cac" data-element_type="widget" data-e-type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
									<p>二つ目としては、幅広い職種のエンジニアと一緒に仕事ができる事かと思います。プレイヤーのスペシャリストもいれば、動画のエンコードが得意なバックエンドエンジニア、ネットワークが得意なインフラエンジニアなど多種多様なエンジニアがいます。</p>
<p><br />動画ファイルの処理をしているサーバでは字幕再生、自動翻訳、スマホ画面の回転、倍速再生など色々な処理を行っているのですが、一部クラウドでのSaaS機能を利用しつつもほとんどを自社開発できているのは、多様なスキルを持ったエンジニアがいる恩恵です。</p>
<p><br />動画はある意味では特殊な知識になりますので、普通の開発ではそんな事まで知らないだろうなんてことも段々身についてくる。そうすると「なんだか自分もテクニカルな事をやっているなぁ」なんて思えてきて、気持ち良くなってくるんですよね（笑）</p>
<p> </p>
<p>その点では、私はＪストリームにきてからCDNについてかなり詳しくなりましたね。EQの解析機能では、CDNで大量のログを収集し、種類ごとに加工してデータベースに加工しています。動画の視聴ログは、重要なデータ資産として注目される中、細かなデータを得るために日常的にCDNに触れられた経験は有意義だったなと思います。</p>								</div>
				</div>
					</div>
		</div>
					</div>
		</section>
				<section class="elementor-section elementor-top-section elementor-element elementor-element-1946845 elementor-section-boxed elementor-section-height-default elementor-section-height-default" data-id="1946845" data-element_type="section" data-e-type="section">
						<div class="elementor-container elementor-column-gap-default">
					<div class="elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-f1074d3" data-id="f1074d3" data-element_type="column" data-e-type="column">
			<div class="elementor-widget-wrap elementor-element-populated">
						<div class="elementor-element elementor-element-6cfb78a elementor-widget elementor-widget-spacer" data-id="6cfb78a" data-element_type="widget" data-e-type="widget" data-widget_type="spacer.default">
				<div class="elementor-widget-container">
							<div class="elementor-spacer">
			<div class="elementor-spacer-inner"></div>
		</div>
						</div>
				</div>
					</div>
		</div>
					</div>
		</section>
				<section class="elementor-section elementor-top-section elementor-element elementor-element-c58d47e elementor-section-boxed elementor-section-height-default elementor-section-height-default" data-id="c58d47e" data-element_type="section" data-e-type="section">
						<div class="elementor-container elementor-column-gap-default">
					<div class="elementor-column elementor-col-50 elementor-top-column elementor-element elementor-element-3fe85b3" data-id="3fe85b3" data-element_type="column" data-e-type="column">
			<div class="elementor-widget-wrap elementor-element-populated">
						<div class="elementor-element elementor-element-2b61ae9 elementor-widget elementor-widget-image" data-id="2b61ae9" data-element_type="widget" data-e-type="widget" data-widget_type="image.default">
				<div class="elementor-widget-container">
												<figure class="wp-caption">
										<img decoding="async" src="https://voice.stream.co.jp/wp-content/uploads/elementor/thumbs/図10-pm2inj7bayml2w0nj6jwxibvd225h652kndylxwhsw.jpg" title="" alt="" loading="lazy" />											<figcaption class="widget-image-caption wp-caption-text">K.N.</figcaption>
										</figure>
									</div>
				</div>
					</div>
		</div>
				<div class="elementor-column elementor-col-50 elementor-top-column elementor-element elementor-element-ebf6384" data-id="ebf6384" data-element_type="column" data-e-type="column">
			<div class="elementor-widget-wrap elementor-element-populated">
						<div class="elementor-element elementor-element-84789f3 elementor-widget elementor-widget-text-editor" data-id="84789f3" data-element_type="widget" data-e-type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
									<p>社内では「EQチーム」と便宜上言う事もありますが、各チームで閉じているわけでもなく、バックエンドの社内クラウドチームやインフラ部などとも密に連携しコミュニケーションも活発に行っています。SREの考え方を浸透させつつ、技術的な部分に関してはみんなで話をしながら進めています。</p>								</div>
				</div>
					</div>
		</div>
					</div>
		</section>
				<section class="elementor-section elementor-top-section elementor-element elementor-element-d4f0e91 elementor-section-boxed elementor-section-height-default elementor-section-height-default" data-id="d4f0e91" data-element_type="section" data-e-type="section">
						<div class="elementor-container elementor-column-gap-default">
					<div class="elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-238fe2d" data-id="238fe2d" data-element_type="column" data-e-type="column">
			<div class="elementor-widget-wrap elementor-element-populated">
						<div class="elementor-element elementor-element-3a9eb31 elementor-widget elementor-widget-spacer" data-id="3a9eb31" data-element_type="widget" data-e-type="widget" data-widget_type="spacer.default">
				<div class="elementor-widget-container">
							<div class="elementor-spacer">
			<div class="elementor-spacer-inner"></div>
		</div>
						</div>
				</div>
					</div>
		</div>
					</div>
		</section>
				<section class="elementor-section elementor-top-section elementor-element elementor-element-bcdad5f elementor-section-boxed elementor-section-height-default elementor-section-height-default" data-id="bcdad5f" data-element_type="section" data-e-type="section">
						<div class="elementor-container elementor-column-gap-default">
					<div class="elementor-column elementor-col-50 elementor-top-column elementor-element elementor-element-157db0b" data-id="157db0b" data-element_type="column" data-e-type="column">
			<div class="elementor-widget-wrap elementor-element-populated">
						<div class="elementor-element elementor-element-c805781 elementor-widget elementor-widget-image" data-id="c805781" data-element_type="widget" data-e-type="widget" data-widget_type="image.default">
				<div class="elementor-widget-container">
												<figure class="wp-caption">
										<img decoding="async" src="https://ji-work.com/js_voice/wp-content/uploads/2021/04/KI.jpg" title="" alt="" loading="lazy" />											<figcaption class="widget-image-caption wp-caption-text">K.I.</figcaption>
										</figure>
									</div>
				</div>
					</div>
		</div>
				<div class="elementor-column elementor-col-50 elementor-top-column elementor-element elementor-element-991d3a6" data-id="991d3a6" data-element_type="column" data-e-type="column">
			<div class="elementor-widget-wrap elementor-element-populated">
						<div class="elementor-element elementor-element-f80675b elementor-widget elementor-widget-text-editor" data-id="f80675b" data-element_type="widget" data-e-type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
									<p>前職ではフロントエンドだけの会社で、実はＪストリームに入る前はインフラやサーバなどはよくわかりませんでした。言語としてはJavaScriptやC#がメインだったので、入社後に一人で煮詰まっていた時期もあったんですが、バックエンドのエンジニアから「この処理はこれ一行でできるよ」といわれて愕然としつつも、自分がまだ踏み込めてない領域を知ったんです。そんなことが頻繁にありますから面白いですよ。</p>
<p><br />業務で知ったことを自己学習し、また業務に生かすという事を繰り返せるので、エンジニアとして成長できているなという実感はとてもありますね。今まではフロントエンドやアプリケーションのスペシャリストとしてキャリアを積んできましたが、フロントエンドを極める為には実はそれなりにバックエンドも知らなければいけない。フルスタックまではいかなくても、ある程度全体を見られるようになるのは重要だと感じました。</p>								</div>
				</div>
					</div>
		</div>
					</div>
		</section>
				<section class="elementor-section elementor-top-section elementor-element elementor-element-1baa942 elementor-section-boxed elementor-section-height-default elementor-section-height-default" data-id="1baa942" data-element_type="section" data-e-type="section">
						<div class="elementor-container elementor-column-gap-default">
					<div class="elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-0570c84" data-id="0570c84" data-element_type="column" data-e-type="column">
			<div class="elementor-widget-wrap elementor-element-populated">
						<div class="elementor-element elementor-element-7284188 elementor-widget elementor-widget-spacer" data-id="7284188" data-element_type="widget" data-e-type="widget" data-widget_type="spacer.default">
				<div class="elementor-widget-container">
							<div class="elementor-spacer">
			<div class="elementor-spacer-inner"></div>
		</div>
						</div>
				</div>
					</div>
		</div>
					</div>
		</section>
				<section class="elementor-section elementor-top-section elementor-element elementor-element-27d4c2b elementor-section-boxed elementor-section-height-default elementor-section-height-default" data-id="27d4c2b" data-element_type="section" data-e-type="section">
						<div class="elementor-container elementor-column-gap-default">
					<div class="elementor-column elementor-col-50 elementor-top-column elementor-element elementor-element-28211be" data-id="28211be" data-element_type="column" data-e-type="column">
			<div class="elementor-widget-wrap elementor-element-populated">
						<div class="elementor-element elementor-element-68f3ba3 elementor-widget elementor-widget-image" data-id="68f3ba3" data-element_type="widget" data-e-type="widget" data-widget_type="image.default">
				<div class="elementor-widget-container">
												<figure class="wp-caption">
										<img decoding="async" src="https://voice.stream.co.jp/wp-content/uploads/elementor/thumbs/図10-pm2inj7bayml2w0nj6jwxibvd225h652kndylxwhsw.jpg" title="" alt="" loading="lazy" />											<figcaption class="widget-image-caption wp-caption-text">K.N.</figcaption>
										</figure>
									</div>
				</div>
					</div>
		</div>
				<div class="elementor-column elementor-col-50 elementor-top-column elementor-element elementor-element-01a5a4b" data-id="01a5a4b" data-element_type="column" data-e-type="column">
			<div class="elementor-widget-wrap elementor-element-populated">
						<div class="elementor-element elementor-element-c768fd6 elementor-widget elementor-widget-text-editor" data-id="c768fd6" data-element_type="widget" data-e-type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
									<p>Ｊストリームで開発経験を積む面白さの三つ目は、お客様の声をダイレクトに聞けることだと思います。これは、自社の開発のベースでもあり、他社の開発と差別化を生む大きなものだと思います。</p>
<p><br />EQはB2B向け動画プラットフォームとしては国内最大級の規模で導入実績があり、現在までの累計アカウントは2,000以上になります。その顧客の声の中に次の開発のヒントが多く含まれていると思っています。メディアやコンテンツプロバイダ、一般企業など多くの企業から幅広い使われ方をされており、様々なデータがとれます。</p>
<p><br />マーケティングの観点からも、行動解析としてちゃんとログを取り問題などを早めに分析する。どの機能がどう使われているかを分析しつつそこに集中して開発を行っていく。なんとなくこの機能が流行っているから等で進めるのではなく、SLIやSLOをベースにプロダクト全体の健康状態をみながら考えていく事を徹底する。それらをエンジニア主導で動かせるように運営体制を作り始めています。</p>
<p> </p>
<p>自分も以前はライブエンジニアとして全国を飛び回っていたのですが、その際にライブの現場でお客様から直接お話を聞ける機会もありました。疑似ライブなどの開発に関しても、独特の緊張感など現場の空気を知っているからこそ、開発の意義を納得して開発できたりもしました。</p>								</div>
				</div>
					</div>
		</div>
					</div>
		</section>
				<section class="elementor-section elementor-top-section elementor-element elementor-element-bef266d elementor-section-boxed elementor-section-height-default elementor-section-height-default" data-id="bef266d" data-element_type="section" data-e-type="section">
						<div class="elementor-container elementor-column-gap-default">
					<div class="elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-f2a4867" data-id="f2a4867" data-element_type="column" data-e-type="column">
			<div class="elementor-widget-wrap elementor-element-populated">
						<div class="elementor-element elementor-element-5fe748d elementor-widget elementor-widget-spacer" data-id="5fe748d" data-element_type="widget" data-e-type="widget" data-widget_type="spacer.default">
				<div class="elementor-widget-container">
							<div class="elementor-spacer">
			<div class="elementor-spacer-inner"></div>
		</div>
						</div>
				</div>
					</div>
		</div>
					</div>
		</section>
				<section class="elementor-section elementor-top-section elementor-element elementor-element-95473a0 elementor-section-boxed elementor-section-height-default elementor-section-height-default" data-id="95473a0" data-element_type="section" data-e-type="section">
						<div class="elementor-container elementor-column-gap-default">
					<div class="elementor-column elementor-col-50 elementor-top-column elementor-element elementor-element-96939b4" data-id="96939b4" data-element_type="column" data-e-type="column">
			<div class="elementor-widget-wrap elementor-element-populated">
						<div class="elementor-element elementor-element-ae98a95 elementor-widget elementor-widget-image" data-id="ae98a95" data-element_type="widget" data-e-type="widget" data-widget_type="image.default">
				<div class="elementor-widget-container">
												<figure class="wp-caption">
										<img decoding="async" src="https://ji-work.com/js_voice/wp-content/uploads/2021/04/KI.jpg" title="" alt="" loading="lazy" />											<figcaption class="widget-image-caption wp-caption-text">K.I.</figcaption>
										</figure>
									</div>
				</div>
					</div>
		</div>
				<div class="elementor-column elementor-col-50 elementor-top-column elementor-element elementor-element-02db607" data-id="02db607" data-element_type="column" data-e-type="column">
			<div class="elementor-widget-wrap elementor-element-populated">
						<div class="elementor-element elementor-element-2f9ef70 elementor-widget elementor-widget-text-editor" data-id="2f9ef70" data-element_type="widget" data-e-type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
									<p>エンジニアが技術だけの事を考えていればいい時代ではなくなってきています。加えて動画は「配信できて当たり前」の世の中です。新しいサービスの企画や顧客のニーズに応えるにも、最適な技術を選んで形にするという点では、エンジニアの視点がますます重要になってきています。EQを作っているＪストリームのフロントエンドエンジニアは、その視点を養い、ビジネスとしても成長できるために必要な環境が揃っているのではないかと思います。</p>								</div>
				</div>
					</div>
		</div>
					</div>
		</section>
				<section class="elementor-section elementor-top-section elementor-element elementor-element-60f9b4e elementor-section-boxed elementor-section-height-default elementor-section-height-default" data-id="60f9b4e" data-element_type="section" data-e-type="section">
						<div class="elementor-container elementor-column-gap-default">
					<div class="elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-cb00ba6" data-id="cb00ba6" data-element_type="column" data-e-type="column">
			<div class="elementor-widget-wrap elementor-element-populated">
						<div class="elementor-element elementor-element-91a69c5 elementor-widget elementor-widget-image" data-id="91a69c5" data-element_type="widget" data-e-type="widget" data-widget_type="image.default">
				<div class="elementor-widget-container">
															<img decoding="async" width="1024" height="683" src="https://voice.stream.co.jp/wp-content/uploads/2021/03/IMG_0421-scaled-1.jpg" class="attachment-large size-large wp-image-147" alt="" />															</div>
				</div>
					</div>
		</div>
					</div>
		</section>
				<section class="elementor-section elementor-top-section elementor-element elementor-element-7372faa elementor-section-boxed elementor-section-height-default elementor-section-height-default" data-id="7372faa" data-element_type="section" data-e-type="section">
						<div class="elementor-container elementor-column-gap-default">
					<div class="elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-a1f838f" data-id="a1f838f" data-element_type="column" data-e-type="column">
			<div class="elementor-widget-wrap elementor-element-populated">
						<div class="elementor-element elementor-element-30fade4 elementor-widget elementor-widget-spacer" data-id="30fade4" data-element_type="widget" data-e-type="widget" data-widget_type="spacer.default">
				<div class="elementor-widget-container">
							<div class="elementor-spacer">
			<div class="elementor-spacer-inner"></div>
		</div>
						</div>
				</div>
					</div>
		</div>
					</div>
		</section>
				<section class="elementor-section elementor-top-section elementor-element elementor-element-2eb904c elementor-section-boxed elementor-section-height-default elementor-section-height-default" data-id="2eb904c" data-element_type="section" data-e-type="section">
						<div class="elementor-container elementor-column-gap-default">
					<div class="elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-70de710" data-id="70de710" data-element_type="column" data-e-type="column">
			<div class="elementor-widget-wrap elementor-element-populated">
						<div class="elementor-element elementor-element-8e3573a elementor-widget elementor-widget-text-editor" data-id="8e3573a" data-element_type="widget" data-e-type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
									<h2><b><span style="color: #000000;">「他社に先駆けてやろう」、というのが ‟自社らしさ” </span></b></h2>								</div>
				</div>
					</div>
		</div>
					</div>
		</section>
				<section class="elementor-section elementor-top-section elementor-element elementor-element-ff90c80 elementor-section-boxed elementor-section-height-default elementor-section-height-default" data-id="ff90c80" data-element_type="section" data-e-type="section">
						<div class="elementor-container elementor-column-gap-default">
					<div class="elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-95113bd" data-id="95113bd" data-element_type="column" data-e-type="column">
			<div class="elementor-widget-wrap elementor-element-populated">
						<div class="elementor-element elementor-element-c469eb5 elementor-widget elementor-widget-text-editor" data-id="c469eb5" data-element_type="widget" data-e-type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
									<span style="color: #000000;"><b>――Ｊストリームの開発に対する姿勢とかスタイルについては、どのように感じていますか？</b></span>								</div>
				</div>
				<div class="elementor-element elementor-element-bf90fdd elementor-widget elementor-widget-spacer" data-id="bf90fdd" data-element_type="widget" data-e-type="widget" data-widget_type="spacer.default">
				<div class="elementor-widget-container">
							<div class="elementor-spacer">
			<div class="elementor-spacer-inner"></div>
		</div>
						</div>
				</div>
					</div>
		</div>
					</div>
		</section>
				<section class="elementor-section elementor-top-section elementor-element elementor-element-5e62ed0 elementor-section-boxed elementor-section-height-default elementor-section-height-default" data-id="5e62ed0" data-element_type="section" data-e-type="section">
						<div class="elementor-container elementor-column-gap-default">
					<div class="elementor-column elementor-col-50 elementor-top-column elementor-element elementor-element-4d914dc" data-id="4d914dc" data-element_type="column" data-e-type="column">
			<div class="elementor-widget-wrap elementor-element-populated">
						<div class="elementor-element elementor-element-8079892 elementor-widget elementor-widget-image" data-id="8079892" data-element_type="widget" data-e-type="widget" data-widget_type="image.default">
				<div class="elementor-widget-container">
												<figure class="wp-caption">
										<img decoding="async" src="https://ji-work.com/js_voice/wp-content/uploads/2021/04/KI.jpg" title="" alt="" loading="lazy" />											<figcaption class="widget-image-caption wp-caption-text">K.I.</figcaption>
										</figure>
									</div>
				</div>
					</div>
		</div>
				<div class="elementor-column elementor-col-50 elementor-top-column elementor-element elementor-element-faa8866" data-id="faa8866" data-element_type="column" data-e-type="column">
			<div class="elementor-widget-wrap elementor-element-populated">
						<div class="elementor-element elementor-element-c97c216 elementor-widget elementor-widget-text-editor" data-id="c97c216" data-element_type="widget" data-e-type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
									<p>私の中で一番鮮明に記憶しているのは、FlashからHTML5への移行ですね。そのインパクトは凄かった。当時はFlash全盛期で、EQの動画配信でも多くのFlash技術を採用していました。これを、サービスを止めることなくHTML5を使用したHLS配信に置き換えていきました。</p>
<p><br />当時は国内でHTML5対応をしているサービスやプロダクトなんてほとんどありませんでした。そんな中他社に先駆けて「やろう！」と決断をしたのはＪストリームらしいなと思います。<br />既存の数十万以上に及ぶ膨大な動画ファイルをFlash形式からHLS形式へ変換する仕組みを作り、それらを問題ないか検証をしていきました。地味に大変でしたね（笑）</p>								</div>
				</div>
					</div>
		</div>
					</div>
		</section>
				<section class="elementor-section elementor-top-section elementor-element elementor-element-e5dda4f elementor-section-boxed elementor-section-height-default elementor-section-height-default" data-id="e5dda4f" data-element_type="section" data-e-type="section">
						<div class="elementor-container elementor-column-gap-default">
					<div class="elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-baac814" data-id="baac814" data-element_type="column" data-e-type="column">
			<div class="elementor-widget-wrap elementor-element-populated">
						<div class="elementor-element elementor-element-64f5ae9 elementor-widget elementor-widget-spacer" data-id="64f5ae9" data-element_type="widget" data-e-type="widget" data-widget_type="spacer.default">
				<div class="elementor-widget-container">
							<div class="elementor-spacer">
			<div class="elementor-spacer-inner"></div>
		</div>
						</div>
				</div>
					</div>
		</div>
					</div>
		</section>
				<section class="elementor-section elementor-top-section elementor-element elementor-element-c437b4e elementor-section-boxed elementor-section-height-default elementor-section-height-default" data-id="c437b4e" data-element_type="section" data-e-type="section">
						<div class="elementor-container elementor-column-gap-default">
					<div class="elementor-column elementor-col-50 elementor-top-column elementor-element elementor-element-28b1401" data-id="28b1401" data-element_type="column" data-e-type="column">
			<div class="elementor-widget-wrap elementor-element-populated">
						<div class="elementor-element elementor-element-d44a280 elementor-widget elementor-widget-image" data-id="d44a280" data-element_type="widget" data-e-type="widget" data-widget_type="image.default">
				<div class="elementor-widget-container">
												<figure class="wp-caption">
										<img decoding="async" src="https://voice.stream.co.jp/wp-content/uploads/elementor/thumbs/図10-pm2inj7bayml2w0nj6jwxibvd225h652kndylxwhsw.jpg" title="" alt="" loading="lazy" />											<figcaption class="widget-image-caption wp-caption-text">K.N.</figcaption>
										</figure>
									</div>
				</div>
					</div>
		</div>
				<div class="elementor-column elementor-col-50 elementor-top-column elementor-element elementor-element-d3acb29" data-id="d3acb29" data-element_type="column" data-e-type="column">
			<div class="elementor-widget-wrap elementor-element-populated">
						<div class="elementor-element elementor-element-dba2197 elementor-widget elementor-widget-text-editor" data-id="dba2197" data-element_type="widget" data-e-type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
									<p>この時はまれにみる大規模な技術の仕様変更という事もあり、お客様にどうわかりやすく伝えるかも議論をしましたね。お客様にとっては変わらないように見えても、裏側の仕組みは大きく変わっていますから。それをどう伝えればいいのか…と。</p>								</div>
				</div>
					</div>
		</div>
					</div>
		</section>
				<section class="elementor-section elementor-top-section elementor-element elementor-element-ebe4a4b elementor-section-boxed elementor-section-height-default elementor-section-height-default" data-id="ebe4a4b" data-element_type="section" data-e-type="section">
						<div class="elementor-container elementor-column-gap-default">
					<div class="elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-6d07bdc" data-id="6d07bdc" data-element_type="column" data-e-type="column">
			<div class="elementor-widget-wrap elementor-element-populated">
						<div class="elementor-element elementor-element-5204648 elementor-widget elementor-widget-spacer" data-id="5204648" data-element_type="widget" data-e-type="widget" data-widget_type="spacer.default">
				<div class="elementor-widget-container">
							<div class="elementor-spacer">
			<div class="elementor-spacer-inner"></div>
		</div>
						</div>
				</div>
					</div>
		</div>
					</div>
		</section>
				<section class="elementor-section elementor-top-section elementor-element elementor-element-cc95c7d elementor-section-boxed elementor-section-height-default elementor-section-height-default" data-id="cc95c7d" data-element_type="section" data-e-type="section">
						<div class="elementor-container elementor-column-gap-default">
					<div class="elementor-column elementor-col-50 elementor-top-column elementor-element elementor-element-cf8663f" data-id="cf8663f" data-element_type="column" data-e-type="column">
			<div class="elementor-widget-wrap elementor-element-populated">
						<div class="elementor-element elementor-element-1f43f9b elementor-widget elementor-widget-image" data-id="1f43f9b" data-element_type="widget" data-e-type="widget" data-widget_type="image.default">
				<div class="elementor-widget-container">
												<figure class="wp-caption">
										<img decoding="async" src="https://ji-work.com/js_voice/wp-content/uploads/2021/04/KI.jpg" title="" alt="" loading="lazy" />											<figcaption class="widget-image-caption wp-caption-text">K.I.</figcaption>
										</figure>
									</div>
				</div>
					</div>
		</div>
				<div class="elementor-column elementor-col-50 elementor-top-column elementor-element elementor-element-3461139" data-id="3461139" data-element_type="column" data-e-type="column">
			<div class="elementor-widget-wrap elementor-element-populated">
						<div class="elementor-element elementor-element-bbd4477 elementor-widget elementor-widget-text-editor" data-id="bbd4477" data-element_type="widget" data-e-type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
									<p>その時の経験を生かして新たな開発のヒントにしているものもありますね。</p>
<p> </p>
<p>他社がやっているからうちもやろう、というのももちろん必要だとは思いますが、Ｊストリームらしさとしては、そういう「他社がやってないからこそやろう」という開発を増やしていきたいですね。今もフロントエンドのSPA化や、iOSやAndroidのアプリ開発体制の拡充なども進めていますし、常に現状で満足せずより良いプロダクトへ進化させ、動画配信のパイオニアとしての意識を大事にしていければと思います。</p>								</div>
				</div>
					</div>
		</div>
					</div>
		</section>
				<section class="elementor-section elementor-top-section elementor-element elementor-element-18954e8 elementor-section-boxed elementor-section-height-default elementor-section-height-default" data-id="18954e8" data-element_type="section" data-e-type="section">
						<div class="elementor-container elementor-column-gap-default">
					<div class="elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-46a5fe1" data-id="46a5fe1" data-element_type="column" data-e-type="column">
			<div class="elementor-widget-wrap elementor-element-populated">
						<div class="elementor-element elementor-element-667ed33 elementor-widget elementor-widget-spacer" data-id="667ed33" data-element_type="widget" data-e-type="widget" data-widget_type="spacer.default">
				<div class="elementor-widget-container">
							<div class="elementor-spacer">
			<div class="elementor-spacer-inner"></div>
		</div>
						</div>
				</div>
					</div>
		</div>
					</div>
		</section>
				<section class="elementor-section elementor-top-section elementor-element elementor-element-877d49f elementor-section-boxed elementor-section-height-default elementor-section-height-default" data-id="877d49f" data-element_type="section" data-e-type="section">
						<div class="elementor-container elementor-column-gap-default">
					<div class="elementor-column elementor-col-50 elementor-top-column elementor-element elementor-element-1e9efb3" data-id="1e9efb3" data-element_type="column" data-e-type="column">
			<div class="elementor-widget-wrap elementor-element-populated">
						<div class="elementor-element elementor-element-458ac11 elementor-widget elementor-widget-image" data-id="458ac11" data-element_type="widget" data-e-type="widget" data-widget_type="image.default">
				<div class="elementor-widget-container">
												<figure class="wp-caption">
										<img decoding="async" src="https://voice.stream.co.jp/wp-content/uploads/elementor/thumbs/図10-pm2inj7bayml2w0nj6jwxibvd225h652kndylxwhsw.jpg" title="" alt="" loading="lazy" />											<figcaption class="widget-image-caption wp-caption-text">K.N.</figcaption>
										</figure>
									</div>
				</div>
					</div>
		</div>
				<div class="elementor-column elementor-col-50 elementor-top-column elementor-element elementor-element-06deeed" data-id="06deeed" data-element_type="column" data-e-type="column">
			<div class="elementor-widget-wrap elementor-element-populated">
						<div class="elementor-element elementor-element-0c01bcf elementor-widget elementor-widget-text-editor" data-id="0c01bcf" data-element_type="widget" data-e-type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
									<p>EQチームでの開発は、いろんな技術を集めて組み合わせ、どうやってサービスを提供していくか、プロダクトマネージャーやプロデューサーに通じる力を身につけていけると思います。これからもお客様の声に耳を傾け、開発の最前線として最適なサービスを提供するプロダクトを運営していきたいと思います。</p>								</div>
				</div>
					</div>
		</div>
					</div>
		</section>
				<section class="elementor-section elementor-top-section elementor-element elementor-element-97bfda4 elementor-section-boxed elementor-section-height-default elementor-section-height-default" data-id="97bfda4" data-element_type="section" data-e-type="section">
						<div class="elementor-container elementor-column-gap-default">
					<div class="elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-2676b84" data-id="2676b84" data-element_type="column" data-e-type="column">
			<div class="elementor-widget-wrap elementor-element-populated">
						<div class="elementor-element elementor-element-31a98f5 elementor-widget elementor-widget-spacer" data-id="31a98f5" data-element_type="widget" data-e-type="widget" data-widget_type="spacer.default">
				<div class="elementor-widget-container">
							<div class="elementor-spacer">
			<div class="elementor-spacer-inner"></div>
		</div>
						</div>
				</div>
				<div class="elementor-element elementor-element-0f4db17 elementor-widget elementor-widget-text-editor" data-id="0f4db17" data-element_type="widget" data-e-type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
									<span style="color: #000000;"><b>――次なる展開に向けていろいろとアイデアは広がっているようですね。今後のEQの成長を楽しみにしています。</b></span>								</div>
				</div>
				<div class="elementor-element elementor-element-f11725b elementor-widget elementor-widget-spacer" data-id="f11725b" data-element_type="widget" data-e-type="widget" data-widget_type="spacer.default">
				<div class="elementor-widget-container">
							<div class="elementor-spacer">
			<div class="elementor-spacer-inner"></div>
		</div>
						</div>
				</div>
					</div>
		</div>
					</div>
		</section>
				<section class="elementor-section elementor-top-section elementor-element elementor-element-832aee7 elementor-section-boxed elementor-section-height-default elementor-section-height-default" data-id="832aee7" data-element_type="section" data-e-type="section">
						<div class="elementor-container elementor-column-gap-default">
					<div class="elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-0fda276" data-id="0fda276" data-element_type="column" data-e-type="column">
			<div class="elementor-widget-wrap elementor-element-populated">
						<div class="elementor-element elementor-element-775b5ff elementor-widget elementor-widget-text-editor" data-id="775b5ff" data-element_type="widget" data-e-type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
									<p>【関連情報】</p><p><a href="https://www.stream.co.jp/service/platform/equipmedia/" target="_blank" rel="noopener">J-Stream Equipmedia サービス紹介ページ</a>　</p><p>※別サイトのＪストリームコーポレートサイトへリンクします。</p>								</div>
				</div>
					</div>
		</div>
					</div>
		</section>
				</div>
		]]></content:encoded>
					
					<wfw:commentRss>https://voice.stream.co.jp/technology/20210422/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>社内共通開発基盤をレガシーからモダン移行した変化と効果</title>
		<link>https://voice.stream.co.jp/technology/20210401/</link>
					<comments>https://voice.stream.co.jp/technology/20210401/#respond</comments>
		
		<dc:creator><![CDATA[jst_recruit]]></dc:creator>
		<pubDate>Thu, 01 Apr 2021 00:57:19 +0000</pubDate>
				<category><![CDATA[Technology]]></category>
		<category><![CDATA[J-Stream Cloud]]></category>
		<category><![CDATA[クラウド]]></category>
		<category><![CDATA[バックエンドエンジニア]]></category>
		<category><![CDATA[業務紹介]]></category>
		<category><![CDATA[開発環境]]></category>
		<guid isPermaLink="false">https://voice.stream.co.jp/?p=4639</guid>

					<description><![CDATA[レガシーな開発環境を脱却するために、モダン開発をベースにして構築された全社共通の開発基盤「J-Stream Cloud(ジェイ-ストリームクラウド）」。その存在は、開発スピードと柔軟性を大幅に向上させ、開発体制に大きな変 [&#8230;]]]></description>
										<content:encoded><![CDATA[		<div data-elementor-type="wp-post" data-elementor-id="4639" class="elementor elementor-4639">
						<section class="elementor-section elementor-top-section elementor-element elementor-element-11075f4 elementor-section-boxed elementor-section-height-default elementor-section-height-default" data-id="11075f4" data-element_type="section" data-e-type="section">
						<div class="elementor-container elementor-column-gap-default">
					<div class="elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-7a271f6" data-id="7a271f6" data-element_type="column" data-e-type="column">
			<div class="elementor-widget-wrap elementor-element-populated">
						<div class="elementor-element elementor-element-bbd7dfa elementor-widget elementor-widget-spacer" data-id="bbd7dfa" data-element_type="widget" data-e-type="widget" data-widget_type="spacer.default">
				<div class="elementor-widget-container">
							<div class="elementor-spacer">
			<div class="elementor-spacer-inner"></div>
		</div>
						</div>
				</div>
					</div>
		</div>
					</div>
		</section>
				<section class="elementor-section elementor-top-section elementor-element elementor-element-7a7251c elementor-section-boxed elementor-section-height-default elementor-section-height-default" data-id="7a7251c" data-element_type="section" data-e-type="section">
						<div class="elementor-container elementor-column-gap-default">
					<div class="elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-42dcce9" data-id="42dcce9" data-element_type="column" data-e-type="column">
			<div class="elementor-widget-wrap elementor-element-populated">
						<div class="elementor-element elementor-element-5f48e3b elementor-widget elementor-widget-text-editor" data-id="5f48e3b" data-element_type="widget" data-e-type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
									<p>レガシーな開発環境を脱却するために、モダン開発をベースにして構築された全社共通の開発基盤「J-Stream Cloud(ジェイ-ストリームクラウド）」。その存在は、開発スピードと柔軟性を大幅に向上させ、開発体制に大きな変化をもたらしている。今回、構築を手がけた2人のエンジニアに話を聞いた。</p>								</div>
				</div>
					</div>
		</div>
					</div>
		</section>
				<section class="elementor-section elementor-top-section elementor-element elementor-element-17d0dae elementor-section-boxed elementor-section-height-default elementor-section-height-default" data-id="17d0dae" data-element_type="section" data-e-type="section">
						<div class="elementor-container elementor-column-gap-default">
					<div class="elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-edd2564" data-id="edd2564" data-element_type="column" data-e-type="column">
			<div class="elementor-widget-wrap elementor-element-populated">
						<div class="elementor-element elementor-element-7fbf410 elementor-widget elementor-widget-spacer" data-id="7fbf410" data-element_type="widget" data-e-type="widget" data-widget_type="spacer.default">
				<div class="elementor-widget-container">
							<div class="elementor-spacer">
			<div class="elementor-spacer-inner"></div>
		</div>
						</div>
				</div>
					</div>
		</div>
					</div>
		</section>
				<section class="elementor-section elementor-top-section elementor-element elementor-element-8983fe7 elementor-section-boxed elementor-section-height-default elementor-section-height-default" data-id="8983fe7" data-element_type="section" data-e-type="section">
						<div class="elementor-container elementor-column-gap-default">
					<div class="elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-89254b3" data-id="89254b3" data-element_type="column" data-e-type="column">
			<div class="elementor-widget-wrap elementor-element-populated">
						<div class="elementor-element elementor-element-9d99253 elementor-widget elementor-widget-text-editor" data-id="9d99253" data-element_type="widget" data-e-type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
									<h2><b><span style="color: #000000;">開発環境構築のキーは、マイクロサービス、インフラのコード化</span></b></h2>								</div>
				</div>
					</div>
		</div>
					</div>
		</section>
				<section class="elementor-section elementor-top-section elementor-element elementor-element-2676507 elementor-section-boxed elementor-section-height-default elementor-section-height-default" data-id="2676507" data-element_type="section" data-e-type="section">
						<div class="elementor-container elementor-column-gap-default">
					<div class="elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-7d4ac83" data-id="7d4ac83" data-element_type="column" data-e-type="column">
			<div class="elementor-widget-wrap elementor-element-populated">
						<div class="elementor-element elementor-element-e809cd6 elementor-widget elementor-widget-text-editor" data-id="e809cd6" data-element_type="widget" data-e-type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
									<span style="color: #000000;"><b>――今回のテーマは「J-Stream Cloud」ですが、これは以前はなかったものですよね。どういう経緯で作ることになったのか、まずは、その辺りから話を聞かせてください。</b></span>								</div>
				</div>
				<div class="elementor-element elementor-element-9188510 elementor-widget elementor-widget-spacer" data-id="9188510" data-element_type="widget" data-e-type="widget" data-widget_type="spacer.default">
				<div class="elementor-widget-container">
							<div class="elementor-spacer">
			<div class="elementor-spacer-inner"></div>
		</div>
						</div>
				</div>
					</div>
		</div>
					</div>
		</section>
				<section class="elementor-section elementor-top-section elementor-element elementor-element-94dac84 elementor-section-boxed elementor-section-height-default elementor-section-height-default" data-id="94dac84" data-element_type="section" data-e-type="section">
						<div class="elementor-container elementor-column-gap-default">
					<div class="elementor-column elementor-col-50 elementor-top-column elementor-element elementor-element-7b59d8b" data-id="7b59d8b" data-element_type="column" data-e-type="column">
			<div class="elementor-widget-wrap elementor-element-populated">
						<div class="elementor-element elementor-element-0ac3009 elementor-widget elementor-widget-image" data-id="0ac3009" data-element_type="widget" data-e-type="widget" data-widget_type="image.default">
				<div class="elementor-widget-container">
												<figure class="wp-caption">
										<img decoding="async" src="https://voice.stream.co.jp/wp-content/uploads/elementor/thumbs/図7再-1-pm2inffyjmhfsg6454xenja0zikomdq584s0ou22hs.jpg" title="図7再" alt="図7再" loading="lazy" />											<figcaption class="widget-image-caption wp-caption-text">T.S.</figcaption>
										</figure>
									</div>
				</div>
					</div>
		</div>
				<div class="elementor-column elementor-col-50 elementor-top-column elementor-element elementor-element-a0bb609" data-id="a0bb609" data-element_type="column" data-e-type="column">
			<div class="elementor-widget-wrap elementor-element-populated">
						<div class="elementor-element elementor-element-80a0ab4 elementor-widget elementor-widget-text-editor" data-id="80a0ab4" data-element_type="widget" data-e-type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
									<p>「J-Stream Cloud」は自社のプロダクト開発やサービス開発を支える共通開発基盤です。2018年頃から着手し、現在も日々改良を重ねています。</p>
<p> </p>
<p>アジリティ面の特徴としては大きく２つあります。一つはSubversionからGitLabへ移行しモダン開発ベースでのマイクロサービス構成にて開発スピードと高い柔軟性を実現している事。もう一つは、DockerやKubernetesによるコンテナ技術やAnsibleなどを用い、Infrastructure as Codeをベースとすることで、CI/CDの概念によるインフラの構築や運用を自動化できる事です。</p>
<p> </p>
<p>各機能をモジュール化し、それぞれをステートレスに設計する事で機能の依存性をできるだけ分離し、スケール性も確保しています。それと同時に、共通する部分は汎用的に作りこむ事で、どこかのプロダクトで作った機能をそのまま他のプロダクトでも再利用できるようにしています。</p>								</div>
				</div>
					</div>
		</div>
					</div>
		</section>
				<section class="elementor-section elementor-top-section elementor-element elementor-element-474e722 elementor-section-boxed elementor-section-height-default elementor-section-height-default" data-id="474e722" data-element_type="section" data-e-type="section">
						<div class="elementor-container elementor-column-gap-default">
					<div class="elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-f144426" data-id="f144426" data-element_type="column" data-e-type="column">
			<div class="elementor-widget-wrap elementor-element-populated">
						<div class="elementor-element elementor-element-06c7ec6 elementor-widget elementor-widget-spacer" data-id="06c7ec6" data-element_type="widget" data-e-type="widget" data-widget_type="spacer.default">
				<div class="elementor-widget-container">
							<div class="elementor-spacer">
			<div class="elementor-spacer-inner"></div>
		</div>
						</div>
				</div>
					</div>
		</div>
					</div>
		</section>
				<section class="elementor-section elementor-top-section elementor-element elementor-element-9f9acc3 elementor-section-boxed elementor-section-height-default elementor-section-height-default" data-id="9f9acc3" data-element_type="section" data-e-type="section">
						<div class="elementor-container elementor-column-gap-default">
					<div class="elementor-column elementor-col-50 elementor-top-column elementor-element elementor-element-2af5ac1" data-id="2af5ac1" data-element_type="column" data-e-type="column">
			<div class="elementor-widget-wrap elementor-element-populated">
						<div class="elementor-element elementor-element-b6da489 elementor-widget elementor-widget-image" data-id="b6da489" data-element_type="widget" data-e-type="widget" data-widget_type="image.default">
				<div class="elementor-widget-container">
												<figure class="wp-caption">
										<img decoding="async" src="https://voice.stream.co.jp/wp-content/uploads/elementor/thumbs/8-p5npy1id7jc8m5hfy3pc01pudj8nzqgckq6kq7mcdc-pm2iq2dnpw3ed2c7qryq5dbkzfkr7t7196o25s5b1c.jpg" title="8-p5npy1id7jc8m5hfy3pc01pudj8nzqgckq6kq7mcdc" alt="8-p5npy1id7jc8m5hfy3pc01pudj8nzqgckq6kq7mcdc" loading="lazy" />											<figcaption class="widget-image-caption wp-caption-text">M.S.</figcaption>
										</figure>
									</div>
				</div>
					</div>
		</div>
				<div class="elementor-column elementor-col-50 elementor-top-column elementor-element elementor-element-ca273ef" data-id="ca273ef" data-element_type="column" data-e-type="column">
			<div class="elementor-widget-wrap elementor-element-populated">
						<div class="elementor-element elementor-element-c4310c7 elementor-widget elementor-widget-text-editor" data-id="c4310c7" data-element_type="widget" data-e-type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
									<p>構築に関して使用されている技術は、着手当時から現在も色々変遷を重ねています。初期はRuby on RailsをベースにREST APIを実装していました。これは基本的なフレームワークのルールをより厳格なRailsによって社員に浸透させる狙いもありました。現在はある程度MVCなどの概念も理解が進んできておりますので、次の段階としては、将来的な機械学習などAI分野への進出を見越してPythonなどの言語への変換を進めています。</p><p> </p><p>とはいえ、インタプリタ言語だけではもちろん高速な処理などは追いつきませんので、APIの内部処理として動く各マイクロサービスではJavaやGolangなどのコンパイル系言語も取り入れています。この辺りはnginxやRedisなどのミドルウェアも組み合わせて開発していますので、一般的な開発経験があればすぐに取り掛かれるようにという部分に焦点をあてて標準化させています。</p><p> </p><p>「J-Stream Cloud」構築の背景には、Ｊストリームに特化した開発者ではなく、日本や世界で通用する開発者への成長を促す狙いがあります。いかにＪストリームで育ったエンジニアが他でも通用するか、また他で活躍しているエンジニアがそのままＪストリームで活躍できるか。オンプレミスのインフラや動画領域の経験など、コアコンピタンスな部分はどうしても特殊性は残りますが、それ以外のアーキテクチャはそれらの経験有無に影響されないので、スタートはきりやすいと思います。</p><p> </p>								</div>
				</div>
					</div>
		</div>
					</div>
		</section>
				<section class="elementor-section elementor-top-section elementor-element elementor-element-b344a52 elementor-section-boxed elementor-section-height-default elementor-section-height-default" data-id="b344a52" data-element_type="section" data-e-type="section">
						<div class="elementor-container elementor-column-gap-default">
					<div class="elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-3fae187" data-id="3fae187" data-element_type="column" data-e-type="column">
			<div class="elementor-widget-wrap elementor-element-populated">
						<div class="elementor-element elementor-element-cbbc90b elementor-widget elementor-widget-text-editor" data-id="cbbc90b" data-element_type="widget" data-e-type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
									<span style="color: #000000;"><b>――マイクロサービスアーキテクチャの導入により、開発者目線ではどう変わりましたか？</b></span>								</div>
				</div>
				<div class="elementor-element elementor-element-81c3d72 elementor-widget elementor-widget-spacer" data-id="81c3d72" data-element_type="widget" data-e-type="widget" data-widget_type="spacer.default">
				<div class="elementor-widget-container">
							<div class="elementor-spacer">
			<div class="elementor-spacer-inner"></div>
		</div>
						</div>
				</div>
					</div>
		</div>
					</div>
		</section>
				<section class="elementor-section elementor-top-section elementor-element elementor-element-96336f8 elementor-section-boxed elementor-section-height-default elementor-section-height-default" data-id="96336f8" data-element_type="section" data-e-type="section">
						<div class="elementor-container elementor-column-gap-default">
					<div class="elementor-column elementor-col-50 elementor-top-column elementor-element elementor-element-89b8ab2" data-id="89b8ab2" data-element_type="column" data-e-type="column">
			<div class="elementor-widget-wrap elementor-element-populated">
						<div class="elementor-element elementor-element-7d7a849 elementor-widget elementor-widget-image" data-id="7d7a849" data-element_type="widget" data-e-type="widget" data-widget_type="image.default">
				<div class="elementor-widget-container">
												<figure class="wp-caption">
										<img decoding="async" src="https://voice.stream.co.jp/wp-content/uploads/elementor/thumbs/8-p5npy1id7jc8m5hfy3pc01pudj8nzqgckq6kq7mcdc-pm2iq2dnpw3ed2c7qryq5dbkzfkr7t7196o25s5b1c.jpg" title="8-p5npy1id7jc8m5hfy3pc01pudj8nzqgckq6kq7mcdc" alt="8-p5npy1id7jc8m5hfy3pc01pudj8nzqgckq6kq7mcdc" loading="lazy" />											<figcaption class="widget-image-caption wp-caption-text">M.S.</figcaption>
										</figure>
									</div>
				</div>
					</div>
		</div>
				<div class="elementor-column elementor-col-50 elementor-top-column elementor-element elementor-element-da324f8" data-id="da324f8" data-element_type="column" data-e-type="column">
			<div class="elementor-widget-wrap elementor-element-populated">
						<div class="elementor-element elementor-element-1b5481c elementor-widget elementor-widget-text-editor" data-id="1b5481c" data-element_type="widget" data-e-type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
									<p>つい5-6年前までは、まだサービス単位でモノリシックに開発されていたので、とても触るのが怖かったですね。機能が密結合されており、何かを触ると他の部分で想定外の動作になるなど、どこまで影響があるのか誰も把握できない状態でした。</p><p> </p><p>一つのコンテンツをアップすると同期されたタスクが同時に動き出すため、データベースからエンコードまで全レイヤーを見ることができないと開発できませんでした。もちろん技術的にもですが、非言語化された「過去の経緯」や「作成者の想い」なども知らないといけない属人的な開発スタイルに縛られていたともいえますね。</p><p> </p><p>マイクロサービス化によって、新しい機能を追加する際に既存のコードを触る機会が大幅に減りました。大きなクラスを触っていたら想定外のところでそのメソッドが呼び出されていてバグが出るなどのリスクも無縁になりましたので、過去の経緯を気にせず単機能の開発に集中できるようになり、みんな積極的に機能開発を行うようになりました。</p>								</div>
				</div>
					</div>
		</div>
					</div>
		</section>
				<section class="elementor-section elementor-top-section elementor-element elementor-element-20b20c1 elementor-section-boxed elementor-section-height-default elementor-section-height-default" data-id="20b20c1" data-element_type="section" data-e-type="section">
						<div class="elementor-container elementor-column-gap-default">
					<div class="elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-fb1287b" data-id="fb1287b" data-element_type="column" data-e-type="column">
			<div class="elementor-widget-wrap elementor-element-populated">
						<div class="elementor-element elementor-element-dc726c1 elementor-widget elementor-widget-spacer" data-id="dc726c1" data-element_type="widget" data-e-type="widget" data-widget_type="spacer.default">
				<div class="elementor-widget-container">
							<div class="elementor-spacer">
			<div class="elementor-spacer-inner"></div>
		</div>
						</div>
				</div>
					</div>
		</div>
					</div>
		</section>
				<section class="elementor-section elementor-top-section elementor-element elementor-element-0ee14e2 elementor-section-boxed elementor-section-height-default elementor-section-height-default" data-id="0ee14e2" data-element_type="section" data-e-type="section">
						<div class="elementor-container elementor-column-gap-default">
					<div class="elementor-column elementor-col-50 elementor-top-column elementor-element elementor-element-144b7cc" data-id="144b7cc" data-element_type="column" data-e-type="column">
			<div class="elementor-widget-wrap elementor-element-populated">
						<div class="elementor-element elementor-element-093a98c elementor-widget elementor-widget-image" data-id="093a98c" data-element_type="widget" data-e-type="widget" data-widget_type="image.default">
				<div class="elementor-widget-container">
												<figure class="wp-caption">
										<img decoding="async" src="https://voice.stream.co.jp/wp-content/uploads/elementor/thumbs/7再-p6h0frglj82nvtyt5rk6l1ffror0qsurhstesfecrk-pm2iq2dnpw3ed2c7qryq5dbkzfkr7t7196o25s5b1c.jpg" title="7再-p6h0frglj82nvtyt5rk6l1ffror0qsurhstesfecrk" alt="7再-p6h0frglj82nvtyt5rk6l1ffror0qsurhstesfecrk" loading="lazy" />											<figcaption class="widget-image-caption wp-caption-text">T.S.</figcaption>
										</figure>
									</div>
				</div>
					</div>
		</div>
				<div class="elementor-column elementor-col-50 elementor-top-column elementor-element elementor-element-d559bc7" data-id="d559bc7" data-element_type="column" data-e-type="column">
			<div class="elementor-widget-wrap elementor-element-populated">
						<div class="elementor-element elementor-element-e108739 elementor-widget elementor-widget-text-editor" data-id="e108739" data-element_type="widget" data-e-type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
									<p>ステートレスなマイクロサービス化によって、スケールインやスケールアウトも容易になりました。また、CI/CDの整備によってデプロイリスクも軽減されましたので、開発者の心理として安全に集中した機能開発を行えるようにもなり、チャレンジする傾向が強くなってきましたね。チャレンジの数を増やせれば、成功の可能性も増やすことができる。そうやって技術者目線での新しい試みを増やすことが、会社としての強みを増やす事に直結しているんです。</p><p> </p><p>リスクもそうですが、マイクロサービス化されたそれぞれの機能は再利用が容易なのも大きいですね。サービスごとに同じような機能を作る「車輪の再発明」のような事は、とても多く発生していました。同一サービスの開発チーム内でも、バックエンドエンジニアとインフラエンジニアが同じようなサーバを作っていたりもしましたしね。全社員が使用できる共通開発基盤にすることで、再利用が基本的な考え方となり、大幅に開発スピードは向上しました。</p>								</div>
				</div>
					</div>
		</div>
					</div>
		</section>
				<section class="elementor-section elementor-top-section elementor-element elementor-element-d756067 elementor-section-boxed elementor-section-height-default elementor-section-height-default" data-id="d756067" data-element_type="section" data-e-type="section">
						<div class="elementor-container elementor-column-gap-default">
					<div class="elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-6619c6d" data-id="6619c6d" data-element_type="column" data-e-type="column">
			<div class="elementor-widget-wrap elementor-element-populated">
						<div class="elementor-element elementor-element-a22bf4a elementor-widget elementor-widget-spacer" data-id="a22bf4a" data-element_type="widget" data-e-type="widget" data-widget_type="spacer.default">
				<div class="elementor-widget-container">
							<div class="elementor-spacer">
			<div class="elementor-spacer-inner"></div>
		</div>
						</div>
				</div>
					</div>
		</div>
					</div>
		</section>
				<section class="elementor-section elementor-top-section elementor-element elementor-element-4cde1d9 elementor-section-boxed elementor-section-height-default elementor-section-height-default" data-id="4cde1d9" data-element_type="section" data-e-type="section">
						<div class="elementor-container elementor-column-gap-default">
					<div class="elementor-column elementor-col-50 elementor-top-column elementor-element elementor-element-da14f43" data-id="da14f43" data-element_type="column" data-e-type="column">
			<div class="elementor-widget-wrap elementor-element-populated">
						<div class="elementor-element elementor-element-1c23b25 elementor-widget elementor-widget-image" data-id="1c23b25" data-element_type="widget" data-e-type="widget" data-widget_type="image.default">
				<div class="elementor-widget-container">
												<figure class="wp-caption">
										<img decoding="async" src="https://voice.stream.co.jp/wp-content/uploads/elementor/thumbs/8-p5npy1id7jc8m5hfy3pc01pudj8nzqgckq6kq7mcdc-pm2iq2dnpw3ed2c7qryq5dbkzfkr7t7196o25s5b1c.jpg" title="8-p5npy1id7jc8m5hfy3pc01pudj8nzqgckq6kq7mcdc" alt="8-p5npy1id7jc8m5hfy3pc01pudj8nzqgckq6kq7mcdc" loading="lazy" />											<figcaption class="widget-image-caption wp-caption-text">M.S.</figcaption>
										</figure>
									</div>
				</div>
					</div>
		</div>
				<div class="elementor-column elementor-col-50 elementor-top-column elementor-element elementor-element-b5bd640" data-id="b5bd640" data-element_type="column" data-e-type="column">
			<div class="elementor-widget-wrap elementor-element-populated">
						<div class="elementor-element elementor-element-e3dc447 elementor-widget elementor-widget-text-editor" data-id="e3dc447" data-element_type="widget" data-e-type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
									<p>疎結合な開発体制が整ったことで、「動画のトランスコードに詳しい」というようなスペシャリティも発揮できやすくなるので、尖った特技なども活かしやすくなったかと思います。いろんな特技を持った人が参加する事で、小さな単位での機能レベルから底上げを図り、やがては大きな技術的変遷への対応、世の中のニーズへ決め細かくこたえられる。動画という技術の移り変わりの激しい領域だからこそ、マイクロサービス化は必然だったように思います。</p><p> </p><p> </p><p>今はリリース環境とステージング環境をKubernetes上で構築し、人的ミスを回避できるようにCI/CDによる自動化を取り入れています。導入当初はJenkinsなども使用していましたが、いまはArgoCDに変更するなど日々改善を続けています。</p><p> </p>								</div>
				</div>
					</div>
		</div>
					</div>
		</section>
				<section class="elementor-section elementor-top-section elementor-element elementor-element-db33cca elementor-section-boxed elementor-section-height-default elementor-section-height-default" data-id="db33cca" data-element_type="section" data-e-type="section">
						<div class="elementor-container elementor-column-gap-default">
					<div class="elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-d9b2234" data-id="d9b2234" data-element_type="column" data-e-type="column">
			<div class="elementor-widget-wrap elementor-element-populated">
						<div class="elementor-element elementor-element-24311ee elementor-widget elementor-widget-spacer" data-id="24311ee" data-element_type="widget" data-e-type="widget" data-widget_type="spacer.default">
				<div class="elementor-widget-container">
							<div class="elementor-spacer">
			<div class="elementor-spacer-inner"></div>
		</div>
						</div>
				</div>
					</div>
		</div>
					</div>
		</section>
				<section class="elementor-section elementor-top-section elementor-element elementor-element-29077e0 elementor-section-boxed elementor-section-height-default elementor-section-height-default" data-id="29077e0" data-element_type="section" data-e-type="section">
						<div class="elementor-container elementor-column-gap-default">
					<div class="elementor-column elementor-col-50 elementor-top-column elementor-element elementor-element-3e57474" data-id="3e57474" data-element_type="column" data-e-type="column">
			<div class="elementor-widget-wrap elementor-element-populated">
						<div class="elementor-element elementor-element-cd51f1b elementor-widget elementor-widget-image" data-id="cd51f1b" data-element_type="widget" data-e-type="widget" data-widget_type="image.default">
				<div class="elementor-widget-container">
												<figure class="wp-caption">
										<img decoding="async" src="https://voice.stream.co.jp/wp-content/uploads/elementor/thumbs/7再-p6h0frglj82nvtyt5rk6l1ffror0qsurhstesfecrk-pm2iq2dnpw3ed2c7qryq5dbkzfkr7t7196o25s5b1c.jpg" title="7再-p6h0frglj82nvtyt5rk6l1ffror0qsurhstesfecrk" alt="7再-p6h0frglj82nvtyt5rk6l1ffror0qsurhstesfecrk" loading="lazy" />											<figcaption class="widget-image-caption wp-caption-text">T.S.</figcaption>
										</figure>
									</div>
				</div>
					</div>
		</div>
				<div class="elementor-column elementor-col-50 elementor-top-column elementor-element elementor-element-1d68cbd" data-id="1d68cbd" data-element_type="column" data-e-type="column">
			<div class="elementor-widget-wrap elementor-element-populated">
						<div class="elementor-element elementor-element-d42d900 elementor-widget elementor-widget-text-editor" data-id="d42d900" data-element_type="widget" data-e-type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
									<p>以前は、最初の一歩が重たい感じでしたよね。実機のサーバを調達して、開発するときにはtopコマンドなどでリソースの空きを確認し、historyなどを見ながら恐る恐る触る感じです。開発が終わってデプロイする際にも目視チェックなどを行っており、人的ミスが無いようにすごく神経を使っていました。それに比べれば、重たかった一歩はずいぶんと軽くできたのではと思います。</p><div> </div>								</div>
				</div>
					</div>
		</div>
					</div>
		</section>
				<section class="elementor-section elementor-top-section elementor-element elementor-element-5c81b63 elementor-section-boxed elementor-section-height-default elementor-section-height-default" data-id="5c81b63" data-element_type="section" data-e-type="section">
						<div class="elementor-container elementor-column-gap-default">
					<div class="elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-b7b5979" data-id="b7b5979" data-element_type="column" data-e-type="column">
			<div class="elementor-widget-wrap elementor-element-populated">
						<div class="elementor-element elementor-element-7567161 elementor-widget elementor-widget-spacer" data-id="7567161" data-element_type="widget" data-e-type="widget" data-widget_type="spacer.default">
				<div class="elementor-widget-container">
							<div class="elementor-spacer">
			<div class="elementor-spacer-inner"></div>
		</div>
						</div>
				</div>
					</div>
		</div>
					</div>
		</section>
				<section class="elementor-section elementor-top-section elementor-element elementor-element-8fbc6de elementor-section-boxed elementor-section-height-default elementor-section-height-default" data-id="8fbc6de" data-element_type="section" data-e-type="section">
						<div class="elementor-container elementor-column-gap-default">
					<div class="elementor-column elementor-col-50 elementor-top-column elementor-element elementor-element-4ce9d30" data-id="4ce9d30" data-element_type="column" data-e-type="column">
			<div class="elementor-widget-wrap elementor-element-populated">
						<div class="elementor-element elementor-element-5a545f3 elementor-widget elementor-widget-image" data-id="5a545f3" data-element_type="widget" data-e-type="widget" data-widget_type="image.default">
				<div class="elementor-widget-container">
												<figure class="wp-caption">
										<img decoding="async" src="https://ji-work.com/js_voice/wp-content/uploads/2021/04/図8.jpg" title="" alt="" loading="lazy" />											<figcaption class="widget-image-caption wp-caption-text">M.S.</figcaption>
										</figure>
									</div>
				</div>
					</div>
		</div>
				<div class="elementor-column elementor-col-50 elementor-top-column elementor-element elementor-element-e348afe" data-id="e348afe" data-element_type="column" data-e-type="column">
			<div class="elementor-widget-wrap elementor-element-populated">
						<div class="elementor-element elementor-element-e0d6cab elementor-widget elementor-widget-text-editor" data-id="e0d6cab" data-element_type="widget" data-e-type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
									<p>インフラのコード化に関しても、現在はフロントエンドやバックエンドの開発者が自分たちでサーバやミドルウェアの構築、テストやデプロイまでをコードで表現します。自動化などのメリットもそうですが、インフラエンジニアと開発者がコードを通じてやりたいことを相互に理解できるよう共通言語化されたのが大きいですね。コミュニケーションロスもなくなりました。</p><div> </div>								</div>
				</div>
					</div>
		</div>
					</div>
		</section>
				<section class="elementor-section elementor-top-section elementor-element elementor-element-61ab071 elementor-section-boxed elementor-section-height-default elementor-section-height-default" data-id="61ab071" data-element_type="section" data-e-type="section">
						<div class="elementor-container elementor-column-gap-default">
					<div class="elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-b9e16d5" data-id="b9e16d5" data-element_type="column" data-e-type="column">
			<div class="elementor-widget-wrap elementor-element-populated">
						<div class="elementor-element elementor-element-66ca5ff elementor-widget elementor-widget-spacer" data-id="66ca5ff" data-element_type="widget" data-e-type="widget" data-widget_type="spacer.default">
				<div class="elementor-widget-container">
							<div class="elementor-spacer">
			<div class="elementor-spacer-inner"></div>
		</div>
						</div>
				</div>
					</div>
		</div>
					</div>
		</section>
				<section class="elementor-section elementor-top-section elementor-element elementor-element-c1306fb elementor-section-boxed elementor-section-height-default elementor-section-height-default" data-id="c1306fb" data-element_type="section" data-e-type="section">
						<div class="elementor-container elementor-column-gap-default">
					<div class="elementor-column elementor-col-50 elementor-top-column elementor-element elementor-element-8383654" data-id="8383654" data-element_type="column" data-e-type="column">
			<div class="elementor-widget-wrap elementor-element-populated">
						<div class="elementor-element elementor-element-af8aafd elementor-widget elementor-widget-image" data-id="af8aafd" data-element_type="widget" data-e-type="widget" data-widget_type="image.default">
				<div class="elementor-widget-container">
												<figure class="wp-caption">
										<img decoding="async" src="https://voice.stream.co.jp/wp-content/uploads/elementor/thumbs/7再-p6h0frglj82nvtyt5rk6l1ffror0qsurhstesfecrk-pm2iq2dnpw3ed2c7qryq5dbkzfkr7t7196o25s5b1c.jpg" title="7再-p6h0frglj82nvtyt5rk6l1ffror0qsurhstesfecrk" alt="7再-p6h0frglj82nvtyt5rk6l1ffror0qsurhstesfecrk" loading="lazy" />											<figcaption class="widget-image-caption wp-caption-text">T.S.</figcaption>
										</figure>
									</div>
				</div>
					</div>
		</div>
				<div class="elementor-column elementor-col-50 elementor-top-column elementor-element elementor-element-e03ef19" data-id="e03ef19" data-element_type="column" data-e-type="column">
			<div class="elementor-widget-wrap elementor-element-populated">
						<div class="elementor-element elementor-element-3c49e6e elementor-widget elementor-widget-text-editor" data-id="3c49e6e" data-element_type="widget" data-e-type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
									<p>環境を作るまでの時間が圧倒的に短くなりましたね。コンテナなら、自分たちの開発端末にDockerをインストールしておけばそこでスクラップ＆ビルドを行い、納得できるまでコンテナのビルドチューニングを行える。そこで作ったコンテナはそのままステージングやリリース環境のKubernetes上でも使用される。Vagrantからlibvirtを使用してKVMの仮想サーバ自動生成も気軽にできるので、さっと動かしてみてダメなら壊して簡単にやりなおせます。</p><p> </p><p>何かを思いついたら自分の隙間時間を使ってちょっと試してみる。ダメなら壊す。また思いついたら触ってみる。開発者にとってのチャレンジって構えて行う「大きな何か」ではなく日常的に繰り返す「小さなひらめき」ですから、それを後押しし実現できる開発環境が必要なんです。</p><div> </div>								</div>
				</div>
					</div>
		</div>
					</div>
		</section>
				<section class="elementor-section elementor-top-section elementor-element elementor-element-db667f7 elementor-section-boxed elementor-section-height-default elementor-section-height-default" data-id="db667f7" data-element_type="section" data-e-type="section">
						<div class="elementor-container elementor-column-gap-default">
					<div class="elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-edae382" data-id="edae382" data-element_type="column" data-e-type="column">
			<div class="elementor-widget-wrap elementor-element-populated">
						<div class="elementor-element elementor-element-8c7f6d7 elementor-widget elementor-widget-spacer" data-id="8c7f6d7" data-element_type="widget" data-e-type="widget" data-widget_type="spacer.default">
				<div class="elementor-widget-container">
							<div class="elementor-spacer">
			<div class="elementor-spacer-inner"></div>
		</div>
						</div>
				</div>
					</div>
		</div>
					</div>
		</section>
				<section class="elementor-section elementor-top-section elementor-element elementor-element-9e7d8ad elementor-section-boxed elementor-section-height-default elementor-section-height-default" data-id="9e7d8ad" data-element_type="section" data-e-type="section">
						<div class="elementor-container elementor-column-gap-default">
					<div class="elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-773c554" data-id="773c554" data-element_type="column" data-e-type="column">
			<div class="elementor-widget-wrap elementor-element-populated">
						<div class="elementor-element elementor-element-43312b2 elementor-widget elementor-widget-text-editor" data-id="43312b2" data-element_type="widget" data-e-type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
									<h2><b><span style="color: #000000;">技術変化の激しい動画領域で開発スピードを上げていく</span></b></h2>								</div>
				</div>
					</div>
		</div>
					</div>
		</section>
				<section class="elementor-section elementor-top-section elementor-element elementor-element-55e4aed elementor-section-boxed elementor-section-height-default elementor-section-height-default" data-id="55e4aed" data-element_type="section" data-e-type="section">
						<div class="elementor-container elementor-column-gap-default">
					<div class="elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-86e638f" data-id="86e638f" data-element_type="column" data-e-type="column">
			<div class="elementor-widget-wrap elementor-element-populated">
						<div class="elementor-element elementor-element-39a9e5d elementor-widget elementor-widget-text-editor" data-id="39a9e5d" data-element_type="widget" data-e-type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
									<span style="color: #000000;"><b>――動画領域の開発では、「J-Stream Cloud」はどのようなメリットがあるものなのでしょうか？</b></span>								</div>
				</div>
				<div class="elementor-element elementor-element-df06107 elementor-widget elementor-widget-spacer" data-id="df06107" data-element_type="widget" data-e-type="widget" data-widget_type="spacer.default">
				<div class="elementor-widget-container">
							<div class="elementor-spacer">
			<div class="elementor-spacer-inner"></div>
		</div>
						</div>
				</div>
					</div>
		</div>
					</div>
		</section>
				<section class="elementor-section elementor-top-section elementor-element elementor-element-89e3c4b elementor-section-boxed elementor-section-height-default elementor-section-height-default" data-id="89e3c4b" data-element_type="section" data-e-type="section">
						<div class="elementor-container elementor-column-gap-default">
					<div class="elementor-column elementor-col-50 elementor-top-column elementor-element elementor-element-cf3d34e" data-id="cf3d34e" data-element_type="column" data-e-type="column">
			<div class="elementor-widget-wrap elementor-element-populated">
						<div class="elementor-element elementor-element-11a3218 elementor-widget elementor-widget-image" data-id="11a3218" data-element_type="widget" data-e-type="widget" data-widget_type="image.default">
				<div class="elementor-widget-container">
												<figure class="wp-caption">
										<img decoding="async" src="https://voice.stream.co.jp/wp-content/uploads/elementor/thumbs/図7再-1-pm2inffyjmhfsg6454xenja0zikomdq584s0ou22hs.jpg" title="図7再" alt="図7再" loading="lazy" />											<figcaption class="widget-image-caption wp-caption-text">T.S.</figcaption>
										</figure>
									</div>
				</div>
					</div>
		</div>
				<div class="elementor-column elementor-col-50 elementor-top-column elementor-element elementor-element-cf4e1a2" data-id="cf4e1a2" data-element_type="column" data-e-type="column">
			<div class="elementor-widget-wrap elementor-element-populated">
						<div class="elementor-element elementor-element-30c5e3d elementor-widget elementor-widget-text-editor" data-id="30c5e3d" data-element_type="widget" data-e-type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
									<p>一番は、技術や世の中のトレンドに素早く対応できることです。動画領域は技術変化が特に激しく、主流となる技術が4～5年で一変する事も珍しくありません。大きなシステムを作ってしまうと一部だけを変えようにも、全く関係のないところで想定外のバグが出たりなどで、世の中の変化のスピード的についていけない。</p><p><br></p>
<p></p>
<p>「J-Stream Cloud」では、例えばHLS配信においてもPlaylist作成部分を分離してあります。前段の処理をそのまま生かしつつ、Playlistのレンダリングの時点でMPEG-DASH用のPlaylist作成処理だけを追加しHLSと置き換えるイメージですね。そうすれば、そのままMPEG-DASH配信だけでなく、CMAFなど新しい規格にもすぐに対応が可能です。それらの機能をAPIで提供していますので、パラメータでHLSやMPEG-DASHかを選んでもらえればすぐに新しい機能をプロダクトに提供できます。</p>								</div>
				</div>
					</div>
		</div>
					</div>
		</section>
				<section class="elementor-section elementor-top-section elementor-element elementor-element-06b2199 elementor-section-boxed elementor-section-height-default elementor-section-height-default" data-id="06b2199" data-element_type="section" data-e-type="section">
						<div class="elementor-container elementor-column-gap-default">
					<div class="elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-4472104" data-id="4472104" data-element_type="column" data-e-type="column">
			<div class="elementor-widget-wrap elementor-element-populated">
						<div class="elementor-element elementor-element-c817b64 elementor-widget elementor-widget-spacer" data-id="c817b64" data-element_type="widget" data-e-type="widget" data-widget_type="spacer.default">
				<div class="elementor-widget-container">
							<div class="elementor-spacer">
			<div class="elementor-spacer-inner"></div>
		</div>
						</div>
				</div>
					</div>
		</div>
					</div>
		</section>
				<section class="elementor-section elementor-top-section elementor-element elementor-element-6c39c3a elementor-section-boxed elementor-section-height-default elementor-section-height-default" data-id="6c39c3a" data-element_type="section" data-e-type="section">
						<div class="elementor-container elementor-column-gap-default">
					<div class="elementor-column elementor-col-50 elementor-top-column elementor-element elementor-element-b306473" data-id="b306473" data-element_type="column" data-e-type="column">
			<div class="elementor-widget-wrap elementor-element-populated">
						<div class="elementor-element elementor-element-9f4c738 elementor-widget elementor-widget-image" data-id="9f4c738" data-element_type="widget" data-e-type="widget" data-widget_type="image.default">
				<div class="elementor-widget-container">
												<figure class="wp-caption">
										<img decoding="async" src="https://ji-work.com/js_voice/wp-content/uploads/2021/04/図8.jpg" title="" alt="" loading="lazy" />											<figcaption class="widget-image-caption wp-caption-text">M.S.</figcaption>
										</figure>
									</div>
				</div>
					</div>
		</div>
				<div class="elementor-column elementor-col-50 elementor-top-column elementor-element elementor-element-b6141ba" data-id="b6141ba" data-element_type="column" data-e-type="column">
			<div class="elementor-widget-wrap elementor-element-populated">
						<div class="elementor-element elementor-element-6771cc0 elementor-widget elementor-widget-text-editor" data-id="6771cc0" data-element_type="widget" data-e-type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
									<p>コロナ環境下では動画活用が急速に拡大しました。中でもインターネットライブをもっと手軽に使いたいという企業ニーズが一気に高まり、私たちも緊急開発を多く行いました。その中の一つに疑似ライブ（収録動画をタイムスケジュールに沿ってライブ配信する事）機能がありますが、これは自社プロダクトである「J-Stream Equipmedia（ジェイストリーム・イクイップメディア）」へごく短期間で追加できました。（※関連記事は<a style="background-color: transparent; transition: all 200ms ease-in-out 0s; color: #61b206; outline: 0px;" href="https://ji-work.com/js_voice/technology/%e5%8b%95%e7%94%bb%e3%80%81%e3%83%a9%e3%82%a4%e3%83%96%e3%80%81db%e3%80%81%e5%a4%a7%e8%a6%8f%e6%a8%a1%e9%85%8d%e4%bf%a1%e5%b9%85%e5%ba%83%e3%81%84%e6%8a%80%e8%a1%93%e9%a0%98%e5%9f%9f/" rel="noopener">こちら</a>）</p><p> </p><p>これはそもそも前述したようにレンダリングを別にしたエンジンを作っていたというのもあり、そこにフレーム制御でのカット機能を盛り込むことで機能の再利用を行った事によります。また当然、プロダクトの開発者であるフロントエンドエンジニアが全く動画について調べなくても良かったという、標準的なスキルによる分業化という事も大きいです。</p>								</div>
				</div>
					</div>
		</div>
					</div>
		</section>
				<section class="elementor-section elementor-top-section elementor-element elementor-element-bf72dc2 elementor-section-boxed elementor-section-height-default elementor-section-height-default" data-id="bf72dc2" data-element_type="section" data-e-type="section">
						<div class="elementor-container elementor-column-gap-default">
					<div class="elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-f4a9630" data-id="f4a9630" data-element_type="column" data-e-type="column">
			<div class="elementor-widget-wrap elementor-element-populated">
						<div class="elementor-element elementor-element-3d6bbb2 elementor-widget elementor-widget-spacer" data-id="3d6bbb2" data-element_type="widget" data-e-type="widget" data-widget_type="spacer.default">
				<div class="elementor-widget-container">
							<div class="elementor-spacer">
			<div class="elementor-spacer-inner"></div>
		</div>
						</div>
				</div>
					</div>
		</div>
					</div>
		</section>
				<section class="elementor-section elementor-top-section elementor-element elementor-element-d6fa1cc elementor-section-boxed elementor-section-height-default elementor-section-height-default" data-id="d6fa1cc" data-element_type="section" data-e-type="section">
						<div class="elementor-container elementor-column-gap-default">
					<div class="elementor-column elementor-col-50 elementor-top-column elementor-element elementor-element-dfaa2e5" data-id="dfaa2e5" data-element_type="column" data-e-type="column">
			<div class="elementor-widget-wrap elementor-element-populated">
						<div class="elementor-element elementor-element-014e8ff elementor-widget elementor-widget-image" data-id="014e8ff" data-element_type="widget" data-e-type="widget" data-widget_type="image.default">
				<div class="elementor-widget-container">
												<figure class="wp-caption">
										<img decoding="async" src="https://voice.stream.co.jp/wp-content/uploads/elementor/thumbs/7再-p6h0frglj82nvtyt5rk6l1ffror0qsurhstesfecrk-pm2iq2dnpw3ed2c7qryq5dbkzfkr7t7196o25s5b1c.jpg" title="7再-p6h0frglj82nvtyt5rk6l1ffror0qsurhstesfecrk" alt="7再-p6h0frglj82nvtyt5rk6l1ffror0qsurhstesfecrk" loading="lazy" />											<figcaption class="widget-image-caption wp-caption-text">T.S.</figcaption>
										</figure>
									</div>
				</div>
					</div>
		</div>
				<div class="elementor-column elementor-col-50 elementor-top-column elementor-element elementor-element-ad2a2bf" data-id="ad2a2bf" data-element_type="column" data-e-type="column">
			<div class="elementor-widget-wrap elementor-element-populated">
						<div class="elementor-element elementor-element-ffada5b elementor-widget elementor-widget-text-editor" data-id="ffada5b" data-element_type="widget" data-e-type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
									<p>動画由来のメリットという点では、動画データは滞納トラフィックが起こりやすいためスケールを考慮する必要があるのですが、その場合でも処理の重い部分だけをスケールする事でリソースの節約を行う事が可能になりました。必要な処理だけをいくつも複製できるので、一つのコンテナで障害が発生しても別のコンテナで処理を続行するなど、障害回避の構成を作るうえでも役立っていますね。</p>								</div>
				</div>
				<div class="elementor-element elementor-element-ab8d954 elementor-widget elementor-widget-spacer" data-id="ab8d954" data-element_type="widget" data-e-type="widget" data-widget_type="spacer.default">
				<div class="elementor-widget-container">
							<div class="elementor-spacer">
			<div class="elementor-spacer-inner"></div>
		</div>
						</div>
				</div>
					</div>
		</div>
					</div>
		</section>
				<section class="elementor-section elementor-top-section elementor-element elementor-element-2332062 elementor-section-boxed elementor-section-height-default elementor-section-height-default" data-id="2332062" data-element_type="section" data-e-type="section">
						<div class="elementor-container elementor-column-gap-default">
					<div class="elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-3eeb1ce" data-id="3eeb1ce" data-element_type="column" data-e-type="column">
			<div class="elementor-widget-wrap elementor-element-populated">
						<div class="elementor-element elementor-element-36cdf46 elementor-widget elementor-widget-spacer" data-id="36cdf46" data-element_type="widget" data-e-type="widget" data-widget_type="spacer.default">
				<div class="elementor-widget-container">
							<div class="elementor-spacer">
			<div class="elementor-spacer-inner"></div>
		</div>
						</div>
				</div>
					</div>
		</div>
					</div>
		</section>
				<section class="elementor-section elementor-top-section elementor-element elementor-element-2873452 elementor-section-boxed elementor-section-height-default elementor-section-height-default" data-id="2873452" data-element_type="section" data-e-type="section">
						<div class="elementor-container elementor-column-gap-default">
					<div class="elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-5d9abf9" data-id="5d9abf9" data-element_type="column" data-e-type="column">
			<div class="elementor-widget-wrap elementor-element-populated">
						<div class="elementor-element elementor-element-8f6965f elementor-widget elementor-widget-text-editor" data-id="8f6965f" data-element_type="widget" data-e-type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
									<span style="color: #000000;"><b>――Ｊストリームでの開発の面白みとは？</b></span>								</div>
				</div>
				<div class="elementor-element elementor-element-c3a9e22 elementor-widget elementor-widget-spacer" data-id="c3a9e22" data-element_type="widget" data-e-type="widget" data-widget_type="spacer.default">
				<div class="elementor-widget-container">
							<div class="elementor-spacer">
			<div class="elementor-spacer-inner"></div>
		</div>
						</div>
				</div>
					</div>
		</div>
					</div>
		</section>
				<section class="elementor-section elementor-top-section elementor-element elementor-element-99c0115 elementor-section-boxed elementor-section-height-default elementor-section-height-default" data-id="99c0115" data-element_type="section" data-e-type="section">
						<div class="elementor-container elementor-column-gap-default">
					<div class="elementor-column elementor-col-50 elementor-top-column elementor-element elementor-element-b0fac36" data-id="b0fac36" data-element_type="column" data-e-type="column">
			<div class="elementor-widget-wrap elementor-element-populated">
						<div class="elementor-element elementor-element-375dc03 elementor-widget elementor-widget-image" data-id="375dc03" data-element_type="widget" data-e-type="widget" data-widget_type="image.default">
				<div class="elementor-widget-container">
												<figure class="wp-caption">
										<img decoding="async" src="https://voice.stream.co.jp/wp-content/uploads/elementor/thumbs/図7再-1-pm2inffyjmhfsg6454xenja0zikomdq584s0ou22hs.jpg" title="図7再" alt="図7再" loading="lazy" />											<figcaption class="widget-image-caption wp-caption-text">T.S.</figcaption>
										</figure>
									</div>
				</div>
					</div>
		</div>
				<div class="elementor-column elementor-col-50 elementor-top-column elementor-element elementor-element-5b5e9bb" data-id="5b5e9bb" data-element_type="column" data-e-type="column">
			<div class="elementor-widget-wrap elementor-element-populated">
						<div class="elementor-element elementor-element-94ba87f elementor-widget elementor-widget-text-editor" data-id="94ba87f" data-element_type="widget" data-e-type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
									<p>Ｊストリームのユニークな点は、オンプレミスの基盤と設備を持っている事です。動画配信と開発を同時にやっている会社は日本でも数少ないですからね。オンプレミスで一から自分で作る楽しさは格別です。</p><p> </p><p>とはいえ、オンプレミスだけでやっていると全体スピードとしては落ちてしまう。「J-Stream Cloud」の構築ではまずはクラウドベースでスタートさえスピードアップを図りながら、徐々にオンプレミスへの移行を計画しています。インフラを柔軟に操作できるようになると、エンコードアクセラレーターなどの独自ハードウェアの組み込みや、キャリア網を使用したエッジコンピューティングなど、様々な利点がもっと出てくると思っています。</p><div> </div>								</div>
				</div>
					</div>
		</div>
					</div>
		</section>
				<section class="elementor-section elementor-top-section elementor-element elementor-element-0f79c6f elementor-section-boxed elementor-section-height-default elementor-section-height-default" data-id="0f79c6f" data-element_type="section" data-e-type="section">
						<div class="elementor-container elementor-column-gap-default">
					<div class="elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-13908e4" data-id="13908e4" data-element_type="column" data-e-type="column">
			<div class="elementor-widget-wrap elementor-element-populated">
						<div class="elementor-element elementor-element-41fe96d elementor-widget elementor-widget-spacer" data-id="41fe96d" data-element_type="widget" data-e-type="widget" data-widget_type="spacer.default">
				<div class="elementor-widget-container">
							<div class="elementor-spacer">
			<div class="elementor-spacer-inner"></div>
		</div>
						</div>
				</div>
					</div>
		</div>
					</div>
		</section>
				<section class="elementor-section elementor-top-section elementor-element elementor-element-1ffa669 elementor-section-boxed elementor-section-height-default elementor-section-height-default" data-id="1ffa669" data-element_type="section" data-e-type="section">
						<div class="elementor-container elementor-column-gap-default">
					<div class="elementor-column elementor-col-50 elementor-top-column elementor-element elementor-element-5307741" data-id="5307741" data-element_type="column" data-e-type="column">
			<div class="elementor-widget-wrap elementor-element-populated">
						<div class="elementor-element elementor-element-ace1a40 elementor-widget elementor-widget-image" data-id="ace1a40" data-element_type="widget" data-e-type="widget" data-widget_type="image.default">
				<div class="elementor-widget-container">
												<figure class="wp-caption">
										<img decoding="async" src="https://voice.stream.co.jp/wp-content/uploads/elementor/thumbs/8-p5npy1id7jc8m5hfy3pc01pudj8nzqgckq6kq7mcdc-pm2iq2dnpw3ed2c7qryq5dbkzfkr7t7196o25s5b1c.jpg" title="8-p5npy1id7jc8m5hfy3pc01pudj8nzqgckq6kq7mcdc" alt="8-p5npy1id7jc8m5hfy3pc01pudj8nzqgckq6kq7mcdc" loading="lazy" />											<figcaption class="widget-image-caption wp-caption-text">M.S.</figcaption>
										</figure>
									</div>
				</div>
					</div>
		</div>
				<div class="elementor-column elementor-col-50 elementor-top-column elementor-element elementor-element-c53da98" data-id="c53da98" data-element_type="column" data-e-type="column">
			<div class="elementor-widget-wrap elementor-element-populated">
						<div class="elementor-element elementor-element-b178ca4 elementor-widget elementor-widget-text-editor" data-id="b178ca4" data-element_type="widget" data-e-type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
									<p>クラウドとオンプレミス、どうハイブリッドにしていくかですよね。クラウドの障害時にはオンプレミスに、またオンプレミスの障害時にはクラウドに逃がすなどを考慮すると、ハイブリッド化は必須になると思います。またクラウドも当然マルチクラウドであるとより堅牢になります。</p><p> </p><p>5Gなどを見据えると、各キャリアのネットワークに合わせたインフラ設計も必要です。マルチクラウドでありマルチキャリアな汎用プラットフォームは、インフラを含めた設計が必須になりますし、それができるポジションにいるのがＪストリームの良さですかね。</p>								</div>
				</div>
					</div>
		</div>
					</div>
		</section>
				<section class="elementor-section elementor-top-section elementor-element elementor-element-444d974 elementor-section-boxed elementor-section-height-default elementor-section-height-default" data-id="444d974" data-element_type="section" data-e-type="section">
						<div class="elementor-container elementor-column-gap-default">
					<div class="elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-8cded51" data-id="8cded51" data-element_type="column" data-e-type="column">
			<div class="elementor-widget-wrap elementor-element-populated">
						<div class="elementor-element elementor-element-cbfb04a elementor-widget elementor-widget-spacer" data-id="cbfb04a" data-element_type="widget" data-e-type="widget" data-widget_type="spacer.default">
				<div class="elementor-widget-container">
							<div class="elementor-spacer">
			<div class="elementor-spacer-inner"></div>
		</div>
						</div>
				</div>
					</div>
		</div>
					</div>
		</section>
				<section class="elementor-section elementor-top-section elementor-element elementor-element-c6dfcea elementor-section-boxed elementor-section-height-default elementor-section-height-default" data-id="c6dfcea" data-element_type="section" data-e-type="section">
						<div class="elementor-container elementor-column-gap-default">
					<div class="elementor-column elementor-col-50 elementor-top-column elementor-element elementor-element-e83c95a" data-id="e83c95a" data-element_type="column" data-e-type="column">
			<div class="elementor-widget-wrap elementor-element-populated">
						<div class="elementor-element elementor-element-cfc3b5c elementor-widget elementor-widget-image" data-id="cfc3b5c" data-element_type="widget" data-e-type="widget" data-widget_type="image.default">
				<div class="elementor-widget-container">
												<figure class="wp-caption">
										<img decoding="async" src="https://voice.stream.co.jp/wp-content/uploads/elementor/thumbs/図7再-1-pm2inffyjmhfsg6454xenja0zikomdq584s0ou22hs.jpg" title="図7再" alt="図7再" loading="lazy" />											<figcaption class="widget-image-caption wp-caption-text">T.S.</figcaption>
										</figure>
									</div>
				</div>
					</div>
		</div>
				<div class="elementor-column elementor-col-50 elementor-top-column elementor-element elementor-element-3857c43" data-id="3857c43" data-element_type="column" data-e-type="column">
			<div class="elementor-widget-wrap elementor-element-populated">
						<div class="elementor-element elementor-element-8522f2e elementor-widget elementor-widget-text-editor" data-id="8522f2e" data-element_type="widget" data-e-type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
									<p>直近の課題はそのあたりですね。まずは現在動いている物理サーバをなるべくたくさんコンテナに移行し、コンテナで動くことがまず当たり前の仕組みを作っていけるとよいのではと考えています。</p>								</div>
				</div>
					</div>
		</div>
					</div>
		</section>
				<section class="elementor-section elementor-top-section elementor-element elementor-element-69d534f elementor-section-boxed elementor-section-height-default elementor-section-height-default" data-id="69d534f" data-element_type="section" data-e-type="section">
						<div class="elementor-container elementor-column-gap-default">
					<div class="elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-979a026" data-id="979a026" data-element_type="column" data-e-type="column">
			<div class="elementor-widget-wrap elementor-element-populated">
						<div class="elementor-element elementor-element-f6c4589 elementor-widget elementor-widget-spacer" data-id="f6c4589" data-element_type="widget" data-e-type="widget" data-widget_type="spacer.default">
				<div class="elementor-widget-container">
							<div class="elementor-spacer">
			<div class="elementor-spacer-inner"></div>
		</div>
						</div>
				</div>
					</div>
		</div>
					</div>
		</section>
				<section class="elementor-section elementor-top-section elementor-element elementor-element-7630d99 elementor-section-boxed elementor-section-height-default elementor-section-height-default" data-id="7630d99" data-element_type="section" data-e-type="section">
						<div class="elementor-container elementor-column-gap-default">
					<div class="elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-c0d4269" data-id="c0d4269" data-element_type="column" data-e-type="column">
			<div class="elementor-widget-wrap elementor-element-populated">
						<div class="elementor-element elementor-element-cce88cf elementor-widget elementor-widget-image" data-id="cce88cf" data-element_type="widget" data-e-type="widget" data-widget_type="image.default">
				<div class="elementor-widget-container">
															<img decoding="async" width="1024" height="683" src="https://voice.stream.co.jp/wp-content/uploads/2021/04/IMG_0779-scaled.jpg" class="attachment-large size-large wp-image-475" alt="" />															</div>
				</div>
					</div>
		</div>
					</div>
		</section>
				<section class="elementor-section elementor-top-section elementor-element elementor-element-7372faa elementor-section-boxed elementor-section-height-default elementor-section-height-default" data-id="7372faa" data-element_type="section" data-e-type="section">
						<div class="elementor-container elementor-column-gap-default">
					<div class="elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-a1f838f" data-id="a1f838f" data-element_type="column" data-e-type="column">
			<div class="elementor-widget-wrap elementor-element-populated">
						<div class="elementor-element elementor-element-30fade4 elementor-widget elementor-widget-spacer" data-id="30fade4" data-element_type="widget" data-e-type="widget" data-widget_type="spacer.default">
				<div class="elementor-widget-container">
							<div class="elementor-spacer">
			<div class="elementor-spacer-inner"></div>
		</div>
						</div>
				</div>
					</div>
		</div>
					</div>
		</section>
				<section class="elementor-section elementor-top-section elementor-element elementor-element-2eb904c elementor-section-boxed elementor-section-height-default elementor-section-height-default" data-id="2eb904c" data-element_type="section" data-e-type="section">
						<div class="elementor-container elementor-column-gap-default">
					<div class="elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-70de710" data-id="70de710" data-element_type="column" data-e-type="column">
			<div class="elementor-widget-wrap elementor-element-populated">
						<div class="elementor-element elementor-element-8e3573a elementor-widget elementor-widget-text-editor" data-id="8e3573a" data-element_type="widget" data-e-type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
									<h2><span style="color: #000000;"><b>データ処理、双方向配信、MEC……「J-Stream Cloud」の成長の方向性とは？</b></span></h2>								</div>
				</div>
					</div>
		</div>
					</div>
		</section>
				<section class="elementor-section elementor-top-section elementor-element elementor-element-ff90c80 elementor-section-boxed elementor-section-height-default elementor-section-height-default" data-id="ff90c80" data-element_type="section" data-e-type="section">
						<div class="elementor-container elementor-column-gap-default">
					<div class="elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-95113bd" data-id="95113bd" data-element_type="column" data-e-type="column">
			<div class="elementor-widget-wrap elementor-element-populated">
						<div class="elementor-element elementor-element-c469eb5 elementor-widget elementor-widget-text-editor" data-id="c469eb5" data-element_type="widget" data-e-type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
									<span style="color: #000000;"><b>――今後、「J-Stream Cloud」へどのような機能拡充を考えていますか？</b></span>								</div>
				</div>
				<div class="elementor-element elementor-element-bf90fdd elementor-widget elementor-widget-spacer" data-id="bf90fdd" data-element_type="widget" data-e-type="widget" data-widget_type="spacer.default">
				<div class="elementor-widget-container">
							<div class="elementor-spacer">
			<div class="elementor-spacer-inner"></div>
		</div>
						</div>
				</div>
					</div>
		</div>
					</div>
		</section>
				<section class="elementor-section elementor-top-section elementor-element elementor-element-bf02f32 elementor-section-boxed elementor-section-height-default elementor-section-height-default" data-id="bf02f32" data-element_type="section" data-e-type="section">
						<div class="elementor-container elementor-column-gap-default">
					<div class="elementor-column elementor-col-50 elementor-top-column elementor-element elementor-element-603a491" data-id="603a491" data-element_type="column" data-e-type="column">
			<div class="elementor-widget-wrap elementor-element-populated">
						<div class="elementor-element elementor-element-cc9d49c elementor-widget elementor-widget-image" data-id="cc9d49c" data-element_type="widget" data-e-type="widget" data-widget_type="image.default">
				<div class="elementor-widget-container">
												<figure class="wp-caption">
										<img decoding="async" src="https://voice.stream.co.jp/wp-content/uploads/elementor/thumbs/8-p5npy1id7jc8m5hfy3pc01pudj8nzqgckq6kq7mcdc-pm2iq2dnpw3ed2c7qryq5dbkzfkr7t7196o25s5b1c.jpg" title="8-p5npy1id7jc8m5hfy3pc01pudj8nzqgckq6kq7mcdc" alt="8-p5npy1id7jc8m5hfy3pc01pudj8nzqgckq6kq7mcdc" loading="lazy" />											<figcaption class="widget-image-caption wp-caption-text">M.S.</figcaption>
										</figure>
									</div>
				</div>
					</div>
		</div>
				<div class="elementor-column elementor-col-50 elementor-top-column elementor-element elementor-element-b023932" data-id="b023932" data-element_type="column" data-e-type="column">
			<div class="elementor-widget-wrap elementor-element-populated">
						<div class="elementor-element elementor-element-7a53831 elementor-widget elementor-widget-text-editor" data-id="7a53831" data-element_type="widget" data-e-type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
									<p>コロナ環境下での動画配信ニーズの高まりの中で、ライブやトランスコードなどの機能拡充の必要性を感じています。もちろんこれらの基本機能に関しては機能拡張を進めていければと思っていますが、ライブやトランスコードに関する詳細なフィードバックを提供できるように、高度な学習や予測なども取り入れていきます。今は配信するだけではなく、結果を問われる時代ですからね。</p><p> </p>								</div>
				</div>
					</div>
		</div>
					</div>
		</section>
				<section class="elementor-section elementor-top-section elementor-element elementor-element-7b69219 elementor-section-boxed elementor-section-height-default elementor-section-height-default" data-id="7b69219" data-element_type="section" data-e-type="section">
						<div class="elementor-container elementor-column-gap-default">
					<div class="elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-c968868" data-id="c968868" data-element_type="column" data-e-type="column">
			<div class="elementor-widget-wrap elementor-element-populated">
						<div class="elementor-element elementor-element-f9bf7f7 elementor-widget elementor-widget-spacer" data-id="f9bf7f7" data-element_type="widget" data-e-type="widget" data-widget_type="spacer.default">
				<div class="elementor-widget-container">
							<div class="elementor-spacer">
			<div class="elementor-spacer-inner"></div>
		</div>
						</div>
				</div>
					</div>
		</div>
					</div>
		</section>
				<section class="elementor-section elementor-top-section elementor-element elementor-element-f7f877e elementor-section-boxed elementor-section-height-default elementor-section-height-default" data-id="f7f877e" data-element_type="section" data-e-type="section">
						<div class="elementor-container elementor-column-gap-default">
					<div class="elementor-column elementor-col-50 elementor-top-column elementor-element elementor-element-4b1e133" data-id="4b1e133" data-element_type="column" data-e-type="column">
			<div class="elementor-widget-wrap elementor-element-populated">
						<div class="elementor-element elementor-element-b8a1ce0 elementor-widget elementor-widget-image" data-id="b8a1ce0" data-element_type="widget" data-e-type="widget" data-widget_type="image.default">
				<div class="elementor-widget-container">
												<figure class="wp-caption">
										<img decoding="async" src="https://voice.stream.co.jp/wp-content/uploads/elementor/thumbs/図7再-1-pm2inffyjmhfsg6454xenja0zikomdq584s0ou22hs.jpg" title="図7再" alt="図7再" loading="lazy" />											<figcaption class="widget-image-caption wp-caption-text">T.S.</figcaption>
										</figure>
									</div>
				</div>
					</div>
		</div>
				<div class="elementor-column elementor-col-50 elementor-top-column elementor-element elementor-element-cd82a87" data-id="cd82a87" data-element_type="column" data-e-type="column">
			<div class="elementor-widget-wrap elementor-element-populated">
						<div class="elementor-element elementor-element-5a1dc45 elementor-widget elementor-widget-text-editor" data-id="5a1dc45" data-element_type="widget" data-e-type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
									<p>データ処理基盤ですね。現在でもCDNプロダクトの「J-Stream CDNext（シーディーネクスト）」ではKafkaやHadoopなどを使用してログの大規模処理を行っていますが、それはあくまで結果を可視化するだけのもので、学習や予測などの領域には手を出せていませんでした。Pythonをベースとした機械学習や深層学習などのエッセンスを取り入れていき、AIの活用を前提とした基盤を作れれば、面白いデータが出せるのではと思ってるんですよ。</p>								</div>
				</div>
					</div>
		</div>
					</div>
		</section>
				<section class="elementor-section elementor-top-section elementor-element elementor-element-6028db7 elementor-section-boxed elementor-section-height-default elementor-section-height-default" data-id="6028db7" data-element_type="section" data-e-type="section">
						<div class="elementor-container elementor-column-gap-default">
					<div class="elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-2e5b4f6" data-id="2e5b4f6" data-element_type="column" data-e-type="column">
			<div class="elementor-widget-wrap elementor-element-populated">
						<div class="elementor-element elementor-element-6cc274e elementor-widget elementor-widget-spacer" data-id="6cc274e" data-element_type="widget" data-e-type="widget" data-widget_type="spacer.default">
				<div class="elementor-widget-container">
							<div class="elementor-spacer">
			<div class="elementor-spacer-inner"></div>
		</div>
						</div>
				</div>
					</div>
		</div>
					</div>
		</section>
				<section class="elementor-section elementor-top-section elementor-element elementor-element-5e1d161 elementor-section-boxed elementor-section-height-default elementor-section-height-default" data-id="5e1d161" data-element_type="section" data-e-type="section">
						<div class="elementor-container elementor-column-gap-default">
					<div class="elementor-column elementor-col-50 elementor-top-column elementor-element elementor-element-a3c9c4f" data-id="a3c9c4f" data-element_type="column" data-e-type="column">
			<div class="elementor-widget-wrap elementor-element-populated">
						<div class="elementor-element elementor-element-007fc08 elementor-widget elementor-widget-image" data-id="007fc08" data-element_type="widget" data-e-type="widget" data-widget_type="image.default">
				<div class="elementor-widget-container">
												<figure class="wp-caption">
										<img decoding="async" src="https://voice.stream.co.jp/wp-content/uploads/elementor/thumbs/8-p5npy1id7jc8m5hfy3pc01pudj8nzqgckq6kq7mcdc-pm2iq2dnpw3ed2c7qryq5dbkzfkr7t7196o25s5b1c.jpg" title="8-p5npy1id7jc8m5hfy3pc01pudj8nzqgckq6kq7mcdc" alt="8-p5npy1id7jc8m5hfy3pc01pudj8nzqgckq6kq7mcdc" loading="lazy" />											<figcaption class="widget-image-caption wp-caption-text">M.S.</figcaption>
										</figure>
									</div>
				</div>
					</div>
		</div>
				<div class="elementor-column elementor-col-50 elementor-top-column elementor-element elementor-element-3e9500a" data-id="3e9500a" data-element_type="column" data-e-type="column">
			<div class="elementor-widget-wrap elementor-element-populated">
						<div class="elementor-element elementor-element-fa831e1 elementor-widget elementor-widget-text-editor" data-id="fa831e1" data-element_type="widget" data-e-type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
									<p>ちょうど今、昨年入社の新卒メンバーにメインとなってもらい、ログ処理の基盤機能開発を進めている所です。彼の機械学習領域の経験を生かしてデータ部分を作ってもらっています。APIの使用データをPandasで読み込んだ後、scikit-learnなどで決定木にかけることでどういうパターンの際にどういうパラメータが望ましいかなどを自動判別するなど、徐々にAIの活用部分を増やしていければ面白いですね。</p>								</div>
				</div>
					</div>
		</div>
					</div>
		</section>
				<section class="elementor-section elementor-top-section elementor-element elementor-element-3f79273 elementor-section-boxed elementor-section-height-default elementor-section-height-default" data-id="3f79273" data-element_type="section" data-e-type="section">
						<div class="elementor-container elementor-column-gap-default">
					<div class="elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-95b8258" data-id="95b8258" data-element_type="column" data-e-type="column">
			<div class="elementor-widget-wrap elementor-element-populated">
						<div class="elementor-element elementor-element-0890236 elementor-widget elementor-widget-spacer" data-id="0890236" data-element_type="widget" data-e-type="widget" data-widget_type="spacer.default">
				<div class="elementor-widget-container">
							<div class="elementor-spacer">
			<div class="elementor-spacer-inner"></div>
		</div>
						</div>
				</div>
					</div>
		</div>
					</div>
		</section>
				<section class="elementor-section elementor-top-section elementor-element elementor-element-80285dd elementor-section-boxed elementor-section-height-default elementor-section-height-default" data-id="80285dd" data-element_type="section" data-e-type="section">
						<div class="elementor-container elementor-column-gap-default">
					<div class="elementor-column elementor-col-50 elementor-top-column elementor-element elementor-element-113f6b9" data-id="113f6b9" data-element_type="column" data-e-type="column">
			<div class="elementor-widget-wrap elementor-element-populated">
						<div class="elementor-element elementor-element-afd1a27 elementor-widget elementor-widget-image" data-id="afd1a27" data-element_type="widget" data-e-type="widget" data-widget_type="image.default">
				<div class="elementor-widget-container">
												<figure class="wp-caption">
										<img decoding="async" src="https://voice.stream.co.jp/wp-content/uploads/elementor/thumbs/図7再-1-pm2inffyjmhfsg6454xenja0zikomdq584s0ou22hs.jpg" title="図7再" alt="図7再" loading="lazy" />											<figcaption class="widget-image-caption wp-caption-text">T.S.</figcaption>
										</figure>
									</div>
				</div>
					</div>
		</div>
				<div class="elementor-column elementor-col-50 elementor-top-column elementor-element elementor-element-562f6bd" data-id="562f6bd" data-element_type="column" data-e-type="column">
			<div class="elementor-widget-wrap elementor-element-populated">
						<div class="elementor-element elementor-element-d56fa85 elementor-widget elementor-widget-text-editor" data-id="d56fa85" data-element_type="widget" data-e-type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
									<p>それ以外では、新たな配信方式への対応ですね。動画配信のプロトコルや仕様はここ10年で大きく変わりました。昔はFlashによるRTMPベース、今はHTTPベースのHLS配信方式がデファクトで使われていますが、ここ数年はWebRTCを使うとリアルタイムな双方向配信だけでなく、大規模な配信なども対応できるようになってきています。そういう動きに対して素早く対応できる体制や仕組みを作っていきたいと思っています。</p><p> </p><p>双方向はやってみたいですね。1対多で配信者と視聴者が分かれている大規模配信はどこでもやっているけど、今は双方向性のあるものが求められています。見ている人がチャットで参加出来たり、音声通話でジョイント出来たりなどは昔からありますが、それ以外にも見るだけではなく参加できる為の様々なアクションを増やしていきたい、その為の機能開発を増やしていけると面白いでしょうね。</p>								</div>
				</div>
					</div>
		</div>
					</div>
		</section>
				<section class="elementor-section elementor-top-section elementor-element elementor-element-d79efab elementor-section-boxed elementor-section-height-default elementor-section-height-default" data-id="d79efab" data-element_type="section" data-e-type="section">
						<div class="elementor-container elementor-column-gap-default">
					<div class="elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-50250f1" data-id="50250f1" data-element_type="column" data-e-type="column">
			<div class="elementor-widget-wrap elementor-element-populated">
						<div class="elementor-element elementor-element-6e6da95 elementor-widget elementor-widget-spacer" data-id="6e6da95" data-element_type="widget" data-e-type="widget" data-widget_type="spacer.default">
				<div class="elementor-widget-container">
							<div class="elementor-spacer">
			<div class="elementor-spacer-inner"></div>
		</div>
						</div>
				</div>
					</div>
		</div>
					</div>
		</section>
				<section class="elementor-section elementor-top-section elementor-element elementor-element-5cf4702 elementor-section-boxed elementor-section-height-default elementor-section-height-default" data-id="5cf4702" data-element_type="section" data-e-type="section">
						<div class="elementor-container elementor-column-gap-default">
					<div class="elementor-column elementor-col-50 elementor-top-column elementor-element elementor-element-d688258" data-id="d688258" data-element_type="column" data-e-type="column">
			<div class="elementor-widget-wrap elementor-element-populated">
						<div class="elementor-element elementor-element-da66312 elementor-widget elementor-widget-image" data-id="da66312" data-element_type="widget" data-e-type="widget" data-widget_type="image.default">
				<div class="elementor-widget-container">
												<figure class="wp-caption">
										<img decoding="async" src="https://ji-work.com/js_voice/wp-content/uploads/2021/04/図8.jpg" title="" alt="" loading="lazy" />											<figcaption class="widget-image-caption wp-caption-text">M.S.</figcaption>
										</figure>
									</div>
				</div>
					</div>
		</div>
				<div class="elementor-column elementor-col-50 elementor-top-column elementor-element elementor-element-5f940ac" data-id="5f940ac" data-element_type="column" data-e-type="column">
			<div class="elementor-widget-wrap elementor-element-populated">
						<div class="elementor-element elementor-element-024ddd6 elementor-widget elementor-widget-text-editor" data-id="024ddd6" data-element_type="widget" data-e-type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
									<p>私はSREについて本格的に取り組みたいですね。監視を細かく行い、月にどれくらいエラーや障害が発生しているかを把握できるようにする。それで「何％まで抑えていこう、これくらいまでなら大丈夫だからもっとチャレンジしよう」と具体的に進めていければと考えています。</p><p> </p><p>機能追加に関しても、今までは営業主体で顧客ニーズに応えるという、開発主体という視点で考えるとやや後手なところがありましたが、SREをベースにSLI(Service Level Indicators)を定義し、開発側からも先手を打って主体的に動けるためのデータを揃える事で、よりチャレンジの目標を明確にできるようにしたいですね。</p><p> </p><p>あとは5G関連でのMECであったり、H.266などの配信フォーマットを実証実験してみたり、…となるとやはりマルチクラウド環境ですかね。</p>								</div>
				</div>
				<div class="elementor-element elementor-element-7586434 elementor-widget elementor-widget-spacer" data-id="7586434" data-element_type="widget" data-e-type="widget" data-widget_type="spacer.default">
				<div class="elementor-widget-container">
							<div class="elementor-spacer">
			<div class="elementor-spacer-inner"></div>
		</div>
						</div>
				</div>
					</div>
		</div>
					</div>
		</section>
				<section class="elementor-section elementor-top-section elementor-element elementor-element-f5cd08b elementor-section-boxed elementor-section-height-default elementor-section-height-default" data-id="f5cd08b" data-element_type="section" data-e-type="section">
						<div class="elementor-container elementor-column-gap-default">
					<div class="elementor-column elementor-col-50 elementor-top-column elementor-element elementor-element-3abf347" data-id="3abf347" data-element_type="column" data-e-type="column">
			<div class="elementor-widget-wrap elementor-element-populated">
						<div class="elementor-element elementor-element-0166839 elementor-widget elementor-widget-image" data-id="0166839" data-element_type="widget" data-e-type="widget" data-widget_type="image.default">
				<div class="elementor-widget-container">
												<figure class="wp-caption">
										<img decoding="async" src="https://voice.stream.co.jp/wp-content/uploads/elementor/thumbs/7再-p6h0frglj82nvtyt5rk6l1ffror0qsurhstesfecrk-pm2iq2dnpw3ed2c7qryq5dbkzfkr7t7196o25s5b1c.jpg" title="7再-p6h0frglj82nvtyt5rk6l1ffror0qsurhstesfecrk" alt="7再-p6h0frglj82nvtyt5rk6l1ffror0qsurhstesfecrk" loading="lazy" />											<figcaption class="widget-image-caption wp-caption-text">T.S.</figcaption>
										</figure>
									</div>
				</div>
					</div>
		</div>
				<div class="elementor-column elementor-col-50 elementor-top-column elementor-element elementor-element-b8d72d0" data-id="b8d72d0" data-element_type="column" data-e-type="column">
			<div class="elementor-widget-wrap elementor-element-populated">
						<div class="elementor-element elementor-element-37e7d31 elementor-widget elementor-widget-text-editor" data-id="37e7d31" data-element_type="widget" data-e-type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
									<p>Ｊストリームは動画配信ネットワークから始まったこともあり、インフラの強い会社だという印象が強いのですが、共通の開発環境として「J-Stream Cloud」ができたことで開発力も確実に上がってきている。「J-Stream Cloud」構築の経験を通じて、開発環境がエンジニアにもたらす影響力を強く感じました。</p><p> </p><p>新しい機能を作ることがメインだから、結構チャレンジしていかないといけないし、それをできる為の環境がそろっている、と。</p>								</div>
				</div>
					</div>
		</div>
					</div>
		</section>
				<section class="elementor-section elementor-top-section elementor-element elementor-element-5547123 elementor-section-boxed elementor-section-height-default elementor-section-height-default" data-id="5547123" data-element_type="section" data-e-type="section">
						<div class="elementor-container elementor-column-gap-default">
					<div class="elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-c85b9de" data-id="c85b9de" data-element_type="column" data-e-type="column">
			<div class="elementor-widget-wrap elementor-element-populated">
						<div class="elementor-element elementor-element-a7893ae elementor-widget elementor-widget-spacer" data-id="a7893ae" data-element_type="widget" data-e-type="widget" data-widget_type="spacer.default">
				<div class="elementor-widget-container">
							<div class="elementor-spacer">
			<div class="elementor-spacer-inner"></div>
		</div>
						</div>
				</div>
					</div>
		</div>
					</div>
		</section>
				<section class="elementor-section elementor-top-section elementor-element elementor-element-6c1f218 elementor-section-boxed elementor-section-height-default elementor-section-height-default" data-id="6c1f218" data-element_type="section" data-e-type="section">
						<div class="elementor-container elementor-column-gap-default">
					<div class="elementor-column elementor-col-50 elementor-top-column elementor-element elementor-element-eaca831" data-id="eaca831" data-element_type="column" data-e-type="column">
			<div class="elementor-widget-wrap elementor-element-populated">
						<div class="elementor-element elementor-element-4142638 elementor-widget elementor-widget-image" data-id="4142638" data-element_type="widget" data-e-type="widget" data-widget_type="image.default">
				<div class="elementor-widget-container">
												<figure class="wp-caption">
										<img decoding="async" src="https://ji-work.com/js_voice/wp-content/uploads/2021/04/図8.jpg" title="" alt="" loading="lazy" />											<figcaption class="widget-image-caption wp-caption-text">M.S.</figcaption>
										</figure>
									</div>
				</div>
					</div>
		</div>
				<div class="elementor-column elementor-col-50 elementor-top-column elementor-element elementor-element-1bb4176" data-id="1bb4176" data-element_type="column" data-e-type="column">
			<div class="elementor-widget-wrap elementor-element-populated">
						<div class="elementor-element elementor-element-85f09fb elementor-widget elementor-widget-text-editor" data-id="85f09fb" data-element_type="widget" data-e-type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
									<h5><span style="color: #000000;">ロールバックもできるから楽ですしね。</span></h5><p> </p><h5><span style="color: #000000;">試行錯誤で悩んだ時も、APIを叩けばJ-Stream Cloudがポンと新しいコンテナを立ち上げてくれますから、安心してチャレンジしてもらいたいですね！</span></h5>								</div>
				</div>
					</div>
		</div>
					</div>
		</section>
				<section class="elementor-section elementor-top-section elementor-element elementor-element-97bfda4 elementor-section-boxed elementor-section-height-default elementor-section-height-default" data-id="97bfda4" data-element_type="section" data-e-type="section">
						<div class="elementor-container elementor-column-gap-default">
					<div class="elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-2676b84" data-id="2676b84" data-element_type="column" data-e-type="column">
			<div class="elementor-widget-wrap elementor-element-populated">
						<div class="elementor-element elementor-element-31a98f5 elementor-widget elementor-widget-spacer" data-id="31a98f5" data-element_type="widget" data-e-type="widget" data-widget_type="spacer.default">
				<div class="elementor-widget-container">
							<div class="elementor-spacer">
			<div class="elementor-spacer-inner"></div>
		</div>
						</div>
				</div>
				<div class="elementor-element elementor-element-0f4db17 elementor-widget elementor-widget-text-editor" data-id="0f4db17" data-element_type="widget" data-e-type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
									<span style="color: #000000;"><b>――今後の基盤拡充にも期待しています。ありがとうございました。</b></span>								</div>
				</div>
				<div class="elementor-element elementor-element-f11725b elementor-widget elementor-widget-spacer" data-id="f11725b" data-element_type="widget" data-e-type="widget" data-widget_type="spacer.default">
				<div class="elementor-widget-container">
							<div class="elementor-spacer">
			<div class="elementor-spacer-inner"></div>
		</div>
						</div>
				</div>
					</div>
		</div>
					</div>
		</section>
				<section class="elementor-section elementor-top-section elementor-element elementor-element-7ec5f25 elementor-section-boxed elementor-section-height-default elementor-section-height-default" data-id="7ec5f25" data-element_type="section" data-e-type="section">
						<div class="elementor-container elementor-column-gap-default">
					<div class="elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-b08836c" data-id="b08836c" data-element_type="column" data-e-type="column">
			<div class="elementor-widget-wrap elementor-element-populated">
						<div class="elementor-element elementor-element-88cc991 elementor-widget elementor-widget-text-editor" data-id="88cc991" data-element_type="widget" data-e-type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
									<p>※在籍年数や役職を含む記載内容は、取材当時のものです。その後、状況が変化していることがあります。</p>								</div>
				</div>
					</div>
		</div>
					</div>
		</section>
				</div>
		]]></content:encoded>
					
					<wfw:commentRss>https://voice.stream.co.jp/technology/20210401/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
	</channel>
</rss>
