In this blog I will walkthrough how to integrate Angular App with GraphQL API and then using AWS Amplify to easily publish it into AWS Cloudfront within 5 minutes.
Here we use SpaceX GraphQL API endpoint as the data source.
First install Angular cli.
% sudo npm i -g @angular/cli
Then create an Angular project and start the default app.
% ng new apollo-angular
% cd apollo-angular
% ng serve
Browse http://localhost:4200 we can see the default sample website running.
Next adding apollo-angular module
% ng add apollo-angular
In graphql.module.ts …
In Part 1, I have put a React frontend app onto AWS Cloudfront and integrated with Cognito Authentication Service using AWS Amplify.
In this writing I am about to add the Predictions Category and try out the following ML services among many supported use cases using Amplify platform.
Let’s start with “Translating Text” and integrate it into React Hooks App.
(1) Translating Text from One Language to Another (Amazon Translate…
AWS Amplify is a platform used to develop and deploy mobile and web apps in AWS. This blog shows how to use Amplify to develop a minimal React app with authentication and then publish onto AWS S3 with Cloudfront CDN.
Go to nodejs.org to download and install a latest version of Node.js on your laptop. Then create a react project “amplifyreact”
% npx create-react-app amplifyreact
Start a local dev server for quick test.
% cd amplifyreact
% npm start
Go to localhost:3000 and we can see the webpage
Now let’s go back to command line and do a build for…
AWS Fargate is a “serverless” technology for AWS ECS. It allows users to focus on applications instead of managing underline infrastructures.
Amazon Elastic Container Service(ECS) has two modes: Fargate launch type and EC2 launch type. There are several benefits when using Fargate launch type.
(1) No EC2 or Cluster to manage. Using AWS Fargate, no need to worry about EC2 instance type, EC2 auto scaling, etc., all these are going away from our concern.
(2) Seamless scaling, using Fargate, we only need to define application requirements ( CPU, memory, etc.), …
Istio is a Service Mesh product also built on Envoy Proxy.
In AWS, both Ambassador and Istio use classic ELB to be as entry gate for Ingress traffic.
Although Istio can routes Ingress traffic to internal service through Ingress Gateway, we will walk through how to get Ambassador and Istio work together on Amazon EKS — Using Ambassador for Ingress Routing from internet to EKS cluster, then using Istio for traffic management within the EKS cluster.
We will use the bookinfo…
In this Blog we will demonstrate how to use Ambassador on Amazon EKS for Ingress Routing.
We will use DEV and QA sample environments in this demo. Ambassador allows both DEV and QA to share the same AWS ELB and map to the different microservices by using different path. The below diagram shows the setup after configurations.
Prerequisite: Refer Blog to setup Amazon EKS.
kubectl apply -f https://getambassador.io/yaml/ambassador/ambassador-rbac.yaml
Check we can see three Pods created and running
$ kubectl get pods
Confluent Platform is a streaming platform for large-scale distributed environments, and is built on Apache Kafka. Confluent Platform enables all your interfaces and data systems to be connected, so you can make decisions leveraging all your internal systems in real time.
Using Confluent’s Helm Chart to install the complete suite of Confluent Kafka Platform onto Kubernetes greatly simplify the Kafka components setup and easy to be integrated into CICD pipeline.
In this blog, we will use Istio and Amazon EKS to demonstrate Request Routing, one of the best features of Service Mesh.
Istio is a Service Mesh product. It is the joint effort of IBM, Google and Lyft.
It supports traffic flow management, access policy enforcement and the telemetry data aggregation between microservices. Istio does all this with no changes to application source code.
More information about Istio can be found in official documentation.
Now let’s start by setting up Istio on EKS.
Kubernetes StatefulSets, like ReplicaSets and Deployments, is a high level Controller which manages Pods that are based on a same container specification. It has same pattern as other Controllers: defining desired state in a StatuefulSet, then the StatefulSet Controller makes it get there from current state.
Unlike ReplicaSets and Deployment, StatefulSet has the following different behaviors.
(1) StatefulSets keeps a stable identity for each of their Pods. The stable identifier means it maintains the same across any rescheduling. ReplicaSets and Deployments not using stable identity for Pods. Pods are given different identity if rescheduled.
(2) In StatefulSets, The Pods are…
ConfigMaps is Kubernetes object to provide a way to define environment variables or load config files during Pods launch time. By this way we can decouple configurations variables away from container images and let it injected into Pod dynamically. Also ConfigMap can be a central location to provide environment variables or config files for multiple Pods and reference these from applications.
Secrets is similar to ConfigMaps but it is for sensitive credentials such as tokens, keys and passwords, whereas ConfigMap is for non-sensitive data.
Another difference is Secrets data will be stored in a base64 encoded form, but ConfigMaps data…