HDE BLOG

コードもサーバも、雲の上

FY2018 Global Training - 文化を超えたチームワーク

毎年恒例HDE グローバルメンバーのトレーニング、今回は浅草にある「ESCAPE HUNT」に行きました。「ESCAPE HUNT」は全再開各地にグローバル展開(HDEと同じく)しているリアル体験型脱出ゲームができる場所です。参加者は14人3チームに分かれて、それぞれ三つのステージに挑戦しました。 (ステージ内は撮影禁止となってましたのクリア後の写真をつけておきます o(*>Д<)ゝ) f:id:seisho-jo:20171026170803j:plain

僕たちは日本、台湾、タイからなる五人チームでステージ「禅」に挑戦しました。部屋の中は禅という名前の通り和式づくりになっていました。部屋のあちこちにナンバーロックが仕掛けてあり、それらを解き、板のカギを四つ集めることでこの部屋を60分以内に脱出するというルールです。ナンバーロックの四桁の番号に関するヒントは部屋のあちこちに隠されてあり、チームが一丸となり、協力して解いていかないとなかなか制限時間内に脱出成功できない仕組みになってます。 f:id:seisho-jo:20171026172530j:plain

部屋に入ってから僕たちは総員でヒントになりそうなものを探しました。最初に見つけたものは各自1番から3番が書かれた石と、紫色の光を放つ懐中電灯。部屋の中には5x5マスで石を並べる台と屋とその的がありました。石を並べる台には同じ番号の石をこの5x5マスの中に置き、対同士を線でつなぎ、それらの線でマスをすべて埋めるという指示でした。これだけでは何もわからなく、僕たちはさっそくヒントを使うことにしました。そこで得られたヒントは四種類ある矢とその屋の形が彫ってある的に注目するとのことでした。そこでそれらを合わせて得られた四桁の数字をナンバーロックで回しても一つも開けることができず、結局もう一度ヒントを呼ぶことになりました。ここで何かまた我々が全く気づかなかったほんとが出てくるのかと思いきや、ただ矢の数を数え間違えてるだけでした(笑) f:id:seisho-jo:20171026172627j:plain

ここから先はコツをつかみ、順調に部屋のあちこちから得られるヒントをもとに次々とナンバーロックを解いていき無事50分程度でクリアすることができました。 f:id:seisho-jo:20171026172651j:plain

この脱出ゲームは所詮ゲームと考えがちですがが、色々と学ぶことがありました。 他人とチームを組んで何かをやるときにに、やはり欠かせないものが「チームワーク」だと改めて思わされました。「三人寄れば文殊の知恵」というように多人数で協力すれば、一人では解けない問題もみんなとなら解ける、それこそがチームワークの一番素晴らしく最強のところだと思います。そも一朝一夕で生まれることはできず、月日をかけてともに努力し支えあって育んでいくものだと思いました。このトレーニングもまだその長い長い道のりの入口でしかありません。

これから先もこのメンバーたちと共に成長し、どんな困難にも立ち向かえる強いチームになれるよう日々頑張ろうと思います!

P.s. このトレーニングの後には日本会社ならではの屋形船の会食でした!

f:id:seisho-jo:20171026174651j:plain f:id:seisho-jo:20171026174614j:plain f:id:seisho-jo:20171026173029j:plain

ではでは今回はここまでで。

HDE Global Sales Training: Escape Hunt !!

Sawasdee ka~ Hello everyone! I’m FAI from Thailand, a global member from HDE, Inc. in Japan. I’ve been working here as a part-timer in HDE since June 2014 and finally joined as a full-time employee recently!

Many people may have heard about an Escape Room. For those of you who has no idea what it is, escape room is actually a game in which a group of players will be locked inside a room and they will have to solve a series of puzzles in order to unlock the room and escape. Hints are usually hidden within the room. Many places provide themes to the room and integrate story line to the game itself to add the spice for the players. Sounds fun right? I, for one, have always wanted to try out the escape room, but never had a chance until just last week…

f:id:jinvara-vesvijak:20171023180410j:plain

