More Related Content More from ArangoDB Database (20) Save Time & Do More 'Cool Stuff' with a Managed Database Service - ArangoDB Oasis Webinar1. + +
Save time and do more
‘cool stuff’ with Oasis
With Ewout Prangsma (ArangoDB) & Ayal Rosenberg (WeBill)
2. Copyright © ArangoDB Inc., 2020
▸ From developer workbench to production
▸ From developer workbench to Oasis
▸ Oasis improvements
▸ What’s next
Agenda
4. Copyright © ArangoDB Inc., 2020
Introduction
Taking a DB from developer workbench to production sounds simple.
But is that true?
What does it take?
5. Copyright © ArangoDB Inc., 2020
Developer workbench 1/3
▸ Running is as easy as
● docker run -d -e ARANGO_RANDOM_ROOT_PASSWORD=1 -p
8529:8529 arangodb
▸ Time spent: < 1min
▸ This will bring you:
● A single database instance
● Fully functional Graph & beyond
● Easy to use web UI at https://localhost:8529
6. Copyright © ArangoDB Inc., 2020
▸ This will allow you to:
● Learn AQL
● Learn ArangoDB APIs
● Develop your application on top of ArangoDB
▸ Time spent: days to weeks
Developer workbench 2/3
7. Copyright © ArangoDB Inc., 2020
Developer workbench 3/3
▸ This will NOT bring you:
● Provisioned servers
● High availability
● Encryption (at rest & in transit)
● Backups
● Monitoring
● Upgrades
● Operational experience
8. Copyright © ArangoDB Inc., 2020
▸ Why is this relevant?
● The DB has to run somewhere
▸ How to achieve this?
● Spin up cloud instances or
● Add rack servers to your datacenter
● Install OS
● Configure firewall
▸ Time spent: few hours … several weeks / months
Provisioned servers
9. Copyright © ArangoDB Inc., 2020
▸ Why is this relevant?
● You do not want single point of failure
● Every computer needs maintenance some day
▸ How to achieve this?
● Run ArangoDB cluster
● Spread across failure zones
● Configure load-balancer
▸ Time spent: 1 week
High availability
10. Copyright © ArangoDB Inc., 2020
▸ Why is this relevant?
● Should you really ask this question?
● Remember GDPR / CCPA
▸ How to achieve this?
● Run ArangoDB Enterprise (or bake a custom solution)
● Create TLS certificates
● Rotate TLS certificates frequently
▸ Time spent: > 1 week (MUCH more for custom solution)
Encryption
11. Copyright © ArangoDB Inc., 2020
▸ Why is this relevant?
● All disks can fail
● Your application can fail
● Humans can fail
Backups 1/2
12. Copyright © ArangoDB Inc., 2020
▸ How to achieve this?
● Set up a “job” to trigger backups
● Copy backup to some place “safe”
● Test the restore procedure
● Setup reporting (on failure / on success)
▸ Time spent: 1 week
Backups 2/2
13. Copyright © ArangoDB Inc., 2020
▸ Why is this relevant?
● No control without visibility
▸ How to achieve this?
● Run a metrics collector (e.g. Prometheus)
● Configure metrics collection
● Run dashboard tool (e.g. Grafana)
● Create applicable dashboards
● Configure alerting
▸ Time spent: > 2 weeks
Monitoring 1/2
14. Copyright © ArangoDB Inc., 2020
▸ Why are we not done yet?
● Learn what to look for
▸ What about ready-to-use dashboards?
● Every use case is different
● And therefore different metrics are important
▸ Time spent: many week
Monitoring 2/2
15. Copyright © ArangoDB Inc., 2020
▸ Why is this relevant?
● New features are being added
● Every piece of software has bugs
▸ How to achieve this?
● Test new version in staging environment
● Backup database
● Run upgrade procedure
▸ Time spent: days … weeks
Upgrades
16. Copyright © ArangoDB Inc., 2020
▸ Why is this relevant?
● Running any software in production is “an art”
▸ How to achieve this?
● Run the d… thing in production
● Do all of the above
▸ Time spent: months
Operational experience
17. Copyright © ArangoDB Inc., 2020
▸ Running a DB in production takes
● A lot of time
● A lot of experience
● Continuing effort after launch
▸ Time spent from developer workbench to production:
● Many months
Conclusion
19. Copyright © ArangoDB Inc., 2020
Introduction
Using a managed DB solves all my problems.
Is that true?
If not, what is missing?
20. Copyright © ArangoDB Inc., 2020
▸ Register and setup an account
▸ Create your first deployment
▸ Time spent: 10 min
Getting Started with Oasis
21. Copyright © ArangoDB Inc., 2020
What do you get with Oasis
▸ Oasis will bring you:
✔ Provisioned servers
✔ High availability
✔ Encryption (at rest & in transit)
✔ Backups
✔ Monitoring
✓ Upgrades
✔ Operational experience
22. Copyright © ArangoDB Inc., 2020
▸ What does Oasis bring:
● Automated upgrade procedure
● Well tested upgrades on actual platform
● Clone deployment from backup
▸ What do you have to do:
● Test your application against newer versions
▸ Time spent: 30 min + testing your app
Upgrades
23. Copyright © ArangoDB Inc., 2020
▸ Running a DB in production with Oasis takes
● A credit card
● Almost no experience
● Migration of data to Oasis deployment (oasisctl import)
● Only small effort after launch
▸ Time spent from developer workbench to production:
● Few hours
Conclusion
24. Copyright © ArangoDB Inc., 2020
Why Oasis for managers
▸ Oasis will bring you:
✔ Provisioned servers
✔ High availability
✔ Encryption
✔ Backups
✔ Monitoring
✓ Upgrades
✔ Operational experience
▸ Price starts at:
● $ 174/month
▸ Doing this yourself takes:
● Hours … weeks / months
● 1 week
● > 1 week (up to MUCH more)
● 1 week
● Many weeks
● Days … weeks
● Months
▸ Price starts at:
● many months devops salary
27. Copyright © ArangoDB Inc., 2020
Introduction
ArangoDB Oasis has come a long way since it’s launch
What is new?
28. Copyright © ArangoDB Inc., 2020
New features since launch
▸ Providers & Regions
▸ Well known certificates
▸ Cloning deployments
▸ API
▸ Numerous improvements in front & backend
29. Copyright © ArangoDB Inc., 2020
▸ Azure support added
● With 5 regions
▸ Now available in
● 3 Providers
● 12 Regions
● 2 Continents
▸ Requests for
● China, Japan, India, Australia, South Africa
● Request your region through “Request help” or in the webinar chat
Providers & Regions
30. Copyright © ArangoDB Inc., 2020
▸ We started with self-signed certificates
● Good for machine-to-machine connections
● Bad for humans
▸ We introduced Well known certificates
● Implemented as Let’s Encrypt certificates
● Accepted by (almost) all modern browsers
▸ We kept self-signed certificates
● On “high” port number
● Or when chosen explicitly in Certificate
Well known certificates
31. Copyright © ArangoDB Inc., 2020
▸ Wouldn’t it be awesome to test your new app on production data?
● Without the risk of breaking production data…
▸ Now you can 🎉
▸ Here’s how:
● Create backup of production deployment (set upload to cloud)
● Clone deployment from backup
● Test
● Delete cloned deployment (optional)
Cloning deployments
32. Copyright © ArangoDB Inc., 2020
▸ Wait didn’t ArangoDB already have an API ??
● Yes, but Oasis did not
▸ What can you do with Oasis API ?
● Create, Update & Delete Deployments
● Create, Update & Delete Backups & Backup Policies
● Invite users to your organization
● Configure roles & policies
● ….
● Everything you can also do manually in cloud.arangodb.com
API
33. Copyright © ArangoDB Inc., 2020
▸ Customer is building multi-tenant security platform
▸ Using Oasis API to:
● Create a new deployment when a tenant is added
● Remove the deployment when tenant is removed
API: An example
34. Copyright © ArangoDB Inc., 2020
▸ Customer is using CI for testing their application
▸ Using Oasis API in CI pipeline to:
● Create a backup from production deployment
● Clone a test deployment from this backup
● Run application tests against test deployment (with production data)
● Remove the deployment when tests are finished
API: Another example
35. Copyright © ArangoDB Inc., 2020
▸ Specified in protobuf (GRPC)
● Client available for Golang
● Clients can be created for Java, C++, C#, Dart, Rust, Python, …
▸ Authentication through API keys
API: In details
36. Copyright © ArangoDB Inc., 2020
▸ Scriptable API (CLI) client: oasisctl
● Runs on Linux, MacOS, Windows
● Even on Raspberry Pi
● Implements most API methods
● Open source:
● See github.com/arangodb-managed/oasisctl
● Great example code for Oasis API
API: Oasisctl
38. Copyright © ArangoDB Inc., 2020
▸ Audit log
▸ Observability
▸ Auto upgrades
▸ Auto scaling
Roadmap for coming months
39. Copyright © ArangoDB Inc., 2020
▸ What is this ?
● Track who is doing what & when
▸ What will it be able to do ?
● Track all events in deployments & Oasis platform
● E.g. Jane created collection foo in database bar on Oct 14, 8:01PM
● Store (and retrieve) events in safe cloud storage
● Even after deployment is deleted
● Send events to your HTTP POST service
Audit log
40. Copyright © ArangoDB Inc., 2020
▸ What is this ?
● Give you more insights in how your deployment is “doing”
▸ What will it be able to do ?
● Show detailed metrics over time (14 days)
● Expose detailed metrics on endpoint
Observability
41. Copyright © ArangoDB Inc., 2020
▸ What is this ?
● Automatically update your deployment to recent ArangoDB version
▸ Why do I need this ?
● ArangoDB is actively maintained & improved
● We do see these bugs “happening” in multiple deployments
● Some bugs are security related and cannot be ignored
Auto upgrades 1/2
42. Copyright © ArangoDB Inc., 2020
▸ What will change ?
● Sliding window of supported ArangoDB versions
● While inside window ➣ nothing changes
● When outside window ➢ automatically updated to
● Either oldest version inside the window
● Or recommended version inside the window
● Notifications will be given
● So you have time to prepare (or update yourself)
Auto upgrades 2/2
43. Copyright © ArangoDB Inc., 2020
▸ What is this ?
● Automatically adjust disk size of your deployment when needed
▸ Why do I need this ?
● Databases (ArangoDB is no exception) do not like to run out of disk
space
▸ What will change ?
● You can specify scaling limits
● Deployment will automatically grow when needed
Auto scaling 1/2
44. Copyright © ArangoDB Inc., 2020
▸ What will change later ?
● Deployment will automatically shrink when needed
● Deployment will automatically use bigger/smaller node size
Auto scaling 2/2