Rutuja Rajwade

5 results

Introducing: Multi-Kubernetes Cluster Deployment Support

Resilience and scalability are critical for today's production applications. MongoDB and Kubernetes are both well known for their ability to support those needs to the highest level. To better enable developers using MongoDB and Kubernetes, we’ve introduced a series of updates and capabilities that makes it easier to manage MongoDB across multiple Kubernetes clusters. In addition to the previously released support for running MongoDB replica sets and Ops Manager across multiple Kubernetes clusters, we're excited to announce the public preview release of support for Sharded Clusters spanning multiple Kubernetes clusters (GA to follow in November 2024). Support for deployment across multiple Kubernetes clusters is facilitated through the Enterprise Kubernetes Operator. As a recap for anyone unaware, the Enterprise Operator automates the deployment, scaling, and management of MongoDB clusters in Kubernetes. It simplifies database operations by handling tasks such as backups, upgrades, and failover, ensuring consistent performance and reliability in the Kubernetes environment. Multi-Kubernetes cluster deployment support enhances availability, resilience, and scalability for critical MongoDB workloads, empowering developers to efficiently manage these workloads within Kubernetes. This approach unlocks the highest level of availability and resilience by allowing shards to be located closer to users and applications, increasing geographical flexibility and reducing latency for globally distributed applications. Deploying replica sets across multiple Kubernetes clusters MongoDB replica sets are engineered to ensure high availability, data redundancy, and automated failover in database deployments. A replica set consists of multiple MongoDB instances—one primary and several secondary nodes—all maintaining the same dataset. The primary node handles all write operations, while the secondary nodes replicate the data and are available to take over as primary if the original primary node fails. This architecture is critical for maintaining continuous data availability, especially in production environments where downtime can be costly. Support for deploying MongoDB replica sets across multiple Kubernetes clusters helps ensure this level of availability for MongoDB-based applications running in Kubernetes. Deploying MongoDB replica sets across multiple Kubernetes clusters enables you to distribute your data, not only across nodes in the Kubernetes cluster, but across different clusters and geographic locations, ensuring that the rest of your deployments remain operational (even if one or more Kubernetes clusters or locations fail) and facilitating faster disaster recovery. To learn more about how to deploy replica sets across multiple Kubernetes clusters using the Enterprise Kubernetes Operator, visit our documentation . Sharding MongoDB across multiple Kubernetes clusters While replica sets duplicate data for resilience (and higher read rates), MongoDB sharded clusters divide the data up between shards, each of which is effectively a replica set, providing resilience for each portion of the data. This helps your database handle large datasets and high-throughput operations since each shard has a primary member handling write operations to that portion of the data; this allows MongoDB to scale up the write throughput horizontally, rather than requiring vertical scaling of every member of a replica set. In a Kubernetes environment, these shards can now be deployed across multiple Kubernetes clusters, giving higher resilience in the event of a loss of a Kubernetes cluster or an entire geographic location. This also offers the ability to locate shards in the same region as the applications or users accessing that portion of the data, reducing latency and improving user experience. Sharding is particularly useful for applications with large datasets and those requiring high availability and resilience as they grow. Support for sharding MongoDB across multiple Kubernetes clusters is currently in public preview and will be generally available in November. Deploying Ops Manager across multiple Kubernetes clusters Ops Manager is the self-hosted management platform that supports automation, monitoring, and backup of MongoDB on your own infrastructure. Ops Manager's most critical function is backup, and deploying it across multiple Kubernetes clusters greatly improves resilience and disaster recovery for your MongoDB deployments in Kubernetes. With Ops Manager distributed across several Kubernetes clusters, you can ensure that backups of deployments remain robust and available, even if one Kubernetes cluster or site fails. Furthermore, it allows Ops Manager to efficiently manage and monitor MongoDB deployments that are themselves distributed across multiple clusters, improving resilience and simplifying scaling and disaster recovery. To learn more about how to deploy Ops Manager across multiple Kubernetes clusters using the Enterprise Kubernetes Operator, visit our documentation . To leverage multi-Kubernetes-cluster support, you can get started with the Enterprise Kubernetes Operator .

October 10, 2024

MongoDB Enterprise Advanced in Google Distributed Cloud Hosted

