Build React Native App (4) - Redux, Jest, and NativeBase

Image
From this blog, typescript feature will be added. There are couple of ways to implement static type checking like; flow from facebook, PropTypes and Typescript. Typescript is well integrated with Visual Studio Code and supports better linter, error messages, and intellisense. Reference site Github Sample Ex4 Currnet version D:\GitRepo\reactnative>npm --version 6.3.0 D:\GitRepo\reactnative>react-native --version react-native-cli: 2.0.1 react-native: n/a - not inside a React Native project directory D:\GitRepo\reactnative>yarn --version 1.9.4 Creating React Native App $ react-native init ex4 If you want to specify the version, add "--version 0.57.3" at the end. Add NativeBase to React Native $ npm install native-base --save ... + native-base@2.8.1 added 71 packages from 42 contributors, removed 50 packages, updated 829 packages and audited 34989 packages in 138.542s found 0 vulnerabilities $ $ yarn yarn install v1.9.4 warning package-lock.json found. You

Ansible with automation(9) - Multi Environment Architecture

Introduction

Until series 9, we've prepared to create Docker Cluster and to deploy microservices to the Cluster. From this series, we will start to deploy services to multiple environment.

Architecture

From one of our project, we want to automate from creating VMs to deploy microservices. I've looked at multiple difference options for automation. However, my choice is Ansible because it doens't need any additional installation on the remote machines.

To march the entire steps, I segmented entire scopes to the following segments;

  1. Creating VMs from VMWare and manage ip addresses (CreateVMs.yaml)
  2. Creating Docker Cluster with Community edition (BuildDockerCECluster.yaml)
  3. Deploying default services such as Artifactory, Kong, etc (BuildDefaultMicroService.yaml)
  4. Build Docker private repository. Final choice is to use "Harbor" from VMware.
  5. Deploying custom solutions to Docker Cluster (DeployMicroservices.yaml)

This is the entire drawing to support from the above segments

Overview of multiple environment

Each environment; Production, Test, and Development will have the following configuration

Each environment will have two docker clusters for DMZ and Internal network. The service in DMZ will focus on Authentication and Authorizatoin and Internall will provide actual service.

Docker Overview

Docker Cluster Overview

Folder Structure

D:\BITBUCKETREPO\ANSIBLE
|   BuildDefaultMicroService.yaml
|   BuildDockerCECluster.yaml
|   CreateDockerVolumes.yaml
|   CreateVMs.yaml
|   DeployMicroservices-Test.yaml
|   DeployMicroservices.yaml
|   README.md
|   sethostname.yaml
|   test.yaml
|   
+---dockerimages
|       artifactory-mssql.yaml
|       artifactory.yaml
|       db.properties
|       ExactCallLogService.yaml
|       mssql-jdbc-6.4.0.jre8.jar
|       SalesRouteService.yaml
|       
+---inventory
|   +---prod
|   |       hosts
|   |       
|   +---shared_vars
|   |       shared-secrets.yml
|   |       shared-vars.yml
|   |       
|   \---test
|       +---dmz
|       |   |   docker_hosts
|       |   |   vm_hosts
|       |   |   
|       |   \---group_vars
|       |           docker.yml 
|       |           secrets.yml
|       |           vcenter.yml
|       |           
|       \---internal
|           |   cicd_list (Service which will be deployed to Docker)
|           |   docker_hosts (docker hosts to build cluster)
|           |   vm_hosts (vm hosts to provide docker service)
|           |   
|           \---group_vars
|                   docker.yml
|                   secrets.yml
|                   vcenter.yml
|                   
+---tasks
|       load-vars.yml (this will load all variable from group_vars under inventory)
|       
\---templates
        daemon.j2
        

Summary

We looked at general structure to support 3 environments with 2 docker cluster for intenral and DMZ.

From the next series, we will look at detail steps how to implement.

Comments

Popular posts from this blog

Export folder structure to file on Windows, Mac, and Linux

Adding SOAP Header generated by JAXB(wsimport)

Sample application for Active Directory SSO with Spring Security 4 and Waffle