HDE BLOG

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

41st Monthly Technical Session (MTS) Report

41st Monthly Technical Session (MTS) was held on December 15th, 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 41st MTS was Tanabe-san.

f:id:bagus-rahman:20171220202715j:plain

The first topic was "GIP Brand: Redefined" by Jazman-san. He is one of our Global Internship Program (GIP) participants. According to Business Dictionary, brand is a unique design, sign, symbol words, or a combination of these, employed in creating an image that identifies a product and differentiates it from its competitors. His task during his internship is to refresh the brands of GIP and HDE as an employer.

In order to achieve those tasks, Jazman-san is going on a 2 months long campaign on social media. Based on his analysis, there is a loss of potential applicants due to the lack of showcasing internship activities. Naturally then, his goal with the campaign is to gain more GIP applicants by showcasing internship activities at HDE, Inc. in a fun, exciting, and comprehensive way.

He went on to explain various aspects of the campaign, such as its objectives, identity (logo, title, mood and tone, color palette) target audience, framework, and timeline. He ended his session by reporting the progress of the campaign. In a relatively short time, the campaign has significantly improved the reach, post engagements, and net likes of GIP's Facebook page.

f:id:bagus-rahman:20171220202741j:plain

The second topic was "Basic Knowledge about Authentication" by Okumura-san. He explained several standards related to authentication and authorization. To put it simply, authentication is the process of ascertaining that someone really is who one claims to be. On the other hand, authorization refers to rules that define who is allowed to do what.

Okumura-san explained standards such as SAML, OpenID, OAuth, and OpenID Connect. In very general terms, in SAML, service providers redirect users to a predefined identity provider, which does the authentication. One of the ways OpenID differs from SAML is in the way that relying parties provide users options of OpenID providers.

OAuth is an authorization standard. Similar to SAML, service providers redirect users to a predefined identity provider. However, instead of an assertion of identity, the response from an identity provider is an access token that may grant service providers access to the identity provider's APIs on the user's behalf. OpenID Connect is a simple identity layer on top of OAuth 2.0. It allows clients to verify a user's identity based on the authentication performed by an authorization server.

f:id:bagus-rahman:20171220202814j:plain

The third topic was "Rust and the Web Platform" by Hugo-san. He was also one of our GIP participants. He began by explaining the concepts related to Rust itself, such as asm.js, WebAssembly, and emscripten. asm.js is a low-level strict Javascript subset. It is still JavaScript, with some performance benefits. WebAssembly is a low-level bytecode format. Recently, Rust supports compilation to WebAssembly. Emscripten is a source-to-source compiler. It allows code written in statically-typed languages with memory management to be translated to JavaScript.

According to Hugo-san, some of the main properties of Rust are safety and control. He likes that Rust has types, sets variables as immutable by default, uses modern syntax but can also be low-level, and provides validations during compilations. One downside of Rust that he pointed out was the absence of a garbage collector. Instead, it utilizes lifetimes to keep track of usage scope and object destruction. He also explained how to compile a Rust code to WebAssembly.

f:id:bagus-rahman:20171220202839j:plain

The fourth topic was "Our AI Overlords" by Kirby-san. He was also one of our GIP participants. AI has been advancing rapidly in recent years. In his talk, Kirby-san explained the many feats AI has achieved. He first explained AlphaGo, the first computer program to defeat a professional human Go player (in 2015). Fast forward two years later, AlphaGo managed to defeat a Go world champion. Its most recent incarnation, AlphaGo Zero, is an AI neural network with 0 human data.

DeepMind, the team behind AlphaGo, is now aiming to conquer another game, StarCraft II. The game's rich and multi-layered gameplay makes it an ideal environment for AI research. Another team, OpenAI created a bot which beat the world's top professionals at 1v1 matches of Dota 2 under standard tournament rules. Interestingly, players eventually managed to beat the bot (for now?) by way of unconventional strategies.

Obviously, AI can do so much more than win games. It can drive cars, recognize faces, reduce data center cooling bill, and even recreate Nobel-winning physics experiment. The potential of AI had a lot of people talking. Some believe AI will eventually supersede humans, which raised concerns of regulation. Still, some others believe it is still too early to regulate or worry to much about AI.

f:id:bagus-rahman:20171220202908j:plain

The fifth topic was "Hands on AWS Fargate" by Michael-san. AWS Fargate, introduced at AWS re:Invent 2017, is a technology for Amazon ECS and EKS that allows you to run containers without having to manage servers or clusters. In other words, it is the ECS and EKS you know, only without the need to manage EC2 instances. There's no need to manage EC2 count, ECS agent, auto scaling groups, task placement, networking, etc.