Today, we’re excited to strengthen our "run anywhere" approach and deepen our relationship with Google Cloud by announcing that MongoDB Enterprise Advanced is now available for use within Google Distributed Cloud Hosted (GDC Hosted). "Google Cloud is happy to welcome MongoDB as a preferred partner for our Google Distributed Cloud Hosted product," said Rohan Grover, Director of Product for GDC Hosted. "MongoDB's powerful document database aligns with our data analytics focus, empowering our shared customers to unlock the full potential of their sensitive data in an air-gapped private cloud." GDC Hosted is Google Cloud’s air-gapped private cloud that does not require connectivity to Google Cloud or the public internet to manage the infrastructure, services, APIs, or tooling. GDC Hosted enables public sector organizations and regulated enterprises to address strict data residency and security requirements, while continuing to deliver innovation to their users. MongoDB Enterprise Advanced combines the power of MongoDB —– the leading NoSQL, document-oriented database that supports a variety of data structures — with an industry-leading offering catering to customers with the most advanced security and data sovereignty needs. As a flexible and scalable solution, MongoDB allows diverse datasets to be stored in a schemaless format, ensuring easy data manipulation and real-time analytics. Together, GDC Hosted and MongoDB Enterprise Advanced offer a solution that enables users to scale their operations while adhering to the strictest data governance and security standards. The bridge between GDC Hosted and MongoDB Enterprise Advanced is Kubernetes : GDC Hosted is built on Kubernetes allowing teams to self-manage MongoDB through the use of the MongoDB Enterprise Kubernetes Operator. The MongoDB Enterprise Kubernetes Operator is the only officially supported way to run Enterprise Advanced deployments of MongoDB in Kubernetes. To enable customers to manage deployments within their environment of choice (GDC Hosted in this case), the operator works in conjunction with the MongoDB self-hosted Ops Manager, which the operator can also install and manage in Kubernetes. This gives customers the ability to deploy, monitor, back up, and scale MongoDB. The Enterprise Operator drastically simplifies both the setup and day-two operations like upgrades, making it possible to run MongoDB in Kubernetes with far less Kubernetes expertise. Creation and configuration of database deployments can be managed via a Git repo, saving developers from needing the permissions or knowledge needed to work directly with Kubernetes. By leveraging the Enterprise Kubernetes Operator, users can manage their MongoDB deployments with even greater power and scale, and maximize their investment in both MongoDB and Google Cloud. GDC Hosted is built to meet high regulatory, durability, and availability requirements, which aligns with MongoDB Enterprise Advanced’s commitment to giving users the tools and support they need to have complete control over the management and security of their self-managed MongoDB environments. While MongoDB Atlas is the best way to run MongoDB on Google Cloud, MongoDB Enterprise Advanced in GDC Hosted is the best option for teams that need absolute self-managed control over data governance and compliance, while still allowing for scalability. Once you have GDC Hosted up and running, you can get started with MongoDB Enterprise Advanced through the MongoDB Enterprise Advanced listing in the GDC Hosted Marketplace. Alternatively, teams can access MongoDB Enterprise Advanced through the Google Cloud Platforms Marketplace. MongoDB customers who want to get started using Enterprise Advanced in their GDC Hosted environments will need to sign up for a MongoDB Enterprise Advanced license through MongoDB first. For more information, reach out to gcp@mongodb.com . To learn more about the Enterprise Kubernetes Operator, visit our documentation . To learn more about Enterprise Advanced, visit our product page or download the latest version .

February 6, 2024

Leveraging MongoDB Atlas in your Internal Developer Platform (IDP)