Our company decided to take us on an adventure to an Escape Hunt. You’re probably asking in your head, ‘Wow that must be nice to be working in a place where they would bring you out for a game activity’. Well, YES, it’s pretty awesome! But seriously, not only the Fun that we have had, but there are other things you can obtain from the game itself. One thing for sure is the value of teamwork that would be required for everyone to team up in order to solve the mystery and pass the game lock. But you’ll find that there are more to that. The main objective of this event is also actually a training for our Global members. So….Here goes the story of our Escape Hunt !!

f:id:jinvara-vesvijak:20171023180444j:plain

On 19th October 2017, a totally normal working day in Japan, all of our global members left the company early evening and headed to Asakusa, where the Escape Hunt is located. As we reached the location, we were separated into 3 groups. My group has 5 team members, and we were assigned to an escape room called “Zen”. (No phone is allowed inside so I couldn’t take any picture of the rooms inside)

As we entered the room, we were so confused on what to do and where to start. The only instruction that was given in the beginning was that we will have to unlock the room by using hints hidden around the room. We can call for hints from the game master. Each hint worth 1 minute. And we have 60 minutes to escape.

In my group, everyone has ZERO experience in the game (O___O). We only know that Okay we will have to escape from the room, but like HOW!?

f:id:jinvara-vesvijak:20171023180516j:plain

This picture is my group after we have finished the game already. Anyway, inside the room, there were two hidden rooms that we had to unlock to get the next hints and so on. I would say it was really hard in the beginning to figure out what to do and what to look for.

After spending about 10 minutes in the first room, plus calling for one hint from the gamemaster, we were able to figured out the first puzzle and unlocked the key to the second room. From here, we started to get the sense and logic of the game itself. After gaining experience from the first puzzle, we’ve learned that the first thing you have to do is Observe the whole room (<.___.>), and Find any marks or symbols that you feel it may lead you to the next hint.

I’ll give one example of the puzzle to give a better picture of how the game works. This puzzle was the easiest one to be noticed. So as we entered the 2nd room, we’ve found something similar to this on the wall. (I drew this so it’s not exactly how it was, but just to give an idea hehe).

f:id:jinvara-vesvijak:20171023180606j:plain

After scanning the room for quite a while, we found that we can also find these symbols embedded into two Japanese rugs that are hung on the wall of the room. Well, here are all the hints we got for this puzzle, what is your next guess? (Hmm..)

The answer is to count all the symbols on those rugs and put it in the equation above to get the passcode to unlock the next puzzle. (Could you guess that? haha) This one was actually the easiest one to solve so we didn’t take much time to figure out after observing the whole room for a while.

You might feel that this sounds easy, but most of the puzzles have hints hidden throughout different places and rooms. There are overall about 6 or 7 puzzles and some required hints from different rooms. Hints for the last puzzle (I would say the hardest one to solve) are dropped throughout the whole walkthrough of the game. The game itself requires players to be observant and attentive at all times, and most importantly cooperative.

f:id:jinvara-vesvijak:20171023182741j:plain

Since we were given only 60 minutes to escape the room. After realizing what needs to be done, we have to be quick in solving the puzzle. That’s where teamwork comes in. For instance, the example of the puzzle I’ve given above. It took us only about 3 minutes to figure what to do next. It’s the counting part that takes time. Here, we have to come up with a strategy and assign each team member each task. For our group, we assigned four people with symbols for them to count the number of symbols that appeared on the rugs, and one person record down the number to do the calculation.

To dig deeper, I believe that not only cooperative skill, but the trusts developed among members are also fairly important. Some puzzles were quite complicated that sometimes we are not sure if our direction of solving the problem is actually the right one or not. Since there are many possibilities to achieve the solution in a short amount of time, I believe it is essential to act right away once the decision has been agreed among members.

f:id:jinvara-vesvijak:20171023182905j:plain

Anyway, to sum up our activity, Escape Hunt has been a fun and learning experience for all of us. We all have gotten to know other members in the group better within just this 60 minutes. We can all see that each of us has different abilities that added up to a great teamwork. Some are highly intuitive, some are great at logic, some equipped with good observation, some have high leadership, and some are great supporters.

But the best thing is that my group became the first group to solve the escape room within 37 minutes, and we are so proud of ourselves!!! HAHAHA

f:id:jinvara-vesvijak:20171023180636j:plain

Hope you enjoy my article. Tune in next time~ : )

