Duck Dock Goose Orchestra

[Docker time]

Maria Aprillia Devira
UKM Heroes
4 min readNov 28, 2019

--

Docker Orchestration, or some would call it container orchestration, is the automatic process of managing the work of an individual container for applications that are based on microservices within multiple clusters. Basically it enables a fast and reliable deployment of an applications components by creating a sort of container to hold the ready to deploy applications with the middleware and application logic needed to run them successfully. It is purposely an isolated self-contained part of the application. Here I would talk about the docker orchestration that we’ve successfully used in our project.

Amazon WebServices

Amplify Console

Amplify Console is a CI/CD and web hosting provided by AWS. We can use it to host full stack serverless web apps. It’s pretty similar to Gitlab, as it has a GIT-based workflow, so we can code like we always do. Front-End and Back-End Environment are created every time we add new features by Amplify.

DynamoDB

Also provided by AWS, we use DynamoDB as our main database. Amazon DynamoDB is a fully managed proprietary NoSQL database service that supports key-value and document data structures. As we have a large database, NoSQL can prove better than SQL as it scales horizontally (we only need to add new servers).

AppSync

Amazon AppSync is a managed service that uses GraphQL to make it easy for applications to get exactly the data they need. AppSync help with combining multiple data sources into one GraphQL endpoint. We use this to query the data we have on DynamoDB by using GraphQL.

Cognito

Amazon Cognito lets us add user sign-up, sign-in, and access control to our web and mobile apps quickly and easily. Amazon Cognito scales to millions of users and supports sign-in with social identity providers, such as Facebook, Google, and Amazon, and enterprise identity providers via SAML 2.0. We use Cognito mainly as an identity/user pool to access other resources.

S3

Amazon Simple Storage Service (Amazon S3) is an object storage service that offers industry-leading scalability, data availability, security, and performance. We use S3 as the storage of our images.

Extra stuff

There are many other services that utilized behind the scene such as IAM, Lambda, CloudWatch, etc. Each of them has their own role in our development.

Application

Angular

The development team in UKM Indonesia had already been using Angular before, which is why we use this. Angular is a TypeScript-based open-source web application framework and a platform for building mobile and desktop web applications.

Amplify JS

Creating a serverless application can be hard sometimes. Amplify JS help by abstracting most of AWS services into categories such as authentication, storage, and API. It is a JavaScript framework that work with frontend framework like Angular, React, and Vue to help abstract most of AWS’s little configuration so that developer can focus more on building the app itself. Don’t know what else to write so here is an example of Amplify JS service configuration.

Software Architecture

Software Architecture for UKM Indonesia

Although currently, we are using google cloud platform as of now due to the mishaps that occurred with our original backend. Our google cloud platform has not been fully configured by our backend team along with UKM Indonesias tech team, thus we couldn’t make the orchestration as of yet.

This would be all I know about docker orchestration, the next I would be writing about Deployment. Well, I hope this is informative enough to explain our docker orchestration and

In a while crocodile!

--

--