DevOps, a portmanteau of “Developer” and “Operations,” rose to prominence around the early 2010s and established a culture of incorporating automated processes and tools designed to deliver applications and services to users faster than the traditional software development process. A significant part of that was the movement to "shift left" by empowering developers to self-serve their infrastructure needs, in theory offering them more control over the application development lifecycle in a way that reduced the dependency on central operational teams. While these shifts towards greater developer autonomy were occurring, the proliferation of public clouds, specific technologies (like GitHub, Docker, Kubernetes, Terraform), and microservices architectures entered the market and became standard practice in the industry. As beneficial as these infrastructure advancements were, these technical shifts added complexity to the setups that developers were using as a part of their application development processes. As a result, developers needed to have a more in-depth, end-to-end understanding of their toolchain, and more dauntingly, take ownership of a growing breadth of infrastructure considerations. This meant that the "shift left" drastically increased the cognitive load on developers, leading to inefficiencies because self-managing infrastructure is time-consuming and difficult without a high level of expertise. In turn, this increased the time to market and hindered innovation. Concurrently, the increasing levels of permissions that developers needed within the organization led to a swath of compliance issues, such as inconsistent security controls, improper auditing, unhygienic data and data practices increased overhead which ate away at department budgets, and incorrect reporting. Unsurprisingly, the desire to enable developers to self-serve to build and ship applications hadn't diminished, but it became clear that empowering them without adding friction or a high level of required expertise needed to become a priority. With this goal in mind, it became clear that investment was required to quickly and efficiently abstract away the complexities of the operational side of things for developers. From this investment comes the rise of Platform Engineering and Internal Developer Platforms (whether companies are labeling it as such or not). Platform engineering and the rise of internal developer platforms Within a developer organization, platform engineering (or even a central platform team) is tasked with creating golden paths for developers to build and ship applications at scale while keeping infrastructure spend and cognitive load on developers low. At the core of the platform engineering ethos is the goal of optimizing the developer experience to accelerate the delivery of applications to customers. Like teaching someone to fish, platform teams help pave the way for greater developer efficiency by providing them with pipelines that they can take and run with, reducing time to build, and paving the way for greater developer autonomy without burdening developers with complexity. To do this, platform teams strive to design toolchains and workflows based on the end goals of the developers in their organization. Therefore, it’s critical for the folks tasked with platform engineering to understand the needs of their developers, and then build a platform that is useful to the target audience. The end result is what is often (but not exclusively) known as an Internal Developer Platform. What is an IDP? An IDP is a collection of tools and services, sourced and stitched together by central teams to create golden paths for developers who will then use the IDP to simplify and streamline application building. IDPs reduce complexity and lower cognitive load on developers - often by dramatically simplifying the experience of configuring infrastructure and services that are not a direct part of the developer's application. They encourage developers to move away from spending excess time managing the tools they use and allow them to focus on delivering applications at speed and scale. IDPs enable developers the freedom to quickly and easily build, deploy, and manage applications while reducing risk and overhead costs for the organization by centralizing oversight and iteration of development practices. An IDP is tailored with developers in mind and will often consist of the following tools: Infrastructure platform that enabled running a wide variety of workloads with the highest degree of security, resilience, and scalability, and a high degree of automation (eg. Kubernetes) Source code repository system that allows teams to establish a single source of truth for configurations, ensuring version control, data governance, and compliance. (eg. Github, Gitlab, BitBucket) Control interface that enables everyone working on the application to interact with and manage its resources. (eg. Port or Backstage) Continuous integration and continuous deployment (CI/CD) pipeline that applies code and infrastructure configuration to an infrastructure platform. (eg. ArgoCD, Flux, CircleCI, Terraform, CloudFormation) Data layer that can handle changes to schemas and data structures. (eg. MongoDB Atlas) Security layer to manage permissions in order to keep compliance. Examples of this are roles-based compliance tools or secrets management tools (eg. Vault). While some tools have overlap and not all of them will be a part of a specific IDP, the goal of platform engineering efforts is to build an IDP for their developers that is tightly integrated with infrastructure resources and services to maximize automation, standardization, self-service, and scale for developers, as well as maximizing security whilst minimizing overhead for the enterprise. While there will be many different terms that different organizations and teams use to refer to their IDP story, at its core, an IDP is a tailored set of tech, tools, and processes , built and managed by a central team, and used to provide developers with golden paths that enable greater developer self-service, lower cognitive load, and reduce risk. How does MongoDB Atlas fit into this story? Developers often cite working with data as one of the most difficult aspects of building applications. Rigid and unintuitive data technologies impede building applications and can lead to project failure if they don’t deliver the data model flexibility and query functionality that your applications demand. A data layer that isn’t integrated into your workflows slows deployments, and manual operations are a never-ending drag on productivity. Failures and downtime lead to on-call emergencies – not to mention the enormous potential risk of a data breach. Therefore, making it easy to work with data is critical to improving the developer experience. IDPs are in part about giving developers the autonomy to build applications. For this reason, MongoDB’s developer data platform is a natural fit for an IDP because it serves as a developer data platform that can easily fit into any team’s existing toolstack and abstracts away the complexities associated with self-managing a data layer. MongoDB’s developer data platform is a step beyond a traditional database in that it helps organizations drive innovation at scale by providing a unified way to work with data that address transactional workloads, app-driven analytics, full-text search, vector search, stream data processing, and more, prioritizing an intuitive developer experience and automating security, resilience, and performance at scale. This simplification and broad coverage of different use cases make a monumental difference to the developer experience. By incorporating MongoDB Atlas within an IDP, developer teams have a fully managed developer data platform at their disposal that enables them to build and underpin best-in-class applications. This way teams won’t have to worry about adding the overhead and manual work involved in self-hosting a database and then building all these other supporting functionality that come out of the box with MongoDB Atlas. Lastly, MongoDB Atlas can be hosted on more cloud regions than any other cloud database in the market today with support for AWS, Azure, and Google Cloud. How can I incorporate MongoDB Atlas into my IDP? MongoDB Atlas’ Developer Data Platform offers many ways to integrate Atlas into their IDP through many tools that leverage the MongoDB Atlas Admin API. The Atlas Admin API can be used independently or via one of these tools/integrations and provides a programmatic interface to directly manage and automate various aspects of MongoDB Atlas, without needing to switch between UIs or incorporate manual scripts. These tools include: Atlas Kubernetes Operator HashiCorp Terraform Atlas Provider AWS CloudFormation Atlas Resources Atlas CDKs Atlas CLI Atlas Go SDK Atlas Admin API With the Atlas Kubernetes Operator, platform teams are able to seamlessly integrate MongoDB Atlas into the current Kubernetes deployment pipeline within their IDP allowing their developers to manage Atlas in the same way they manage their applications running in Kubernetes. First, configurations are stored and managed in a git repository and applied to Kubernetes via CD tools like ArgoCD or Flux. Then, Atlas Operator's custom resources are applied to Atlas using the Atlas Admin API and support all the building blocks you need, including projects, clusters, database users, IP access lists, private endpoints, backup, and more. For teams that want to take the IaC route in connecting Atlas to their IDP, Atlas offers integrations with HashiCorp Terraform and AWS CloudFormation which can also be used to programmatically spin up Atlas services off the IaC integrations built off the Atlas Admin API in the Cloud environment of their choice.. Through provisioning with Terraform, teams can deploy, update, and manage Atlas configurations as code with either the Terraform Provider or the CDKTF. MongoDB also makes it easier for Atlas customers who prefer using AWS CloudFormation to easily manage, provision, and deploy MongoDB Atlas services in three ways: through resources from the CloudFormation Public Registry, AWS Quick Starts, and the AWS CDK. Other programmatic ways that Atlas can be incorporated into an IDP are through Atlas CLI, which interacts with Atlas from a terminal with short and intuitive commands and accomplishes complex operational tasks such as creating a cluster or setting up an access list interactively Atlas Go SDK which provides platform-specific and Go language-specific tools, libraries, and documentation to help build applications quickly and easily Atlas Admin API provides a RESTful API, accessed over HTTPS, to interact directly with MongoDB Atlas control plane resources. The fastest way to get started is to create a MongoDB Atlas account from the AWS Marketplace , Azure Marketplace , or Google Cloud Marketplace . Go build with MongoDB Atlas today!

