Serverless Champions

Takahiro Horike

Takahiro HorikeDigitalCube Co. Ltd

Takahiro Horike is a Software Engineer at DigitalCube Co. Ltd. He is the author of Serverless Dashboard for Atom and Serverless Step Functions plugin, and a Serverless Framework core maintainer.

Interview with Takahiro Horike

Tell us about your background. How did you get into programming?

I majored in electrical engineering as a college student. In Japan, during your senior year of college, everyone is assigned to a lab.

During my lab assignment, I ended up needing to write a simulation of visualizing electromagnetic waves. That’s how I got involved in software programming for the first time. I instantly loved it.

After graduating, I started working at an IT company near my hometown, creating a mobile web application with PHP, JavaScript and HTML. From there, I worked on various other web application projects. The foundation of my programming skills was built on those experiences.

One day, I started learning WordPress from my co-worker. That was my first experience diving into the OSS community. I really took advantage of their events and meetups. Then I started organizing events myself, creating WordPress plugins, and so on.

I think my open-source mindset was formed at that time.

How did you get into serverless computing in general? Can you reflect upon your serverless journey over the years?

Since the announcement for Lambda and API Gateway in 2014!

I had been an AWS user since my current company, Digital Cube, started offering a hosting service for WordPress on AWS.

After graduating, I started working at an IT company near my hometown, creating a mobile web application with PHP, JavaScript and HTML. From there, I worked on various other web application projects. The foundation of my programming skills was built on those experiences.

It was hard to deploy and manage Lambda functions (and by default serverless architectures). I noticed serverless computing had various issues and problems. I wanted to improve them because I could tell that my ideal programming world was so, so close. And I could help make it a reality!

However, improving Lambda was too hard, because to do that I’d have to join the team at AWS. That’s a high hurdle.

Then, I found the Serverless Framework. I love Cloud and OSS, so the Serverless Framework attitude and way just fit my mindset well. OSS was not a high hurdle. It was then that I decided to improve the serverless computing world by working on the Serverless Framework movement.

You have been a contributor and an evangelist for the Serverless Framework for a long time. When did you start using the Serverless Framework?

A couple of months later after Lambda was released, I was participating in a conference related to AWS. The Serverless Framework was introduced in a session.

Talk about a service or an application that satisfactorily made you believe that serverless architectures is the way to go. What did you learn from that experience and what do you think is the biggest challenge in developing serverless applications today?

I think these are the two biggest challenges:

  • How should we manage an application that has many microservices?
  • How should we manage security across many microservices?

A lot of serverless applications need to be composed of several services (like CloudFormation in AWS), and then we may need to create many Git repositories to manage each service. The bigger the service you have, the more complex it gets. We should find a way to manage and visualize a bunch of microservices.

The other important thing is a security across microservices. For example, when microservices are divided into organizations or roles, it would be nice if those were protected by something on a security filter like AWS IAM.

Which cloud provider do you deploy to the most? Have you used multiple cloud providers? What is the top item on your wishlist for your cloud provider of choice?

I write most of my functions on AWS because I use that at work.

The top item on my wishlist would be to provide something that makes it easier to realize what I want to do.

Recently, I’ve been playing with GCP a little bit because interested in self-hosted FaaS, like OpenFaas and Kubeless. GCP makes it easy to build a Kubernetes cluster.

What are your views on the maturity of tooling, service ecosystem and developer experience in the serverless space today?

I feel today’s serverless space is still too complex.

I expect that serverless computing will be programming-less computing in the future. I don’t know exactly what this will look like, but for example—I think we’ll be able to build applications by choosing a service and any data sources via GUI, sort of like IFTTT. Then we’d be able to connect them together by unified-specification events.

For example, the goal of Serverless Dashboard for Atom is to make developers not even aware of the cloud. They can publish a service by just clicking the ‘deploy’ button.

I think the deploy-with-serverless plugin has a similar concept.

What are your thoughts on what is keeping serverless architectures to be adopted widely by organizations?

One of the key features of FaaS is that it’s event-driven. However, building any system by only event-driven architecture is a little bit too restrictive.

In the near future, It may be important to build those by combining containers and FaaS. This may facilitate serverless architecture adoption by larger organizations.

You are embedded in the serverless community and we love it. What is the most asked question you get from developers?

The most are about the Serverless Step Functions plugin. I’m always happy to hear that someone’s application went live with the plugin!

Anything specific you think needs to be done for the developer community in Japan. Language support? Blog post translations? What would you like to do, and how can we help?

I hope that more people who are in the Japanese serverless community will actively participate in the global serverless community.

Serverless computing hasn’t yet reached maturity, and the serverless computing community in general is centered around the global one. If many of us can participate in the global community, the evolution of serverless will be even more powerful.

The Japanese community is huge but it is a local one. We have to overcome the language barrier.

To be honest, I’m not sure what I should do to have this be realized. Japanese language support or blog post translations might be effective, but we won’t know until we try.

For another idea, I’ve been considering a workshop on how to contribute to the Serverless Framework, where I would prepare some relatively easy-to-resolve Framework issues in advance and attendees will send PRs during the workshop. I would support, review and merge those there. It would be nice to do if it’d end up being an entrance to the global community for them.