Setup Ionic for the Web (without installing cordova or android dependencies)

1. npm install -g npm
2. npm install -g ionic cordova
3. ionic start --v2 --ts --verbose myApp tabs
4. ionic serve

ref: https://ionicframework.com/getting-started/
Tutorial: https://scotch.io/tutorials/build-a-mobile-app-with-angular-2-and-ionic-2
Integrating Native: http://ionicframework.com/docs/guide/installation.html

AWS Lambda and Docker

Simulate Locally: https://github.com/lambci/docker-lambda

https://aws.amazon.com/blogs/compute/better-together-amazon-ecs-and-aws-lambda/

  • AWS Lambda Functions are easy to build and deploy.
  • You only pay for resources used in the execution of your Lambda Function, not for servers to standby and be ready to execute your function. This should yield cost savings where you have highly variable load.
  • Automatic scaling of the underlying compute resources falls out as part of the approach. In fact, it isn’t even really a question or consideration from a technical perspective.
  • Integration with other AWS services is trivial as is exposing your function for direct invocation.
  • You are trading management of fewer, coarser-grained components for the management of an increased number of finer-grained Lambda Functions

GraphQL Architectures for the Cloud

  • DynamoDB AWS

ref: https://serverless.zone/graphql-with-the-serverless-framework-79924829a8ca#.pwyombhd5

 

AWS DynamoDB utilities to simplify working with GraphQL connections: https://www.npmjs.com/package/graphql-dynamodb-connections

https://www.mongodb.com/presentations/aws-reinvent-2016-how-thermo-fisher-is-reducing-mass-spectrometry-experiment-times-from-days-to-minutes-with-mongodb-atlas-on-aws

mongodb atlas vs dynamodb

TLDR: Bottomline is that Atlas will cost more than DynamoDB, but coz MongoDB is open source, you’ll not be locked into dynamoDO.

MongoDB compared to DynamoDB MongoDB compared to MongoDB

Joseph then compared MongoDB to DynamoDB, stating that while both databases are great and easy to deploy, MongoDB offers a more powerful query language for richer queries to be run and allows for much simpler schema evolution. He also reminded the audience that MongoDB can be run in any environment while DynamoDB can only be run on AWS.

Finally, Joseph showed an architecture diagram showing how MongoDB is being used with several AWS technologies and services (including AWS Lambda, Docker, & Apache Spark) to parallelize algorithms and significantly reduce experiment processing times.

Parallel data processing

Reducing experiment times from days to minutesHe concluded his presentation by explaining why Thermo Fisher is pushing applications to MongoDB Atlas, citing its ease of use, the seamless migration process, and how there has been no downtime, even when reconfiguring the cluster.

ref: https://www.mongodb.com/blog/post/thermo-fisher-moves-into-the-cloud-with-mongodb-atlas-and-aws

 

MongoDB in Cloud Scenarios

  1. Self setup: EC2
  2. MongoDB as a Service: mongodb atlas: https://aws.amazon.com/marketplace/pp/B01LB0TRCO. See https://www.mongodb.com/cloud/atlas/faq

https://s3.amazonaws.com/quickstart-reference/mongodb/latest/doc/MongoDB_on_the_AWS_Cloud.pdf

TLDR: Atlas is the way to go. See: https://wordpress.com/post/discventionstech.wordpress.com/16052

Comparing MongoDB as a Service Offerings

MongoDB Atlas is delivered by the same team that builds MongoDB. But it’s not the only MongoDB service available to you. The chart below shows how the different options stack up.