January 4, 2024

MongoDB Atlas AWS CloudFormation and CDK Integration Expansion

At MongoDB, we meet our developers where they’re at and offer multiple ways to get started and work with MongoDB Atlas . Since our GA launch of the MongoDB Atlas integration with the AWS CloudFormation Registry at the start of this year, users have had the freedom to manage their MongoDB Atlas resources using familiar YAML or JSON CloudFormation Templates. This provided developers and DevOps teams the core Infrastructure as Code (IaC) benefits: enhanced automation, version control, infrastructure consistency, and improved compliance. In addition to these updates, we went further and announced support for CDK at MongoDB.Local NYC in June 2023, which allowed development teams to leverage MongoDB Atlas resources natively in the language of their choice: JavaScript, TypeScript, Python, Java, Go, and C#. Today, just ahead of AWS re:Invent , we are excited to announce several key improvements and expansions to our AWS CloudFormation and CDK integrations that we hope will continue to make developers' lives even easier. New MongoDB Atlas resources on the AWS CloudFormation Registry Nine new MongoDB Atlas Resources have been published including Federated Database Instance , Serverless Private Endpoint , Programmatic API Keys Management , MongoDB Atlas Gov Support , and MongoDB Atlas Organization Management . This brings the total MongoDB Atlas Resources count on CloudFormation Registry to 42 and allows developers to do more with MongoDB Atlas and AWS CloudFormation. AWS region expansion Are you a developer based in or have your end customers in Hyderabad India , Melbourne Australia , Spain , Switzerland , or the UAE ? The good news, we have published all 42 Atlas Resources in each of these new AWS regions as well. Benefits include reduced latency and improved compliance with data sovereignty regulations. This brings the total MongoDB Atlas availability from 22 to 27 AWS regions on the AWS CloudFormation and CDK. New CDK level 3 resources The CDK provides different levels of abstraction for defining cloud resources: L1 constructs, which are direct mappings to AWS CloudFormation resources, and higher-level constructs like L2 and L3, which can provide high levels of abstraction. L3 constructs, also known as "Design Patterns" or "High-Level Constructs," combine multiple resources together in commonly used architectures with intelligent defaults, saving developers from manually having to glue L1 and L2 constructs together each time. Hence, we are happy to announce several new AWS CDK L3 resources including support for MongoDB Atlas Serverless . Migration to the Atlas Go SDK Lastly, we are delighted to have migrated our AWS CloudFormation resources to the new Atlas Go SDK . This is the middle layer that translates AWS CloudFormation calls to the Atlas Admin API (which is ultimately responsible for provisioning your MongoDB Atlas infrastructure). This migration goes a long way in accelerating our internal development velocity and enabling us to publish more MongoDB Atlas Resources on AWS CloudFormation soon after they go GA. Learn more about the key benefits of the Atlas Go SDK . Start building today These MongoDB Atlas integrations with AWS CloudFormation are free and open-source, licensed under the Apache License 2.0 . Users only pay for underlying MongoDB Atlas and AWS resources created and can get started building with the Atlas always-free tier ( M0 clusters ). Getting started today is faster than ever with MongoDB Atlas and AWS CloudFormation. We can’t wait to see what you will build next. Learn more on our MongoDB Atlas and AWS CloudFormation page.

