33rd Monthly Technical Session (MTS) Report

33rd Monthly Technical Session (MTS) was held on April 14th, 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 33rd MTS was Michael-san.


The first topic was "AWS Service Update Summary 2017 Q1 (January - March)" by Mitsuharu Hamba-san from AWS. Recently, 5 new AWS services were introduced.

AWS Batch enables users to run batch computing jobs on AWS. AWS Batch provisions resources based on the requirement of batch jobs. Users don't need to do provisioning tasks, such as managing servers or installing batch computing software, by themselves.

Amazon Cloud Directory is a directory store in AWS. Unlike traditional directory solutions, Amazon Cloud Directory allows users to create directories with hierarchies that span multiple dimensions. However, Amazon Cloud Directory is not a directory service for IT administrators who want to manage or migrate their directory infrastructure. Amazon Cloud Directory is a directory store first and foremost, and it is not designed to support some features their directory does, such as authentication and policy frameworks.

Amazon Chime is a communications service. Amazon Chime supports online meeting, video conference, call, chat, and content sharing, both inside and outside an organization. Amazon Chime is secure and works seamlessly across Android, iOS, Mac, and Windows devices.

AWS Organizations enables policy-based management for multiple AWS accounts. Furthermore, with AWS Organizations, users can control access to AWS services, automate AWS account creation and management, and consolidate billing across multiple AWS accounts.

Amazon Connect is a self-service, cloud-based contact center service. Amazon Connect is based on the same contact center technology used by Amazon. With Amazon Connect, users can set up a cloud-based contact center in minutes. Amazon Connect also makes it easy for users to design contact flows, manage agents, and track performance metrics.

Besides those new AWS services, Hamba-san also introduced various updates of the existing AWS services. He also invited us to participate in AWS Summit Tokyo 2017.


The second topic was "Try to Eliminate Toil with CodePipeline" by Doi-san. The book Site Reliability Engineering defines toil as the kind of work tied to running a production service that tends to be manual, repetitive, automatable, tactical, devoid of enduring value, and that scales linearly as a service grows.

Doi-san feels that there's a toil in the deployment process of the project he's working on. He needs to check every change in the infrastructure that he's about to make. According to Doi-san, this process doesn't have a well-defined procedure, is prone to human error, and wastes time.

AWS CodePipeline is a continuous integration and continuous delivery service with which users can model, visualize, and automate the steps required to release software. Furthermore, AWS CodePipeline also allows users to establish a consistent release process, incorporate AWS services and third-party tools into a pipeline, and others.

Doi-san had been interested in utilizing AWS CodePipeline for quite some time, and finally it was released in Tokyo region. He demonstrated how users can utilize AWS CodePipeline and showed us how the service changed the deployment process of the project he's working on.


The third topic was "Let's Try Azure" by Kodama-san. In the 32nd MTS, Mami Konishi-san and Drew Robinsons-san from Microsoft introduced Microsoft Azure to us. Afterwards, Kodama-san went ahead and prepared a Microsoft Azure environment for our development team.

Kodama-san explained Microsoft Azure hierarchy. From top to bottom, the hierarchy consists of Directory, Subscription, Resource Group, and Resource. Directory (Azure Active Directory) is where users are registered. Subscription is a billing unit. Resource Group is a container that holds related resources for an Azure solution. Resource is a manageable item that is available through Azure, such as VM, database, etc. The associations between the hierarchy elements are all one-to-many. For example, a Directory can be associated to multiple Subscriptions, but a Subscription must be associated to exactly one Directory. Kodama-san then proposed some rules regarding our Microsoft Azure hierarchy.

Kodama-san introduced some Microsoft Azure services, such as Azure Container Service and Cognitive Services. He then made a sample solution of analyzing logs using various Microsoft Azure services. He also recommended forums where members of our development team can ask questions about Microsoft Azure.

He concluded the session by reminding everyone of Microsoft Build 2017. There may be announcements about Microsoft Azure in the event.


The fourth topic was "Serverless HTML Form Using Customers Mail Cloud" by Chia-Chun-san. He was our Global Internship Program (GIP) participant. Serverless HTML Form is the application he had been working on during his internship. He implemented with the intentions of learning how to develop an application with serverless architecture, showing the extent of Customers Mail Cloud's capabilities, and identifying the ways Customers Mail Cloud can be integrated with other cloud computing services.

There are several requirements of Serverless HTML Form. First, the application should have a static webpage, with which users will be able to send emails. Second, after a user sends an email, the application should send confirmation emails to the user and their manager. Third, the application should be serverless.

Chia-Chun-san actually implemented two versions of Serverless HTML Form. The first version worked well, but it had problems about email status. Even if an email couldn't be sent (e.g. because of typos in the email address), Serverless HTML Form would still regard the email as being successfully sent. In other words, users couldn't receive the email, and they wouldn't be able to know its status (e.g. is still being sent, failed to be sent, is sent to the wrong address, etc.).

The second version solved this issue by utilizing Customers Mail Cloud's features. The second version's architecture consists of Amazon S3, Amazon API Gateway, AWS Lambda, Amazon DynamoDB, and Customers Mail Cloud. Chia-Chun-san also explained the second version's workflow and message flow. He also shared some important things he had discovered during the second version's implementation. Finally, he demonstrated how to utilize the second version of Serverless HTML Form.


As usual, we had a party afterwards :)