Report of SaaS Conference TOKYO 2017

日本語バージョンはこちらから

Someone once said that “The study meeting is not complete until you write a blog.” Even though this isn’t a study meeting but since I had the chance to participate in the SaaS Conference Tokyo 2017, here is my report about that event.

About SaaS Conference Tokyo 2017

This conference has been held annually since last year by Mr. Hiro Maeda, the famous venture capitalist. Invited speakers include those who are working at SaaS startups in Silicon Valley and Japan.

This year, the slogan of the conference was “Start from zero to 10 billions of ARR, growth of SaaS Startups”. MongoDB, DoubleDutch, Stripe from the USA and SmartHR, Salesforce.com Japan, PLAID were invited to speak at the conference. By the way, this conference needed the registration fee which is rare in Japan, 6,500 yen for registration, 3,500 yen for Reception party ticket.

SaaS Conference TOKYO 2017 site : http://saastokyo.jp/

Why I was there?

Unprecedentedly, our company HDE, Inc. had become platinum sponsor of this conference. So we can get 3 tickets.

                                      HDE was one of the platinum sponsors

Starting

Starting with Mr. Hiro Maeda’s greeting speech with his hot passion for this conference.

How to create worldwide level marketing team

The session started with Ms. Meagen Eisenberg @MongoDB CMO. The earlier part was her presentation, the latter part was Q&A session facilitated by Mr. Hiro Maeda. This year, most of the sessions were organized with such style. It was very useful for me to attend these Q&A sessions since Mr. Hiro Maeda asked various questions that I also wanted to ask the presenter.

I learned why and how should startups create their web page, how to invest with limited amount of money.

Of course, they are using MA, CRM tools like Marketo, Salesforce, etc.. In MongoDB, sales manager and marketing manager have a weekly meeting to check and adjust the inquiry (including the data from free download).

In addition, she studied in Waseda University about 20 years ago, by any chance we were classmate?

Zero to One of SaaS business

The true story about how SmartHR has been growing this 2 years by its CEO Mr. Miyata. He appointed newcomer to be in charge of customer success he did not know what is “customer success.” It was a good point for him to be able to hire public relations. He wanted to hire person to be in charge of marketing but it was too difficult. He talked about why he invests in TV commercial and so on.

His tasks had changed by each stage of the company. At the first stage he worked as sales and product manager, however, now his main task is to arrange the company organization.

I think that is SaaS Native company because they are using the words “Churn Rate”, “ARR” and “ARPA”, etc. as an indicator of management.

Salesforce in Salesforce -How to construct and educate the sales-

The next one is from two sales managers from Salesforce.com Japan. Each in charge of different sales team: Inside sales and direct sales. They talked about how to organize sales team named “the Model”. Actually, I had once heard about this model, and our company’s sales team model referred to this model. However, they talked more deeply about recruiting, assessment, sales career path, incentive plan, etc..

Their group strategy was 7 members in a team. I heard the same strategy from Microsoft. So I think it seems true one manager can manage up to 7 members.

The Key of huge ACV

A session by Mr. Suzuki, CEO of PLAID. PLAID is providing the service “KARTE” that real time communication service on top of e-commerce site and website.

The question from Mr. Hiro Maeda, “If you could go back to the starting point, what should you do and should not do?” He answered, “Only concentrate one service.” He thinks the development of the mainstream service had to be postponed due to other services, and there are parts left as negative assets.

Anyway, what a tremendous ARPU (Average Revenue Per User) transition it is!

How to set the SaaS price

This session is about how to set the pricing in SaaS by Mr. Patrick McKenzie. He has been lived in Gifu prefecture in Japan. Anyway, his is so fast-speaker, the latter part of the conference, English, fast-speak, for me is slightly hard to hear.

He said Japan has significant potential for SaaS market, few competitors furthermore it’s super difficult to enter the Japanese market due to culture differences and Japanese language.

The road to achieving 2.5 billion yen

The last talk was given by Mr. Lawrence Coburn from DoubleDutch. This session was the only discussion. He said if you could achieve the ARR, Triple ->Triple ->Double->Double->Double each year it would be successful. But for me, it’s triple, triple trouble, the last session, no slide, English.