November 27, 2023

MongoDB Gives Users a Simple Way to Install Atlas Kubernetes Operator and Import MongoDB Atlas Clusters via the Atlas CLI

As time to market and rapid innovation get ever more critical to business success, the last thing your team needs is to spend more time than necessary managing infrastructure. In our most recent update to the MongoDB Atlas Kubernetes Operator , we’ve made it even easier to manage Atlas through the same mechanism that your team is using to manage their applications in Kubernetes. The Atlas Operator enables teams to deploy simple yaml configuration to Kubernetes, where the Operator automates the use of the Atlas Admin APIs to make the changes. It's now possible to install the Atlas Operator through a single command via a tool they already have: the Atlas CLI. Additionally, we’ve given users the optional ability to import existing Atlas projects and deployments into management through the Operator, as part of the installation or as a stand alone operation, making it easy to adopt existing Atlas deployments into management through the Operator. Keep reading to learn how your team can automate the installation and import of Atlas projects in order to enable easy self-service use of Atlas for your engineering teams. But first, a little context The MongoDB Atlas Kubernetes Operator enables teams to manage Atlas from within Kubernetes the same way they would any other service in their Kubernetes stack. By doing this, the Operator removes the need for custom scripts and switching between UIs in order to use the two together. Instead, teams are able to manage their Atlas projects, deployments and database users through yaml that can either live in their Kubernetes cluster, or, more commonly, in a repository alongside their other infrastructure as code configuration. Many customers choose to use a deployment tool like ArgoCD or Flux to automate applying those into Kuberentes, where the Atlas Operator picks them up and uses APIs to make the changes to Atlas. All your teams need to worry about is the yaml in their repo! Previously, setting up the Atlas Kubernetes Operator was a multi-step, manual process. First teams had to use Kubernetes tooling to install the Atlas Kubernetes Operator within a Kubernetes cluster. Teams then had to create an API key in Atlas and a corresponding Kubernetes secret required to authenticate the Atlas Kubernetes Operator to Atlas. It was only after all of that work that they could then create a database or import existing Atlas deployments into the Atlas Kubernetes Operators control. While exporting Atlas configuration into Kubernetes was generally a simple process, it still required some manual steps to bridge the Atlas CLI (which offered a compatible export of Atlas configuration) and Kubernetes (where the configuration needed to be imported). Because of this, secrets either had to be exported in plaintext onto the user’s machine, or entered manually later. All of this to say, it was possible… it just wasn't a piece of cake. Enter a more simplified approach Now, it’s easier than ever to get started with Kubernetes-native management of Atlas. First, we’ve made the installation of the Atlas Kubernetes Operator a simpler process by enabling teams to use the Atlas CLI to install the Atlas Kubernetes Operator. Through a single command in the CLI, Atlas users are able to easily install the Atlas Kubernetes Operator into their currently connected Kubernetes cluster. Including the automated creation of an Atlas API key and storing it in a Kubernetes secret for use by the Operator. Additionally, users can now export Atlas configuration for projects, deployments and users directly into Kubernetes, either as part of the install or as a separate operation. This saves users from needing to always having to export to their own machine before applying to Kubernetes, though exporting like this is still available to support GitOps workflows. With these options, it’s much easier for teams to take control of their projects and clusters and manage them through the Atlas Operator. By simplifying the use of the Atlas Kubernetes Operator with these updates, we have significantly reduced the amount of toil that went into getting started with Atlas. Get started with the Atlas Kubernetes Operator today. Head to the MongoDB.local hub to see where we'll be showing up next.

June 28, 2023