MongoDB World Recap: Why Serverless is the Architecture Developers Have Been Waiting For
Serverless architecture is growing rapidly for good reasons. Developers, for the most part, do not enjoy provisioning or managing infrastructure. For applications with intermittent traffic and long idle times, provisioning becomes a moving target. Overprovision and you risk paying for idle resources. Underprovision and you risk slow response times, poor UX, and high app abandonment rates. Serverless architecture abstracts away server, storage, and network provisioning, plus management so developers can focus on building differentiating features and creating great app experiences. Enough developers and IT organizations are embracing serverless architecture that uptake is expected to grow from $7 billion in 2020 to $37 billion by 2028. History and Evolution of Serverless The concept of serverless is older than its name. At this year's MongoDB World conference, Jeremy Daly , GM of Serverless Cloud at Serverless Inc., provided a brief history of serverless architecture—before it was called serverless—and explained why today's implementations are different from those early iterations. Serverless architecture represents the evolution of server environments from virtualization to containerization to cloud computing. In his presentation, Daly traces the beginning of serverless to the launch of Amazon Simple Storage Service ( Amazon S3 ) in 2006. Then came services such as Amazon’s CloudWatch, Simple Notification Service (SNS), CloudFront, Route 53, CloudFormation, DynamoDB, and Kinesis, which were all serverless solutions before the term existed. In 2014, Amazon released what it called "functions as a service" in the form of AWS Lambda, which was the first serverless solution to see widespread adoption. But limitations with these early iterations prevented serverless from really taking off. The primary drawback was cold starts. "If something isn't pre-provisioned, then when you request it, it has to set up a container or function to make that available to respond to your request," Daly explained. "That's still a thing today but to a much lesser degree." He also cited resource restrictions and limitations—such as the inability to call a Lambda function with an HTTP API request or connect to virtual private clouds and access a database—and limited orchestration workflows as reasons why developers were slow to adopt serverless. The Serverless Future Serverless solutions have evolved significantly from those early iterations. Over the past several years, new services have come from AWS, Google, and Azure. And now MongoDB has announced the general availability of MongoDB Atlas Serverless at World 2022. Today's solutions solve many of the issues that existed early on. According to Daly, today's serverless solutions share five common traits: No server management — Serverless eliminates routine administrative tasks such as having to SSH into a Linux box or provision Amazon Elastic Compute Cloud (Amazon EC2) instances. Flexible scaling — Although there are autoscaling groups in Amazon EC2, there's still a minimum amount that you must provision. With current serverless implementations, you can and should be able to scale down to zero. Pay for value — Sometimes referred to as "pay for use," this could entail paying for storage in a database or provisioning concurrency to eliminate cold starts, but ultimately, you're paying for the value of the services you're using. High availability — Services are automatically provisioned across multiple availability zones for redundancy. Event driven — When something happens, like a change in the database, it triggers a workflow, such as creating a new user account. While the automation and functionality are there, developers will still need to know how to use the services to take advantage of serverless. They have to know how to use different cloud services and SaaS solutions, infrastructure and cloud architecture, build and deployment pipelines, monitoring and observability, and security and compliance. These are things that a DevOps team used to handle, but now are more likely to fall on the shoulders of developers. Regardless of the responsibilities on developers to learn how to use the functionality, Daly says serverless is the future of how developers will build apps. That's because all the functionality can be spun up in an independent stack without having to worry about services that anyone else is running. Any developer can have their own version of the application that they can build off of and test with. This provides fast, high fidelity feedback loops, it enables isolated stacks for different parts of the business, and it ensures that development environments are running the same resources as production. Daly also points out that serverless architecture doesn't replace the database as the backbone of the application. Although it's hard to build a serverless database, MongoDB Atlas for Serverless has figured it out, he said. Daly cites the key characteristics developers need from a serverless database: Fast and responsive (no cold starts) Scale up and down quickly Integration with serverless tools Cloud flexibility and proximity (close to your application) Consumption-based pricing (pay only for what you're using) MongoDB Atlas Serverless MongoDB Product Manager Kevin Jernigan, who co-presented with Daly, put a finer point on delivering the requirements developers are looking for in a serverless database. To create a serverless database in Atlas, the process takes only a few steps and your database spins up in seconds. "What you have is an endpoint that will scale up and down automatically based upon the workload," Jernigan said. "It will scale down to zero when you're not using it." That essentially means you're not getting billed for anything except the storage you're using. And there's no cold start penalty. "There's always infrastructure there ready to respond to the next call you make to your database endpoint. We always have infrastructure running, waiting to respond," Jernigan said. Jernigan listed several capabilities that differentiate MongoDB Atlas Serverless from other solutions in the market. Atlas Serverless includes the full power of MongoDB, including the flexibility of the document model. There are no scaling trade-offs so you don't have to worry about cold starts when you scale to zero. It's also available with tiering-based pricing models with discounts for higher usage. There's also deployment flexibility that allows you to move workloads back and forth between serverless and dedicated infrastructure. And you can deploy in all of the major public cloud providers. To watch the complete session from MongoDB World 2022, Serverless: The Future of Application Development . To learn more about MongoDB Atlas Serverless, visit the serverless page on our website.
Embrace the Benefits of Serverless Development With MongoDB Atlas
Today’s applications are expected to just work, regardless of time of day, user traffic, or where in the world they are being accessed. To achieve this level of performance and scale, developers need to ensure they have the proper infrastructure resources in place to handle user demand, which often leads to time wasted on non-differentiating work. Organizations that want to stay competitive and rapidly innovate must look for solutions that simplify the process and enable them to speed time to development. Enter serverless. What’s the big deal with serverless? Serverless technologies allow developers to build applications without thinking about resource provisioning and scaling. As a result, developers are increasingly adopting a serverless-first approach to application development as a means to move fast, optimize costs, and eliminate the operational overhead of deploying and managing infrastructure. With application demand and user expectations growing faster than ever, serverless is becoming an essential component of application modernization strategies for both emerging startups and enterprises alike, with more and more organizations beginning to adopt function-as-a-service (FaaS) solutions, popular serverless frameworks, and now even serverless databases. Atlas serverless instances now generally available With MongoDB Atlas , our mission is and always has been to empower developers to move fast and simplify how they build with data for any application. Newer developers don’t have time to learn the intricacies of deploying and managing databases, nor should they have to. Recognizing this shift, we have been focused on building a developer data platform that minimizes this challenge. We started by launching services like Atlas Functions and Atlas Triggers and then moved to the data layer, first adding auto-scaling, then releasing Atlas serverless instances, our serverless database deployment option, in public preview in July 2021. Today, we are excited to announce that serverless instances are now generally available (GA). With serverless instances, you can quickly deploy a database with minimal configuration—just choose your cloud provider and region, and get the full power of MongoDB with the benefits of the serverless model . Once you’ve deployed your database, the serverless instance will take care of the scaling for you, with the ability to scale up or down from zero without any cold starts, and will only charge you for the operations you run. What’s new in serverless instances With this GA release, serverless instances will now offer additional features, such as private networking with AWS PrivateLink, enhanced monitoring and alerting capabilities, and extended backup retention with point-in-time recovery. Also, serverless instances are now compatible to use with our other serverless cloud services, such as the Atlas Data API and Atlas Functions, making building end-to-end serverless applications even easier. We’ve also dropped our prices (up to 60% in certain regions), to improve usage costs, with tiered pricing for reads that gives you automatic discounts on your daily usage without any up-front commitments or the need to talk to a sales rep. With this model, you can scale your usage without the fear of surprises. Develop modern serverless applications of any scale with Atlas The MongoDB Atlas data platform lets you build modern applications of any scale. Unlike other serverless databases, Atlas provides the full power and flexibility of the document model, so you can structure data for a variety of different use cases, instead of being limited to only simple key/value workloads. Additionally, our unified query API allows you to run MongoDB anywhere with a consistent experience—whether it’s on your laptop, a dedicated cluster, or a serverless instance—without ever changing your app code. Already using other serverless solutions in your application stack today? Atlas connects seamlessly with other leading serverless tools—from FaaS, to app development platforms, and frameworks—so you can continue working with the solutions you already know and love. And, most importantly, serverless instances are hosted on the same reliable Atlas foundation that is already trusted by organizations of all sizes today, from disruptive startups to some of the world's largest enterprises. Get started today Serverless databases are incredibly flexible and we’ve seen them perform well for lightweight or infrequent application workloads, such as application development and testing, or QA environments, event-driven applications, and periodic cron jobs. Are you ready to give serverless instances a try? Deploy your first serverless database today to see just how easy it is to get a cloud data endpoint for your application. Create your first serverless database
Real Apps Built with a MongoDB Atlas Serverless Database
Serverless application development is quickly gaining popularity as a preferred way of building and running modern applications. With developers looking for solutions to speed development and provide even greater abstraction from the underlying infrastructure supporting those applications, it’s no surprise that the concept of serverless is extending beyond compute services to now databases as well. To continue delivering a modern developer experience for our users, MongoDB has recently introduced serverless databases in Atlas, currently available in preview. This new deployment option eliminates the process of capacity sizing and management altogether, and instead provides an on-demand endpoint that seamlessly scales based on workload demand and only charges for the resources used. If that sounds compelling, you might be wondering what can I build with a serverless database? The scalability and cost model naturally make them a great option for workloads that are infrequent and have cycles of usage combined with longer idle periods - like CRON jobs that run weekly or monthly. Because of this, we challenged users in a recent Atlas hackathon to use serverless databases as the backend to automate a weekly task - and some of the end results were pretty cool! Track your weekly fitness goals If you’re looking for a way to hold yourself accountable for your fitness goals, why not use an app to track your progress? This app uses Atlas to store and automate the weekly data aggregation and analysis - so you know if you’re meeting your goals. Automate the collection and delivery of your favorite web content Want to stay up to date on all the latest developer content from your favorite sites like Dev and Hashnode? This web app automatically compiles the latest articles from developer sites once a day and delivers up to 5 titles to your inbox based on keywords you’ve provided. It uses an Atlas database to store all the data and is hosted on Netlify using Netlify Serverless Functions as the backend service. Track your productivity for better work/life balance Finding the right work/life balance can be difficult without a true understanding of how you're spending your time - something a KanBan board is great at helping with. This submission uses an Atlas database along with Azure functions to automate the process of creating monthly reports from a Notion kanban board - eliminating the manual task and freeing up more time to get work done. If you’re interested in what else is possible with Atlas check out the other submissions here . Are you ready to try serverless? These are just a few of the ways you can use a serverless database in MongoDB Atlas but by no means the only use case. If you’re in the early stages of building a new application and aren’t sure of the level of scale to expect, serverless may be a great choice - enabling you to start quickly without the added cognitive load of worrying about infrastructure requirements. Or maybe you already have an app up and running but need a more effective dev/test environment - consider trying serverless as a way to optimize your resource spend. Are you ready to build your next app? Give Atlas serverless databases a try today and share your experience with us in our community forums ! Create your first serverless database
Serverless Instances Now Offer Extended Regional and Cloud Provider Support
Today’s applications are expected to just work, regardless of time of day, user traffic, or where in the world they are being accessed from. But in order to achieve this level of performance and scale, developers have to meticulously plan for infrastructure needs, sometimes before they even know what the success of their application may be. In many cases, this is not feasible and can lead to over provisioning and over paying. But what if you could forgo all of this planning and the database would seamlessly scale for you? Well, now you can - with serverless instances on MongoDB Atlas. Since we announced serverless instances in preview at MongoDB.live we have been actively working toward implementing new functionality to make them more robust and widely available. With our most recent release, serverless instances now offer expanded cloud providers and regions, and support MongoDB tools. Deploy a serverless instance on the cloud provider of your choice With our dedicated clusters on MongoDB Atlas, you have the flexibility to run anywhere with global reach on the cloud provider of your choice, so you can deliver responsive and reliable applications wherever your users are located. Our goal is to provide this same flexibility for serverless instances. We’re happy to announce that you can now deploy a serverless instance in ten regions on AWS, Google Cloud, and Azure. You’ll see when deploying a serverless instance there are now more regions supported on AWS, as well as two available regions on both Google Cloud and Azure - so you can get started with the cloud provider that best suits your needs or the region that’s closest to you. We will be continuing to add new regions over time to ensure coverage where you need it most. Easily import your data with MongoDB tools With this release, we have also made it easier to work with your data. You can now easily import data from an existing MongoDB deployment using the MongoDB Tools including mongodump, mongorestore, mongoexport , and mongoimport . In order to use MongoDB tools with serverless instances, you will need to be using the latest version . If you have additional feature requests that would make your developer experience better, share them with us in our feedback forums . Database deployment made simple With serverless instances, you can get started with almost no configuration needed - MongoDB Atlas will automatically scale to meet your workload needs, whether you have variable traffic patterns or you’re looking for a sandbox database for your weekend hobby project. If you haven’t yet given serverless instances a try, now is a great time to see what they can offer. If you have feedback or questions, we’d love to hear them! Join our community forums to meet other MongoDB developers and see what they’re building with serverless instances. Create your own serverless instance on MongoDB Atlas. Try the Preview .
Introducing Serverless Instances on MongoDB Atlas, Now Available in Preview
Since we first launched MongoDB Atlas in June 2016, we’ve been working towards building a cloud database that not only delivers a first-class developer experience, but also simply just works: no setup, tuning, or maintenance required. Over the years, this has led to features like auto-scaling and click-to-create index suggestions , along with numerous optimizations to our automation engine. We’re excited to announce that we’re one more step closer to realizing this vision with the introduction of serverless databases on MongoDB Atlas . Think less about your database, and more about your data Serverless computing and NoOps have emerged as popular trends in modern application development. Cloud functions are commonly used to power business logic in applications, and many teams rely on completely automated IT operations. The appeal of serverless technology is hard to deny: elastic scaling eliminates the need for upfront resource provisioning and ongoing maintenance, and consumption-based pricing means paying only for resources that are used. It abstracts and automates away many of the lower-level infrastructure decisions that developers don’t want to have to learn or manage so they can focus on building differentiated features. When it comes to databases, compute and storage resources have traditionally been tightly coupled. Applying a serverless model to databases means decoupling them and changing the way engineering teams think about infrastructure. Rather than asking a developer to predict an application’s future workload patterns, break them down into individual resource requirements, and then map them to arbitrary units of database instance sizes, serverless databases offer a much simpler experience: define where your data lives, and get a database endpoint you can use. This not only streamlines the database deployment process, it also eliminates the need to monitor and adjust capacity on an ongoing basis. Developers are free to focus on thinking about their data rather than their databases, and leave the lower-level infrastructure decisions to intelligent, behind-the-scenes automation. Serverless instances on MongoDB Atlas All customers now have the ability to create a serverless database on MongoDB Atlas with the introduction of serverless instances , announced at MongoDB.live 2021 . It’s incredibly easy to get started: simply choose a cloud region and you’ll receive an on-demand database endpoint for your application. Serverless instances always run on the latest MongoDB version so you never have to worry about backwards compatibility or upgrades. You can view and manage them using the same UI and API as your existing database deployment on Atlas (i.e., clusters), and they come with end-to-end security, continuous uptime, metrics, alerts, and backups. Watch this demo of how to create a serverless instance on MongoDB Atlas This new deployment type will be available in preview, so it doesn’t yet support all of the features and capabilities available on clusters today. It’s ideal for infrequent or sparse workloads, or development and testing workloads in the cloud. If you’re running a high-throughput production workload, dedicated clusters are still the recommended deployment option. A hands-free database experience This is the first of many releases, and we have an ambitious roadmap ahead. We will continue to invest in making working with data ever more seamless and delightful for developers, from adding support for newer Atlas capabilities like full-text search and native visualizations , to even more intelligent automation and optimization. Create your own serverless instance on MongoDB Atlas. Try the Preview If you have feedback or questions, we’d love to hear them! Join our community forums to meet other MongoDB developers and see what they’re building with serverless instances. What's next for MongoDB Atlas Serverless instances are just one of many new additions to Atlas that we hope will make developers’ lives easier. Earlier this year, we added index removal suggestions to Performance Advisor and released a quick start for creating and managing clusters via the command line with the MongoDB CLI . We are also working on integrations with Vercel and Netlify , two popular serverless application platforms, to give developers an easy way to get started on MongoDB Atlas. What would make your development experience better on MongoDB Atlas? Share your feature requests in our feedback forums .
Launched Today: MongoDB 5.0, Serverless Atlas, and the Evolution of our Developer Data Platform
Today we welcome you to our annual MongoDB .Live developer conference. Through our keynote and conference sessions we'll show you all the improvements, new features, and exciting things we've been working on since last year’s conference. What I want to do in this blog post is provide you with a summary of what we are announcing, and resources to help you learn more. While it's easy to focus on what we are announcing at this year's event, we actually started out on this journey 12 years ago by releasing the world’s most intuitive and productive database technology to develop with — MongoDB. And we believe the applications of the NEXT 10 YEARS will be built on data architectures that continue to optimize for the developer experience, allowing teams like yours to innovate at speed and scale. So how are we building on this vision? Today I am incredibly proud to announce three big things: The General Availability (GA) of MongoDB 5.0, the latest generation of our core database. It includes native support for time series workloads, new ways to future-proof your applications, multi-cloud privacy controls, along with a host of other improvements and new features. The preview release of serverless instances on MongoDB Atlas, which makes it even easier for development teams who don’t want to think about capacity management at all to get the database resources they need quickly and efficiently. Major enhancements to Atlas Data Lake, Atlas Search, and Realm Sync, which allow engineering teams to reduce architectural complexity and get more value out of their data. MongoDB 5.0 GA MongoDB 5.0 is the latest generation of the database most wanted by developers . Our new release makes it even easier to support a broader range of workloads, introduces new ways of future-proofing your apps, and further enhances privacy and security. This major jump in version number from MongoDB 4.4 – our prior GA version – to 5.0 reflects a new era for MongoDB's release cadence: We want to get new features and improvements into your hands faster. Starting with MongoDB 5.0, we will be publishing new Rapid Releases every quarter, which will roll up into Major Releases once a year for those of you that want to maintain the existing annual upgrade cadence. You can learn more about the new MongoDB release cadence from our blog post published last October. Digging into MongoDB 5.0, here is what’s new and improved: Native Time Series Designed for IoT and financial analytics, our new time series collections, clustered indexing, and window functions make it easier, faster, and lower cost to build and run time series applications, and to enrich your enterprise data with time series measurements. MongoDB automatically optimizes your schema for high storage efficiency, low latency queries, and real-time analytics against temporal data. Running your time series applications on MongoDB eliminates the time and the complexity of having to stitch together multiple technologies yourself. You can manage the entire time series data lifecycle in MongoDB – from ingestion, storage, querying, real-time analysis, and visualization through to online archiving or automatic expiration as data ages. Time series collections can sit right alongside regular collections in your MongoDB database, making it really easy to combine time series data with your enterprise data within a single versatile, flexible database – using a single query API to power almost any class of workload. Our new time-series collections blog post gives you everything you need to get started. Future-proof with the Versioned API and Live Resharding Update January 31, 2022: "Versioned API" has been rebranded as "Stable API." Learn more about Stable API here . Starting with MongoDB 5.0, the Versioned API future-proofs your applications. You can fearlessly upgrade to the latest MongoDB releases without the risk of introducing backward-breaking changes that require application-side rework. Using the new versioned API decouples your app lifecycle from the database lifecycle, so you only need to update your application when you want to introduce new functionality, not when you upgrade the database. Future-proofing doesn’t end with the Versioned API. MongoDB 5.0 also introduces Live Resharding which allows you to easily change the shard key for your collections on demand – with no database downtime – as your workload grows and evolves. The way I like to think about this is that we’ve extended the flexibility the document model has always given you down to how you distribute your data. So as things change, MongoDB adapts without expensive schema or sharding migrations. Next-Gen Privacy & Security MongoDB’s unique Client-Side Field Level Encryption now extends some of the strongest data privacy controls available anywhere to multi-cloud databases. And with the ability in 5.0 to reconfigure your audit log filters and rotate x509 certificates without downtime you maintain a strict security posture with no interruption to your applications. Run MongoDB 5.0 Anywhere MongoDB 5.0 is available today as a fully-managed service in Atlas . You can of course also download and run MongoDB 5.0 on your own infrastructure, either with the community edition of MongoDB, or with MongoDB Enterprise Advanced . The Enterprise Advanced offering provides sophisticated operational tooling via Ops Manager, advanced security controls, proactive 24x7 support, and more. MongoDB Ops Manager 5.0 enhancements include: Support for the automation, monitoring, and backup/restore of MongoDB 5.0 deployments. Improved load performance with parallelized client-side restores. A quick start experience for deploying MongoDB in Kubernetes with Ops Manager. And lastly, a guided Atlas migration experience that walks users through provisioning a migration host to push data from their existing environment into the fully managed Atlas cloud service. You can learn more about MongoDB 5.0 from our What’s New guide . New to MongoDB Atlas — Serverless Instances (Preview) We want developers to be able to build MongoDB applications without having to think about database infrastructure or capacity management. With serverless instances on MongoDB Atlas, now available in Preview, you can automatically get the database resources you need based on your workload demand. It’s really simple: the only decision you need to make is the cloud region hosting your data. After that, you’ll get an on-demand database endpoint that dynamically adapts to your application traffic. Serverless instances will support the latest MongoDB 5.0 GA release, Versioned API, and upcoming Rapid Releases so you never have to worry about backwards compatibility or upgrades. Pay only for reads and writes your application performs and the storage resources you use (up to 1TB of storage in preview) and leave capacity management to MongoDB Atlas’s best-in-class automation. We invite you to try it out today with a new or existing Atlas account. And the Preview release is just the beginning – we will be working with partners such as Vercel and Netlify to deliver an integrated serverless development experience in the coming months. In the longer term, we will continue to evolve our cloud-native backend architecture to abstract and automate even more infrastructure decisions and optimizations to deliver the best database experience on the market. The New MongoDB Shell GA The new MongoDB Shell has been redesigned from the ground up to provide a modern command-line experience with enhanced usability features and powerful scripting environment. It makes it even easier for users to interact and manage their MongoDB data platform, from running simple queries to scripting admin operations. A great user experience, even on a command-line tool, should always be a major consideration. With the new MongoDB Shell we have introduced syntax highlighting, intelligent auto-complete, contextual help and useful error messages creating an intuitive, interactive experience for MongoDB users. Check out this blog post for more information. MongoDB Charts and Atlas Data Lake: Better Together MongoDB Charts intuitive UI and ability to quickly create & share charts and graphs of JSON data is now integrated with Atlas Data Lake . You can now easily visualize JSON data stored in Amazon AWS S3 without any data movement, duplication or transformation. Furthermore, you can run Atlas Data Lake’s federated query to blend data across multiple Atlas databases and AWS S3, and visualize the results with Charts. By adding Atlas Data Lake as a data source in Charts, you can discover deeper, more meaningful insights in real time. Check out this blog post for more information. Atlas Search — More Relevance Features It’s incredibly important for modern applications to deliver fast and relevant search functionality: it powers discoverability and personalization of content, which in turn drives user engagement and retention. Atlas Search , which delivers powerful full-text search functionality without the need for a separate search engine, has several new capabilities for building rich end user experiences. We’ve recently added support for function scoring, which allows teams to apply mathematical formulas on fields within documents to influence their relevance, such as popularity or distance — e.g. closer restaurants with more or better reviews will show up higher in a list of results. In addition, you can now define collections of synonyms for a particular search index. By associating semantically equivalent terms with each other, you can respond to a wider range of user-initiated queries in your applications. Realm Realm lets you have simple, powerful local persistence on mobile phones, tablets and IoT devices like Raspberry Pi. The Realm SDKs provide a set of APIs that let developers store and interact with native objects directly, reducing the amount of code required as there is no need for ORMs or learning cryptic database syntax. In addition, we made MongoDB Realm Sync generally available earlier this year, making it easy to synchronize data between local storage on your devices and MongoDB Atlas on the backend. No need to worry about networking code or dealing with conflict resolution as we handle all of that for you. Today, we’re excited to announce support for Unity. You can now use Realm to store your game data, like scores and player state, and sync it automatically across devices. Realm's support for Unity is now Generally Available and ready for production workloads. We're also investing in support for more cross-platform frameworks — the Kotlin Multiplatform and Flutter/Dart SDKs are now both available in Alpha. And finally, the team is working towards Realm Flexible Sync, a new way to synchronize data with more granular control. Flexible Sync will allow you to — Build applications that respond dynamically to user's needs. Let your end users decide what data they need, and when. Use more precise permissions that can adapt over time. Check out this dedicated blog on our upcoming plans for Flexible Sync to learn more. Getting Started With everything we announced today, you can imagine it was a packed keynote! And there is so much more that we didn’t cover. You can get all of the highlights from our new announcements page where you will also find all the resources you need to get started.