Overview
MongoDB Atlas
mLab
Compose.io
Object Rocket
Choice of cloud providers AWS today
Azure & GCP in the future
AWS, Azure & GCP
Not all features available on every cloud provider
AWS, Softlayer & GCP
Available in 2 regions for each provider
Rackspace
Choice of instance configuration Yes
CPU & memory can be configured independently of storage & disk I/O
Partial
Different instance sizes can be chosen, but CPU, memory, storage & I/O are fixed for each instance size
No
Configuration based on required storage capacity only. No way to independently select underlying hardware configurations
No
Configuration based on required storage capacity only. No way to independently select underlying hardware configurations
Availability of latest MongoDB version Yes
MongoDB 3.4 available today
No
New versions typically available 1-2 quarters following database release
MongoDB 3.2 is available
No
New versions typically available 1-2 quarters following database release
MongoDB 3.2 is available
No
New versions typically available 1-2 quarters following database release
Currently MongoDB 3.0
Replica Set Configuration Up to 7 replicas
All replicas configured as data bearing nodes
2 data bearing nodes and an arbiter as standard
Adding a 3rd data bearing node increases costs by 50%
3 data bearing nodes
One of the data bearing nodes is hidden and used for backups only
3 data bearing nodes
Automatic Sharding Support Yes
Dependent on cloud platform
Not available on Azure
No
Yes
Database supported in on-premise deployments Yes
MongoDB Enterprise Advanced and MongoDB Professional
No
No
No
Monitoring & Disaster Recovery
MongoDB Atlas
mLab
Compose.io
Object Rocket
Monitoring of database health with automated alerting Yes
MongoDB Atlas UI & support for APM platforms (New Relic)
Yes
mLab UI & support for New Relic
Yes
New Relic
Yes
New Relic
Continuous backup Yes
Backups maintained
seconds behind production cluster
No
Backups taken with mongodump or filesystem snapshots
No
Backups taken with mongodump against hidden replica set member
No
Backups taken with mongodump
Automated & consistent snapshots of sharded clusters Yes
No
Requires manually coordinating the recovery of filesystem snapshots across shards
Not Applicable
No support for auto-sharding
No
Requires manually coordinating the recovery of mongodumps across shards
Security Controls
MongoDB Atlas
mLab
Compose.io
Object Rocket
Access control & IP whitelisting Yes
Yes
Yes
Yes
AWS VPC Peering Yes
Yes
Additional Charge
Beta Release
No
Encryption of data in-flight Yes
TLS/SSL as standard
Yes
Additional charge
Yes
Yes
Encryption of data at-rest Yes
Optionally configure with encrypted storage volumes
No
No
Yes
Available only with specific pricing plans and data centers
Support & Services
MongoDB Atlas
mLab
Compose.io
Object Rocket
Database support delivered directly by MongoDB engineers Yes
Available with an optional pre-pay support contract
No
Support provided by mLab engineers
No
Support provided by Compose engineers
No
Support provided by ObjectRocket engineers
Consulting services available for project lifecycle Yes
MongoDB Consulting Services
No
No
Partial
Database migration services only
Pricing granularity Per Hour
Per Day
Per Hour
Per Day

Amazon DynamoDB VS MongoDB

http://db-engines.com/en/system/Amazon+DynamoDB%3BMongoDB

Name Amazon DynamoDB  X MongoDB  X
Description Hosted, scalable database service by Amazon with the data stored in Amazons cloud One of the most popular document stores
Database model Document store Document store
DB-Engines Ranking
Trend Chart
Score 31.03
Rank #22   Overall
#2   Document stores
Score 331.90
Rank #4   Overall
#1   Document stores
Website aws.amazon.com/­dynamodb www.mongodb.com
Technical documentation aws.amazon.com/­documentation/­dynamodb docs.mongodb.com/­manual
Developer Amazon MongoDB, Inc
Initial release 2012 2009
Current release 3.2.10, September 2016
License commercial Open Source
Cloud-based yes no
Implementation language C++
Server operating systems hosted Linux
OS X
Solaris
Windows
Data scheme schema-free schema-free
Typing yes yes
Secondary indexes yes yes
SQL no no
APIs and other access methods RESTful HTTP API proprietary protocol using JSON
Supported programming languages .Net
ColdFusion
Erlang
Groovy
Java
JavaScript
Perl
PHP
Python
Ruby
Actionscript
C
C#
C++
Clojure
ColdFusion
D
Dart
Delphi
Erlang
Go
Groovy
Haskell
Java
JavaScript
Lisp
Lua
MatLab
Perl
PHP
PowerShell
Prolog
Python
R
Ruby
Scala
Smalltalk
Server-side scripts no JavaScript
Triggers yes no
Partitioning methods Sharding Sharding
Replication methods yes Master-slave replication
MapReduce no yes
Consistency concepts Eventual Consistency
Immediate Consistency
Eventual Consistency
Immediate Consistency
Foreign keys no no
Transaction concepts no no
Concurrency yes yes
Durability yes yes
In-memory capabilities yes
User concepts Access rights for users and roles can be defined via the AWS Identity and Access Management (IAM) Access rights for users and roles