In 2018 we've seen a huge uptick in applications using Kubernetes for their deployment method. Many times your persistent data layer is a difficult decision. What will you store data in, how long will you need to access this data and who will manage the lifecycle of this data? These are important questions many developers and ops teams have taken to heart. In this talk we'll review how the data layer is managed for high availability and reliability in modern application deployment. The attendee should leave having a better understanding of the options in front of them and their ability to build applications in any hosting environment.
2. 2
Prior to MongoDB -
BuzzFeed,
DigitalOcean and
Datapipe
Disclaimer
NYC
Loves: My wife,
Hardcore Punk,
Metal Music, NY
Yankees and
Teaching You!
Jay Gordon
Cloud Developer Advocate
@jaydestro
MongoDB
10. 10
The Database Problem - Defined by Me.
1. The common issue that tends to keeps Ops people awake at
night:
"Sorry, my pager went off again - looks like a database
problem! Go back to sleep."
2. A undefinable and mostly generic issue with "the database" that
causes you to throw more resources at it rather than determine
the root cause.
"I have no clue why the site is down, must be a database
problem. But I upgraded the node to larger size and it's up."
16. 16
Disclaimer
Where we are starting, where we are going...
A brief look at how we got here...
Ted Codd authors his
influential paper "A
Relational Model of Data
for Large Shared Data
Banks"
SQL becomes a standard
query language for
databases.
SQL Server 1.0 is
released - available on
OS/2
MongoDB releases Atlas
cloud service.
RDS is launched by
Amazon WebServices
Johan Oskarsson of
Last.fm introduces
NoSQL.
2016
1970
1980
1989
2009
17. 17
Today - Cloud/Modern Infrastructure
● Distributed
● APIs and Drivers for many languages
● Cloud and Hybrid Solutions
● db-engines.com ranked 342 different databases
● More than just tabular/relational databases
52. 52
Performance
● Understand Optimization
● Monitor for performance!
● Monitoring for potential failures!
● Need to scale quickly.
● Many storage types
● Code, testing via CI
● A Frankenstein's Monster.
53. These are not all the
problems, just a
subsect.
Let's talk about solutions...
54. 54
Modern answers to long term problems...
● Keeping our costs down
● Ensuring our data is backed up
● Securing our data
● Performance of application
55. 55
Solution One - Costs
● Flexible data… JSON!
● Open Source? Save $
● Understand what you're
provisioning.
● Flexible pricing models (pay-
as-you-go)
57. 57
Remember that the cloud keeps your initial costs down...
● Reservations (services like AWS)
● Licensing built into costs +
infrastructure used to serve data.
● No commodity equipment to
consider "what to do with" in future.
59. 59
Solution Two - Backups and Data Retention
● Have RTO/RPO
plans
● Perform regular tests
● Look for even faster
solutions
● Data retention and
purging plan
64. 64
Backup management ● Retention policy
● Backups should be considered a
"mission critical"
● Keep stats on your backup restores
if possible
● Validate your data integrity by
testing the backup restores on a
regular cadence
● Look for services that include
queryable snapshots
● An online replica is not a
replacement for a backup
65. 65
Solution Three - Security
● Security is paramount!
● Use firewalls.
● Encrypt secrets for your
apps
● Don't guess, test
70. 70
Solution Four - Performance and Scaling
● Use modern distributed
systems that can leverage
loud native scaling
● Index, optimize and review
● Use monitoring tools
● Make note of trends
● Write tests
79. 79
Key
Takeaways
Remember this stuff...
• Plan ahead for the future
• Security is paramount for reliability for
your users
• Testing your restore process, having
RTO/RPO policies
• Avoiding lock-in and using flexible
data formats (I like JSON, personally)
Good!
• Don't make assumptions about the
future, the worst is possible if you
don't consider it
• Over provisioning and under
provisioning
• Leaving your wallet on the ground in
Times Square (lack of security)
• "Set and forget" your backups
Problematic!
80. 80
Where do we go from here?
● Improved Security
● Dev first options
● NoOps, GitOps, DevOps,
Serverless
● Businesses will make use
of new services
● Quicker deployment
● More places for more
applications
81. 81
Thanks for
your time, if
you have any
questions…
Disclaimer
Like my buddy Rico, I am all
ears.