On the 15th of November we held our first ever MongoDB Europe event. Over 1000 attendees were present for a day focussed on content for MongoDB DBAs, DevOps, and developer personnel.
Eliot Horowitz, our CTO, opened the technical sessions with a keynote on the MongoDB 3.4 release which entered into general availability on the 29th November, 2016.
Professor [Brian Cox](https://en.wikipedia.org/wiki/Brian_Cox_(physicist) followed with the ultimate big data presentation, talking about the Big Bang and what the Sloan Digital Sky Survey can tell us about the origins of the universe. Brian’s presentation set the tone for the show, which centered on the giant ideas of MongoDB users.
We ran three “shards” – or streams of talks – throughout the day. Amazing customer sessions from Amadeus, SNCF, and Proximus, combined with highly technical talks on subjects like the Wired Tiger Storage engine, Blockchain, and how to build highly resilient MongoDB applications, all contributed to a high level of learning for all in attendance.
The show was packed all day long, with attendees mingling in the exhibition hall between talks.
We ran a ping pong ladder all day and our CEO Dev Ittycheria graciously agreed to play the winner. Dev is a bit of a demon on the ping pong table, so our ladder winner had to be content with a runner’s up prize.
We’d especially like to thank all of our Sponsors, who helped make the day so successful.
What did we learn from our first MongoDB Europe event? The feedback overall was that it was a very successful event. The one consistent stream of constructive feedback was “make it even more technical.” As long as you are up for the challenge, so are are we.
Registration is open for MongoDB World 2017:
Questions we got at AWS re:Invent
Last week, the MongoDB team had the pleasure of attending the world’s foremost cloud computing conference. At AWS re:Invent in Las Vegas, we heard our CTO explain how Thermo Fisher reduced mass spectrometry experiment times from days to minutes , we announced the general availability of MongoDB 3.4 , and we formally introduced MongoDB Atlas to the AWS community. Here are some of the most popular questions we were asked last week: “I’m new to cloud technology. Tell me…” Where does my application server live and where does my database live? Depending on your architecture, your app server may run on a different machine or in a different data center. For most applications, latency can be significantly reduced by spinning up your app server and database in regions closest to your user traffic. For example, MongoDB Atlas can currently run in any of 4 supported Amazon regions, with more being added soon! What’s the easiest way to migrate to the cloud? As Amazon dramatically revealed in their keynote this year, cloud migration is a very hot topic. Short of uploading all of your data to an Amazon 18-wheeler, there are many options for migration. Depending on your availability requirements, this can be as simple as creating a copy of your data in the cloud and re-routing traffic to the cloud-hosted database . For more mission critical deployments, migration can be achieved with no downtime. We also provide tailored consulting services to help you create a migration path . “I’m new to MongoDB. Can you explain…” What are secondary indexes and how do I use them? Indexes are powerful tools that let you significantly improve query performance by avoiding full collection scans. Secondary indexes can be added to highly-queried fields (or sets of fields) to extend these performance gains to additional queries, aggregations, or sorts. Adding too many indexes can unnecessarily harm read/write performance, so we recommending using MongoDB Compass to identify which indexes are being used and where additional indexes would be most beneficial. What are the benefits of MongoDB’s native aggregation functionality? MongoDB’s aggregation framework gives you the capability to run advanced analytics processing right inside the database, rather than in your application. Since MongoDB 2.2, the aggregation framework has been significantly expanded to include many of the rich aggregation features you’d expect from a relational database. Does MongoDB offer support? Yes. Creating a MongoDB Atlas account means you have access to assistance with the UI and support for any connectivity issues. You also have our global site reliability engineering team focused on monitoring and ensuring availability of the service. For support of the underlying database software, we recommend a MongoDB Enterprise Advanced or MongoDB Professional subscription. We also offer a subscription designed specifically for MongoDB Atlas customers. These subscriptions include access to our support engineers 24 hours a day, 365 days a year. Our support team not only helps you troubleshoot specific questions, but can also guide you through upgrades and suggest optimizations. Support plans are also available for applications in development. Learn more about MongoDB support . “MongoDB Atlas looks great! Tell me more about…” How secure is MongoDB Atlas? Is my data encrypted? MongoDB Atlas is secure by default. Each MongoDB Atlas group is provisioned into its own AWS Virtual Private Cloud, isolating your data and underlying systems from other MongoDB Atlas users. You can even directly peer your MongoDB Atlas VPC with your application servers deployed to AWS using private IP addresses. We also configure network encryption and access control by default, and IP whitelists (enforced with AWS Security Groups) let you limit access to a specific range of IP addresses. MongoDB engineers automatically apply security patches as soon as they are released. Finally, you can elect to encrypt your storage volumes at no additional cost using using AWS's encrypted EBS volumes. How does MongoDB Atlas handle backups? Backups can be configured optionally and are billed by the size of the data being backed up. Backups in MongoDB Atlas are continuous and maintained seconds behind the production cluster, meaning you can conduct point-in-time restores. MongoDB Atlas backups are stored in MongoDB’s private data centers for added redundancy. “I’m thinking about using DynamoDB…” How does MongoDB Atlas compare? There are a few features in MongoDB Atlas that our users find valuable: Rich query language: The MongoDB Query language gives you the querying capabilities you’d expect from a SQL-based database with the flexibility and performance of NoSQL. Native aggregation: MongoDB’s aggregation framework gives you the capability to run advanced analytics processing right inside the database, rather than in your application. Secondary indexing support: Support for secondary indexes allows you to extend the performance gains of traditional indexing to additional fields or field sets. Robust tooling: MongoDB was released in 2009 and, in addition to the vast ecosystem of tooling that lets you support, monitor, and visualize your deployment with confidence, MongoDB Atlas is built using the expertise gained from years of building enterprise-grade products for the most complex, mission critical deployments. Choice of infrastructure vendor (coming soon!): With upcoming support for Google Cloud Platform and Microsoft Azure, you’ll be able to choose where your deployment lives based on your app requirements. “I’m currently using a 3rd party hosted MongoDB service...” How does MongoDB Atlas compare? MongoDB Atlas is built and supported by the team who builds the database. This means you get access to the latest security patches, major releases, and features when they’re released—not a year later! MongoDB Atlas is also the most cost-effective way to run MongoDB 3.2 or 3.4 with our WiredTiger storage engine. With hourly billing and independently-tuneable memory, storage size, and disk I/O, you only pay for what you need. All MongoDB Atlas clusters are hosted in isolated, secure VPCs which mean you aren’t sharing bandwidth with other databases within the same virtual machine. -- Download MongoDB Atlas Best Practice Guide
Modernize your GraphQL APIs with MongoDB Atlas and AWS AppSync
Modern applications typically need data from a variety of data sources, which are frequently backed by different databases and fronted by a multitude of REST APIs. Consolidating the data into a single coherent API presents a significant challenge for application developers. GraphQL emerged as a leading data query and manipulation language to simplify consolidating various APIs. GraphQL provides a complete and understandable description of the data in your API, giving clients the power to ask for exactly what they need — while making it easier to evolve APIs over time. It complements popular development stacks like MEAN and MERN , aggregating data from multiple origins into a single source that applications can then easily interact with. MongoDB Atlas: A modern developer data platform MongoDB Atlas is a modern developer data platform with a fully managed cloud database at its core. It provides rich features like native time series collections, geospatial data, multi-level indexing, search, isolated workloads, and many more — all built on top of the flexible MongoDB document data model. MongoDB Atlas App Services help developers build apps, integrate services, and connect to their data by reducing operational overhead through features such as hosted Data API and GraphQL API. The Atlas Data API allows developers to easily integrate Atlas data into their cloud apps and services over HTTPS with a flexible, REST-like API layer. The Atlas GraphQL API lets developers access Atlas data from any standard GraphQL client with an API that generates based on your data’s schema. AWS AppSync: Serverless GrapghQL and pub/sub APIs AWS AppSync is an AWS managed service that allows developers to build GraphQL and Pub/Sub APIs. With AWS AppSync, developers can create APIs that access data from one or many sources and enable real-time interactions in their applications. The resulting APIs are serverless, automatically scale to meet the throughput and latency requirements of the most demanding applications, and charge only for requests to the API and by real-time messages delivered. Exposing your MongoDB Data over a scalable GraphQL API with AWS AppSync Together, AWS AppSync and MongoDB Atlas help developers create GraphQL APIs by integrating multiple REST APIs and data sources on AWS. This gives frontend developers a single GraphQL API data source to drive their applications. Compared to REST APIs, developers get flexibility in defining the structure of the data while reducing the payload size by bringing only the attributes that are required. Additionally, developers are able to take advantage of other AWS services such as Amazon Cognito, AWS Amplify, Amazon API Gateway, and AWS Lambda when building modern applications. This allows for a severless end-to-end architecture, which is backed by MongoDB Atlas serverless instances and available in pay-as-you-go mode from the AWS Marketplace . Paths to integration AWS AppSync uses data sources and resolvers to translate GraphQL requests and to retrieve data; for example, users can fetch MongoDB Atlas data using AppSync Direct Lambda Resolvers. Below, we explore two approaches to implementing Lambda Resolvers: using the Atlas Data API or connecting directly via MongoDB drivers . Using the Atlas Data API in a Direct Lambda Resolver With this approach, developers leverage the pre-created Atlas Data API when building a Direct Lambda Resolver. This ready-made API acts as a data source in the resolver, and supports popular authentication mechanisms based on API Keys, JWT, or email-password. This enables seamless integration with Amazon Cognito to manage customer identity and access. The Atlas Data API lets you read and write data in Atlas using standard HTTPS requests and comes with managed networking and connections, replacing your typical app server. Any runtime capable of making HTTPS calls is compatible with the API. Figure 1: Architecture details of Direct Lambda Resolver with Data API Figure 1 shows how AWS AppSync leverages the AWS Lambda Direct Resolver to connect to the MongoDB Atlas Data API. The Atlas Data API then interacts with your Atlas Cluster to retrieve and store the data. MongoDB driver-based Direct Lambda Resolver With this option, the Lambda Resolver connects to MongoDB Atlas directly via drivers , which are available in multiple programming languages and provide idiomatic access to MongoDB. MongoDB drivers support a rich set of functionality and options , including the MongoDB Query Language, write and read concerns, and more. Figure 2: Details the architecture of Direct Lambda Resolvers through native MongoDB drivers Figure 2 shows how the AWS AppSync endpoint leverages Lambda Resolvers to connect to MongoDB Atlas. The Lambda function uses a MongoDB driver to make a direct connection to the Atlas cluster, and to retrieve and store data. The table below summarizes the different resolver implementation approaches. Table 1: Feature comparison of resolver implementations Setup Atlas Cluster Set up a free cluster in MongoDB Atlas. Configure the database for network security and access. Set up the Data API. Secrect Manager Create the AWS Secret Manager to securely store database credentials. Lambda Function Create Lambda functions with the MongoDB Data APIs or MongoDB drivers as shown in this Github tutorial . AWS AppSync setup Set up AWS Appsync to configure the data source and query. Test API Test the AWS AppSync APIs using the AWS Console or Postman . Figure 3: Test results for the AWS AppSync query Conclusion To learn more, refer to the AppSync Atlas Integration GitHub repository for step-by-step instructions and sample code. This solution can be extended to AWS Amplify for building mobile applications. For further information, please contact email@example.com .