AWS Mobile Hub for Server-less Server Management

Overview

Hi everyone, this is Horike of YOJINBO WordPress app support. I’d like to introduce our systems in today’s blog.

We have made an iPhone app to control AMIMOTO, our managed hosting server using AWS Mobile Hub. Really cool huh?

Structure Chart

Untitled (2)

You can start/stop instance and change the instance size through the app which uses Lambda functions.

When CloudWatch receive alerts, it pushes notifications to the app by SNS.

Cloud Logic

Cloud Logic

The Cloud Logic controls Lambda functions, which works on Mobile Hub. Only the checked Lambda functions can get requests from the app.

Lambda functions are just like below:
https://gist.github.com/horike37/db659dffa8e12ae7907d

https://gist.github.com/horike37/149d0fc4587e03a92f62

Push Notifications

Push Notifications

You can turn on or off the push notifications, choose platforms on which the app will send notifications to, choose platforms and what kind of topics to send to.

If you’re going to build an iPhone app, you should register as developer to Apple and get a certification, then upload it to the Mobile Hub (SNS).
So far, you won’t have anything to do on AWS.

Build the App

build the app

When you have finished the setup on AWS, you’ll create the app’s source codes and download it locally.

Play with some UIs and Actions

You’ll need a user interface screen with this app that your designer can create.
While Actions need some tuning when the app orders to Lambda.

Here are the default UIs of the app when you have downloaded it from Mobile Hub:
Boot AMIMOTO by the mobile app built with AWS Mobile Hub.
To make your own, fork and develop it.

Below are the codes of section of starting the instance from the app. The app sends start instance request to Lambda function after an authentication is cleared with TouchID.
https://gist.github.com/horike37/ff3a7d2a2f373020cc8e

Complete

Conclusion

“You have the freedoms to do what you wish to do.”
I believe this is the essence of server-less architecture.
I wanted to control managed hosting servers with just a single app.

Mobile Hub can control authentications to connect to servers and IAM permissions or roles. Pretty cool right?
I just built some business logic with Lambda. All I need are UIs and some Actions.
As a beginner app developer, Lambda is the easiest way to create an app.

That’s it for now, enjoy a server-less server management!