He said what his failure is that he could procure $ 8 billion and he spent a bit of money.

Lighting Talk

We were given a chance to give lightning talk as a sponsor, so I gave LT in there. (Definitely, I did the work.)

Reception party

The reception party was held at the restaurant near the conference venue. However, there are fewer people than I expected. There were lectures in the party. And I could meet some business friends. Among them, I met Mr. Murata. He is a junior from my high school club (not a direct junior) and he is now running a company, AI Travel as a CEO. His service is a booking system for flight ticket, hotels for a business trip. If you are interested, please contact him.

Summary

Most of the companies that presented at this conference were born as 100% SaaS native company. So I think there are a lot if a difference between our company and them. And I could confirm it becomes common to use the terms “Negative Churn Rate”, “ARR” that we used to use in our company.

I could learn so many things from this conference, including several topics about marketing, sales team building, assessment, education, how to grow as a SaaS startup companies. I think it was worth for paying 6,500 yen.

I hope next year we can make a presentation at the conference. We will do our best.

Reflection, memo

This time I was listening to the talks while taking notes on PC, but without power supply, the battery couldn’t sustain. Therefore, latter parts of the conference I had to take handwritten notes which were too difficult for me to do so.This is why there are lesser contents about the latter part of the conference mentioned in this article. (It’s just an excuse.) I have to consider this problem for the next time.

I had to take about 1 week after the conference to finish the blog. I hope I had prepared in advance so that it could be finished a bit more quickly.

This time, I had to prepare LT, so I participated without preliminary research. I should study the services created by the speakers a little bit more and wished I would be able to ask questions if possible.

 

SaaS Conference TOKYO 2017に行って来た。

English version is here.

勉強会はBlogを書くまでが勉強会と誰かが言っていました。勉強会ではないですが先日SaaS Conference Tokyo 2017に参加する機会があったのでまとめてみたいと思います。

SaaS Conference TOKYO 2017とは? 

ベンチャーキャピタリストである前田ヒロさんが昨年から始められたConference、シリコンバレーでも特に注目を集めているSaaSスタートアップで活躍するスペシャリストの方々や日本のSaaSスタートアップ企業のけ方々を招いて講演いただくというもの。第2回となる今年は「ARRゼロから100億円まで、SaaSスタートアップの成長」と銘打ち、海外からMongoDB, DoubleDutch, Stripeが、日本からはSmartHR, Salesforce, プレイドが登壇。因みに、参加費6,500円、懇親会3,500円と日本ではまだ珍しい有償のConferenceとなっています。

詳細はこちらのURLから http://saastokyo.jp/

きっかけ

いつの間にやら弊社HDEがこのカンファレンスのスポンサーになっていました。スポンサー枠で3名までConferenceに参加できるということで参加することができました。

HDEもPlatinum Sponsorとして協賛

スタート

いよいよスタートです。前田ヒロさんの挨拶やConferenceに対しての思いなどが語られました。

世界レベルのSaaSマーケチームの作り方

Mongo DBのCMO Meagen Eisenbergさんから前半はプレゼンテーション、後半は前田ヒロさんがファシリテートしながらのQAという形、今回は前編基本的にこのフォーマットでカンファレンスが進められていた。前田ヒロさんが参加者が聞きたいような質問を上手く聞いてくださったので非常に分かりやすかった。

Webフォームの作り方からスタートアップ時にマーケティングの何処にお金を掛けるべきかなど参考になった。

MarketoやSalesforceなどのMAツール、CRMツールはMust、 Mongo DBではマーケと営業が問い合わせ(無償ダウンロードを含む)を突き合わせながら良い問い合わせなのかどうかを週次でミーティングをしているとのこと。

因みに20年程前、早稲田大学に通っていたとのこと、同級生かも?!

SaaSのZero to One

SmartHRの宮田さんによるこの2年間でSmartHRがどのように成長してきたかという赤裸々な話し。カスタマーサクセスが何か判らなかったときに採用した社員にカスターマーサクセス担当した。早めに広報担当を採用して良かった。マーケ担当は早く取りたかったが取れなかった、何故テレビCMに敢えて打って出たかなど。

CEOとしての仕事もビジネスのステージによって大きく変わったとのこと、創業期は営業、プロダクトマーケだったが、今は組織作りがメインとのこと。

