2. Service started on 2007.
About 2M Subscribers.
Millions of Transactions per month.
Most of the Parking transactions are paid using Pango.
About Pango
3. Pango Services - Parking
On-Street Parking
Off-Street Parking (Smooooth Parking)
Pango Simple:
End-on-Drive
Personal Reminder
Smooooth Parking
Where’s my car
Parking Locator
4. Pango Services - Car
Car Care:
Annual Test
Car Maintenance
Car Insurance
Flat Tire
Car Wash
5. Pango Services - Roads
Roadside Assistance
Starting the vehicle if the battery is empty
A taxi to your destination in the event of a car
accident
Changing a tire in the case of a flat tire
Stuck with no gas? We’ll fill your car up
Toll Roads
Tel Aviv Fast Lane
Route 6’s northern section
Police Assistance
6. Use Case: App Action Logs
Log user actions in the applications:
Login
StartEnd Parking
AddRemove Car
AddRemove Driver
Etc.
Save as much data as we can.
Let Customer Service and Operations use these logs.
Save user action history.
Use data mining & ML in order to improve service and revenues.
7. Why MongoDB?
Old Solution used PHP & PostgreSQL.
Old solution was not good enough because:
Poorly written.
Hard to maintain and not flexible.
Not scalable and had performance issues.
New Solution uses Angular & MongoDB and is better because:
Simplicity – Maps naturally to our C# POCOs. No need for complex ORM layer.
Flexibility – Each document can store data with different attributes from other
documents (polymorphism). Easily handle the semi and unstructured data.
Scalability & Availability – Easily scales with no downtime and without changing the
application.
Performance – Data for an entity stored in a single document (r/w to a single place).
8. Why MongoDB Atlas?
Database-as-a-service platform (DBaaS).
Cloud-hosted MongoDB service on AWS, Azure, and GCP.
Easy to create – Automates infrastructure provisioning, setup, and
deployment.
Easy maintenance:
Patches and minor version upgrades are applied automatically.
Major versions upgrades with few clicks.
High Availability:
Always on and durable with self-healing clusters across multiple availability zones.
Continuous backups and point-in-time recovery.
9. Why MongoDB Atlas?
Scalability – Scale out or upgrade with few clicks and no downtime.
Security features:
Deployed in unique VPC to ensure network isolation.
IP whitelisting.
VPC Peering.
Encryption at rest and in transit (TLS/SSL).
Role-based access management.
Monitoring and optimization:
Optimized charts tracking dozens of key metrics in real-time.
Alerts and query performance suggestions.
High performance – high throughput and low latency for most workloads.
13. Use Case: Major Ver Upgrade
Migrate from version 3.2 (EOL) to 4.0.2 .
Recommendations & Considerations:
Must upgrade one major version at a time (3.4 > 3.6 > 4.0.2).
Some features may not be backward-compatible with previous versions.
Test in a separate staging environment and then update the production cluster, in order
to avoid downtime.
Upgrade your application to the latest MongoDB drivers – Recommended.
Major version migration is easy but you can’t rollback. You cannot
downgrade the MongoDB version of an Atlas cluster!
Our solution: Atlas Live Migrate.
14. Atlas Live Migrate
Migrate an existing MongoDB cluster to MongoDB Atlas with minimal
downtime.
Prerequisites:
Source Cluster Firewall Must Allow Access from Live Migration Server IP addresses.
Atlas temporarily adds the IP address of the Atlas migration servers to the project
whitelist and removes them automatically when completed.
Atlas validates that source and destination clusters are replica sets.
If source cluster enforces authentication create a user with
readAnyDatabase role on admin database (reads all databases and collections).
Read oplog.
Make sure that Source Cluster Workload <= Destination Cluster Throughput.
Atlas does not migrate any user or role data to the destination cluster.
15. Atlas Live Migrate Procedure
On the destination cluster click
“Migrate Data to this Cluster”.
Displays IP addresses used.
Source Cluster Hostname:Port
Source Cluster User & Password
Source Cluster uses TLS/SSL?
Upload source cluster’s CA file?
Clear any existing data on your
target cluster?
Click “Validate”.
16. Atlas Live Migrate Procedure
Click “Start Migration” to start.
Atlas UI displays the Migrating Data screen showing the time
remaining for sync.
Wait until the migration timer and the Start Cutover button turn
green.
You have 72 hours to begin the cutover procedure. You can extend
by an additional 24 hours (click “Extend time”).
“Start Cutover” when ready and get the connection string.
When finished testing your app click “I’m Done” to complete the
migration procedure.
17. Summary
Why MongoDB? Simplicity, Scalability, Flexibility, Availability.
Why MongoDB Atlas? Cloud DBaaS, Easy Maintenance, High
Availability, Highly Secured, Scalability, Monitoring and Performance.
How to create MongoDB Atlas Cluster.
Application Action Log use case.
Using Polymorphism with MongoDB.
MongoDB Atlas Major Version Upgrade.
How Pango used Atlas Live Migrate to upgrade Major Version.