According to Michael-san, what's so good about AWS Fargate is that it makes scaling easier, integrates with load balancers seamlessly, and equips each task with its own network interface. On the other hand, Fargate is not cheap and provides limited log processor choice, at least for now. He ended his talk by demonstrating how AWS Fargate works.

f:id:bagus-rahman:20171220202942j:plain

The sixth topic was "QQ English in Cebu" by Tsukuda-san. He went to Cebu last month to learn English for 4 weeks. QQ English is located in Cebu IT Park. There are about 1,000 teachers in QQ English, all of which have international licenses for teaching English.

On the first day, students had a placement test. Classes started at 9 AM and ended at 6 PM. There were 8 classes in a weekday, each of which lasted for an hour. Tsukuda-san's curriculum consisted of listening, grammar, pronunciation, reading, group discussion, and more. On the last day, students had another test to check their progress.

Tsukuda-san also shared how he spent his weekends at Cebu. He went to a shooting club in Mactan and spent some time in Pandanon Island. He also introduced some Filipino foods, such as Lechon and Balut.

f:id:bagus-rahman:20171220203016j:plain

The seventh topic was "ServerlessConf Tokyo 2017" by Jeffrey-san. ServerlessConf Tokyo 2017 was held on November 2nd and 3rd. The first day was for workshops. In the AWS track of the workshops, participants were separated into teams and asked to create either a dashboard, chat, or dating application using only AWS serverless technology. After 8 hours of coding, his team became one of the few ones that managed to finish their application.

The second day was for the conference itself. Jeffrey-san learned quite a lot of interesting things, the first of which is Serverless Event Gateway. It allows serverless functions to communicate across different cloud providers using a set of standardized event format, using a publisher/subscriber model. Microsoft came full force to the conference with Microsoft Azure Functions, which supports JavaScript, C#, and F#. Durable Functions is its extension which allows user to write stateful function in a serverless environment. There was also a talk about serverless patterns.

Jeffrey-san was not only an audience of the conference, but he was also a speaker. The title of his talk was "AWS Lambda Pain(less): Adventures in Stream Processing". He taught the audience the high-level architecture of one of his projects and the lessons he learned from its development.

f:id:bagus-rahman:20171220203047j:plain

The eighth topic was "Office Tour in San Francisco" by Doi-san. The intent of this office tour is to learn how the companies in San Francisco are organized, how they run their business, and how they build successful company cultures. He went to several offices in San Francisco, like Oracle and Box. He also visited Googleplex and Apple Park Visitor Center.

Doi-san learned the most from his visit to Box' office. The office itself has many interesting features, such as cafetaria, bar, pool tables, table tennis tables, presentation halls, and more. Apparently, Box' employees regard the office as one of their communication tools. They display customers' use cases at the entrance and use customer names as room names. Box define their core values and applies them everywhere, on their products, working style, hiring process, etc. He also learned about Box' release flow and how they automate parts of their customer success efforts.

f:id:bagus-rahman:20171220203126j:plain

The ninth topic was "re:Invent 2017" by David-san and Ito-san. As you may have already known, re:Invent is Amazon Web services' global customer and partner conference, which is held annually. This year, the event was held November 27 - December 1. They began by explaining what Las Vegas was like, such as the weather, the hotels, and the gambling.

The impression that they got from attending re:Invent 2017 is that the world of cloud computing is shifting to serverless and container. re:Invent 2017 is considerably larger than its past iterations. There were more than 40,000 attendees (an increase of 35% from last year), 6 venues (twice compared to last year), and about 1,000 sessions. Some of the sessions they found interesting are "NEW LAUNCH! AWS Serverless Application Repository", "Deep Dive on AWS CloudFormation", "Advanced Design Patterns for Amazon DynamoDB", "Tools Won't Fix Your Broken DevOps", "Life of a Code Change to a Tier 1 Service", and "Serverless Architectural Patterns and Best Practices". Besides these sessions, they also took interests in Amazon Alexa, AWS X-Ray, Amazon Neptune, AWS Cloud9, and many more.

They also participated in some non-technical activities such as Pub Crawl and re:Play Party. There were even activities such as Tatonka Challenge, 4K Run and Harley Ride. They ended this session by giving various advice for next year's participants.

We've also written an article about AWS re:Invent 2017 on-site activities. The article elaborates on workshop, hands-on, and JAM sessions.

f:id:bagus-rahman:20171220203204j:plain

The day of the 41st MTS was also the last day of Hugo-san and Kirby-san's internships. We had a small event for them and gave them some souvenirs. In turn, they shared their impressions of their time working for us. Thank you very much for your contributions, Hugo-san and Kirby-san!

f:id:bagus-rahman:20171220203254j:plain

f:id:bagus-rahman:20171220203326j:plain

As usual, we had a party afterwards :)

f:id:bagus-rahman:20171220203453j:plain