Churn RateやARR、ARPAといった用語を普通に使って経営指標にしているという話は流石SaaS ネイティブと思った。

セールスフォースのセールスフォース ~ 営業部隊の構築と育成 ~

続いてSalseforce.com Japanの営業のマネージャー2人によるお話、それぞれインサイドセールスと外販のマネージャーとのことで少し違った立場からSalesforce社内の営業組織の構築、運営のお話。「The Model」と名付けているらしい。実はHDEの営業組織もこのThe Modelを参考にしていてこの話は他で一度聞いたことがありましたが、採用から評価の方法やインサイド→外販のプロモートの流れやインセンティブの話などより踏み込んだ話を聞くことができました。

1チーム7名制にしてそれ以上増えたら枠を増やしてリーダーを置くという話はマイクロソフトでも聞いたことがあり、経験則の観点から1人のマネージャーが管理するのに最適な人数なのかなと思いました。

大型ACVの秘訣

プレイド鈴木さんのお話、ECサイトの裏側で顧客接客ができる『KARTE』を運営されています。

前田ヒロさんの「もし、スタート時に戻れるとしたら何をやる、やらない?」という質問に対して、「サービスを絞ってスタートする」、他のプランのために本流のプランの開発が遅れたり、負の遺産として残ってしまっている部分などがあるとのこと。それにしても凄いARPU(1契約あたりの売り上げ)の推移!

SaaSの値段設定

Patrick McKenzieさんによるSaaSの価格付けの話、この方、岐阜に長いこと住んでいたとのことでしたがともかく早口。終盤に来てなかなかつらい。

SaaSの価格付けの話、日本のSaaSのマーケットは非常に大きなポテンシャルがコンペティターが少ないのと外国からの参入は日本語や文化の障壁が高いのでチャンスだとも言われてました。

ARR 25億円までの道のり

最後にDoubleDutch Lawrence Coburnさんと前田ヒロさんの対談、Conferenceの終盤、英語、さらにプレゼン資料無しの3重苦。流石アメリカ人、凄い座り方!ととりあえず思いました。

3倍→3倍→2倍→2倍→2倍でARRを成長させることができれば成功だとおっしゃっていました。

失敗したことは?との質問にも80億ドル?調達できちゃってちょっとお金使いすぎたとのこと。

Lighting Talk

因みにスポンサー枠で3分間のLTの時間をいただくことができましたのでHDEの宣伝をさせていただきました。※ちゃんと仕事してます!

懇親会

場所を変えて懇親会。思いの外、人が少ない。登壇者の方々も参加されていました。ちらほら知り合いにも会うことができました。その中でも高校のクラブの後輩(直接の後輩ではないですが)で今はAIトラベルというのCEOの村田くんにも再会。出張の飛行機やホテルの予約をAI使ってスムーズに行ってくれるサービスです。みなさんも良ければ使ってみてください。

まとめ

ほとんどのSaaSスタートアップがSaaSスタートアップとして生まれている(当然ですが)ためHDEと色々違う部分があるなと思いました。Negative Churn RateやARRなどここ数年で社内でも使いだした言葉が普通に使われているんだと再確認しました。

マーケティングの話、営業の評価、教育、採用の話、SaaSの価格付けの話、SaaSスタートアップ企業がどのように成長してきたのかとバライティーに富んだ色々な話が聞けてとても勉強になりました。6,500円を出す価値は十分にあったのではないかと個人的には思います。

できれば来年は登壇者側にHDEもまわれるように頑張りたいと思います。

反省、備忘録

今回PCでメモを取りながら講演を聞いていましたが、電源無しではPCのバッテリが持ちませんでした。そのため後半は、ノートにメモを取る形にしましたが聞きながらノートに書きながらははかなりしんどかったです。(その為、後半の講演の内容が少し薄め(言い訳)です。)次に向けては何か検討しないといけないと思いました。

カンファレンスからこのブログをアップするまで約1週間掛かってしまいました。もう少しスピーディーにアップできるように前もって準備すれば良かったと思います。

今回、3分のLTがあったりしてバタバタして事前の下調べをしないで参加してしまいました。もう少し登壇者の方々のサービスの内容など調べてから行って、できれば質問ができればと思いました。

39th Monthly Technical Session (MTS) Report

39th Monthly Technical Session (MTS) was held on October 20th, 2017. MTS is a knowledge sharing event, in which HDE members present some topics and have QA sessions, both in English.

The moderator of the 39th MTS was Jonas-san.

f:id:doi-t:20171020165815j:plain

The first topic was "How to use CMC Webhook" by Arakawa-san. Customers Mail Cloud (CMC) is a cloud-based email infrastructure that is scalable, reliable and easy to implement. To distribute mails massively and securely, CMC provides various features such as SMTP / API integration, mail distribution for mobile, DKIM / TLS encryption, delivery report, error analysis, webhook integration and so on.

This time Arakawa-san introduced CMC webhook integration for Bounce Email Handling. He emphasized the advantage of webhook API and showed us a demonstration with Zapier and Slack. With this integration, we can instantly know email statuses.

f:id:doi-t:20171020170017j:plain

The second topic was "A Real-time Environmental Monitoring and Analysis For a Simplified Smart Agriculture System" by Denis-san who is one of guest speakers. Currently, he studies at Tokyo University of Agriculture and his study is monitoring Tomato growth with wireless sensor efficiently.

Growing Degree Days (GDD) is very important to control quality of farm products. GDD are typically used to monitor crop development, the assumption being that development is limited once the temperatures exceed a certain threshold. Since it is not enough to have only a wireless sensor dashboard, he implemented sensor data analytics system using pandas and numpy to combine cumulative GDD into one plot with Bokeh. Now the farmer can see daily activity of Tomato and think how to control its quality with his implementation.

f:id:doi-t:20171020172247j:plain

The third topic was "Go Concurrency in 10 minutes" by Shihan-san. Go has built-in concurrency system based on CSP to emphasis on “Do not communicate by sharing memory; instead, share memory by communicating.”, which is a slogan in Go.

This time, he introduced the basic for non gophers. He explained several go keywords such as Goroutines, Channels, Select with live demo. Lastly, he gave us a link to learn more details of concurrency in Go.

f:id:doi-t:20171020172830j:plain

The fourth topic was "Integrating backends, frontends and designers into one workflow" by Daniel-san who is UI/UX Developer and another guest speaker. To explain importance of UI/UX, he picked up a Japanese web site that has images for titles in the beginning of his talk. He, then, explained why this can happen through the relationship between designers, UI developers and backend developers.

To integrate backends, frontends and designers into one workflow, he suggested to define Style Guide / Patterns Guide in the team. As a further solution, he additionally suggested to create and maintain components that define patterns in the code to clearly define UI behaviours.

f:id:doi-t:20171020174745j:plain

The fifth topic was "The Truth of XaaS" by Kenny-san. XaaS is anything or everything as a service (SaaS, PaaS, IaaS). A truth of XaaS is that the customers are more powerful than ever before. It caused two trends, new cloud economy and new consumption economy, which are creating huge impact to the Tech industry.

He also gave us an idea of the different levels of user adoption. He explained how to improve user adoption from a product perspective. Monitoring real-time customer insights is the way to improve user adoption and it can provide us a chance of giving proactive feedback to the customers.

f:id:doi-t:20171020182515j:plain

The sixth topic was "Small talk on Smalltalk" by Stefan-san. He is one of our Global Internship Program (GIP) participants. He started to introduce Smalltalk from the history of object oriented programming (OOP) citing a quote by Dr. Alan Curtic Kay.

Smalltalk is an object-oriented, dynamically typed, reflective programming language. In Smalltalk, everything is an object and each object can send messages to another object. He explained how an object works in smalltalk and introduced other features that Smalltalk provides. At the end, he demonstrated how Smalltalk actually works with interactive IDE Pharo that allows us to see the detail of individual object.

f:id:doi-t:20171020183132j:plain

The seventh topic was "Go Serverless" by Stephen-san. He is also one of our GIP participants. He explained what serverless is, good points of AWS lambda and some difficulties dealing with AWS Lambda. For the help of the difficulties, he introduced frameworks such as serverless, Zappa and Apex.

Through his experiments of these frameworks, he concluded serverless framework is the most comprehensive. It allows us to manage other aws resources. According to his experience, the problem is that the framework does not explain minimum IAM Role permissions. So it’s still hard to implement and manage the entire system.

f:id:doi-t:20171020184338j:plain

The eighth topic was “GraphQL: A query language for your API” by Elvan-san. He is also one of our GIP participants. GraphQL is a query language for APIs and a runtime for fulfilling those queries with your existing data. While typical REST APIs require loading from multiple URLs, GraphQL allows us get many resources in a single request.

In the talk, he overviewed GraphQL’s concepts and its architecture. He also explained how to write GraphQL with example codes to build schemas, setup code resolvers and run queries.

f:id:doi-t:20171020185630j:plain

As usual, we had a party afterwards :)

f:id:doi-t:20171020192829j:plain

f:id:doi-t:20171020195921j:plain

f:id:doi-t:20171020192938j:plain

f:id:doi-t:20171020194640j:plain

Serverless Framework

Hi! My name is Stephen and as a GIP Intern I worked in the DevOps team at HDE. My primary work during my internship involved using AWS Lambda functions. AWS Lambda are based upon the idea of ‘Serverless’ architecture. This means you don’t need to have an active server listening to requests, and you don’t to worry about maintaining any server. Lambda functions also make it very easy to scale to a large amount of users without worrying about changing code. While Lambda functions provide amazing features, deploying and managing them is very difficult. This is especially true when there is a 3rd party library in your code. This requires a difficult zip packaging process, which has to be done every time you change your code.

To make this process simpler, I investigated tools to automate the deployment and management of Lambda functions. I tried many different 3rd party frameworks, but the most comprehensive and full featured framework was the Serverless Framework. With just a few commands, you can have your lambda function deployed to AWS. With Serverless Framework, the complicated zip packaging process is no longer needed. The Serverless Framework provides detailed documentation for setup, configuration, and 3rd party plugins. It allows easy management of AWS infrastructure, and has an extensive 3rd party community. For example, updating Lambda code is as simple as running:

$ sls deploy

Managing infrastructure with Serverless Framework is as simple as writing 1 or 2 lines. Included with every Serverless application is a yml file. YML files are a popular format for continuous integration services such as Travis CI and Circle CI, and its just as easy to use with Serverless. With the Serverless Framework, you can add and manage infrastructure associated with AWS Lambda functions such as SNS triggers, API Gateway, and S3 buckets. As an example, you can add an SNS trigger to your Lambda function by writing the following in your YML file:

f:id:stephenlinkk:20171027153311p:plain

After running the command sls deploy again, Serverless Framework will handle attaching this SNS trigger to your Lambda function automatically. This means you no longer have to navigate to the AWS console and manually add and create an SNS trigger. And then if you would like to remove this SNS trigger, it is as simple as removing that one line of code in the YML file. If you decide that you need to add API gateway to your Lambda function, Serverless makes that process very effortless. Just add the following code to your YML file: f:id:stephenlinkk:20171027153348p:plain

Then again, run: sls deploy. Serverless Framework will attach API Gateway to your Lambda function and display the URL associated with the API gateway. When you are done with the Lambda functions, it is very easy to remove your Lambda functions and the associated infrastructure, just run this command:

$ sls remove

After this command is run, you will see that the Lambda functions are now gone from AWS, and any SNS or API Gateway infrastructure is removed as well. I hope this brief introduction to the Serverless Framework encourages you start moving your application to Serverless architecture. If you would like a more in-depth look at Serverless Framework, please check out there website. Also, I wrote many instructions to deploy and manage Serverless applications. So please, check out my Gist!

https://serverless.com/framework/

https://gist.github.com/stephenlink/043ca31a78039cbd884d0be3ab5bbe09

Elasticsearch: the One Stop Shop for All Your Search Needs

Here at HDE, we started with a homemade indexing algorithm to create indices of data that would be searched by users of our service. But after several years of providing the service, we realized that the performance of this algorithm, and the system that came with it, was not built for the sheer scale of our growing userbase. We especially noticed this with some users whose data came in the scale of terabytes per day and demanded peak performance, which is what prompted us to finally look for an alternative in indexing and searching emails, and that's how we met Elasticsearch.

続きを読む