MongoDB 3.2.7-rc1 is out and is ready for testing. This is a release candidate containing only fixes since 3.2.6. The next stable release 3.2.7 will be a recommended upgrade for all 3.2 users.
Fixed in this release:
- SERVER-18783: Upgrade MongoDB past PCRE 8.37
- SERVER-23919 Database/Collection drop during initial sync can cause collmod to fail initial sync
- SERVER-24054 JS segmentation fault on load of certain nans
- SERVER-24058 Connection pool asio doesn't honor setup timeouts
- SERVER-24062 Native CA certificates don't work with homebrew's openssl
- SERVER-24117 Mongo binaries ELF stack has become executable
- TOOLS-1166 Mongotop cannot connect to secondary in 3.2
- WT-2560 Stuck trying to update oldest transaction ID
As always, please let us know of any issues.
-- The MongoDB Team
Leaf in the Wild: Swisscom Builds its New Application Cloud PaaS for Microservices with Cloud Foundry, Docker, and MongoDB Enterprise Advanced
Leaf in the Wild posts highlight real world MongoDB deployments. Read other stories about how companies are using MongoDB for their mission-critical projects. Swisscom is leading the transformation from traditional telecommunications company to cloud services provider. Through its new Application Cloud, Swisscom is enabling independent developers through to multinational Swiss-based enterprises to build a new generation of cloud-native microservices on a highly scalable and secure Platform-as-a-Service (PaaS). I met with Marco Hochstrasser, Head of Cloud Platform Development at Swisscom, to learn more. Can you start by telling us a little bit about your company? Swisscom is the largest communications provider in Switzerland, delivering voice, mobile, broadband and TV services to 80% of the population. We generate annual revenues of €11bn, and employ over 20,000 people. A growing percentage of the company’s revenue comes from our enterprise business, providing companies in Switzerland with network, IT outsourcing, mobility, digital enterprise solutions and smart working. Cloud services are one of the fastest growing segments of the enterprise business. We provide the full range of infrastructure, software, and Platform-as-a-Service (PaaS) offerings for our enterprise customers in Switzerland. Can you tell us how you are using MongoDB? MongoDB is one of the core database offerings available through our PaaS services: The Swisscom Application Cloud is a public PaaS, available to any developer. The platform allows developers to concentrate on coding, leaving management of the underlying operating systems, middleware, and databases to us. The service was launched in October 2015 and already hosts thousands of cloud-native applications in modern container technology. The Swisscom Application Cloud Virtual Private is a newly launched offering that provides a dedicated PaaS for enterprise customers. It is hosted and managed in our Swiss data centers with interconnectivity directly to the customer’s own network and IT infrastructure. Whether using the public or virtual private Application Cloud, all data is stored in Switzerland on our own network and routed via our local, state-of-the-art data centres. This enables us to guarantee maximum security and smooth operation for local developers and enterprises. Why did you choose MongoDB as a service in the App Cloud? We offer traditional relational databases, along with caches, message queues and search engines. We wanted to include a non-relational option, and sought feedback from the market. MongoDB was the overwhelming choice – compared to Cassandra and Couchbase there is a significantly larger community around the product. There is much higher customer demand for MongoDB, especially from the verticals that constitute the main part of our customer base. Please describe the technology stack powering your public and private Application Cloud We are running an open-standards based stack across our PaaS offering, which enables our customers to avoid the lock-in inherent with other cloud services. The technology includes: ODM-built state of the art x86 hardware to scale efficiently Plumgrid software-defined networking to interconnect with Swisscom’s existing networks ScaleIO software-defined storage to bring policy-based provisioning and management to every layer of our technology stack Red Hat OpenStack with KVM virtualization for the IaaS layer Docker for running cloud-native containers (in Cloud Foundry), as well as persistent containers for stateful services Flocker to bring persistency into our service-container framework Cloud Foundry is our PaaS layer, providing a highly standardized and widely adopted platform. Swisscom is a gold member of the Cloud Foundation and I am a member of the board. Cloud Foundry and Docker do not currently provide persistence for stateful services, and so for databases such as MongoDB, we use Flocker from ClusterHQ to mount block storage from our software-defined storage to the container and persist its state. If the container terminates for whatever reason, Flocker transparently remounts the storage volume to the replacement container, with almost no interruption to the service or impact to the user experience. You can learn more about how we use Docker and Flocker to build a stateful database-as-a-service from our recent talk at the Tectonic Summit . Our technology stack gives us an agile devops environment, with continuous integration and delivery to push new features and upgrades rapidly into production. App Cloud is powering tens of thousands of microservices, managed by a small group of administrators. The key is that we heavily standardize, automate and monitor everything, and MongoDB integrates perfectly to the environment. How do you provision and manage MongoDB within the App Cloud? When a developer creates a service via the App Cloud UI or the API, the request goes to Cloud Foundry which calls its service broker to instantiate the MongoDB Docker container. The MongoDB Ops Manager RESTful API integrates with the Cloud Foundry service broker to provision the image, and Flocker mounts the block storage to the container. Deploying new MongoDB Services with Cloud Foundry Do you use any support and services for MongoDB? Yes, we are customers of MongoDB Enterprise Advanced which provides Ops Manager, and 24x7 proactive support direct from the MongoDB technical services and development teams. This enables us to provide a better SLA to our Application Cloud customers. We have also used the Health Check from MongoDB Global Consulting Services, which delivered a detailed readiness assessment of our deployment, with best practices for always-on availability, system configuration and scaling. How is MongoDB performing in the App Cloud? We’ve had great traction since the initial launch of the public Application Cloud. We have ramped to over 2,000 database containers in just a few months – more than half of which are running MongoDB. dorma+kaba Group , one of the world’s leading providers of physical security and access solutions, has developed its new Internet-based services for small and medium enterprises on the Application Cloud with MongoDB, and is able to continuously deliver updates as they release new features. Application Cloud Virtual Private has just been released, and we already have great feedback from the market, especially as we’re offering the service hosted in Switzerland, in local Swiss data centres. One of the key reasons for the interest we are seeing in MongoDB is that we are currently the only public cloud provider offering MongoDB Enterprise Advanced-as-a-Service in Switzerland, Germany and Austria, through our partnership with MongoDB. Customers get access to the value-added features of MongoDB Enterprise, including advanced security protection with encryption, auditing and centralized authentication; coupled with the fine grained monitoring and consistent, point in time backups available with Ops Manager. The service is based on the latest MongoDB 3.2 release . Does Swisscom use MongoDB outside of the App Cloud? We use it extensively for Over The Top (OTT) communications services in our residential division. The Swisscom IPTV platform runs MongoDB to manage the electronic program guide, Video on-Demand and radio channels for nearly 1 million subscribers Our latest project is the new Swisscom myCloud service providing secure multimedia content storage and management for over 8 million prospective customers. Marco, thank you for taking the time to share details of your App Cloud with me. Want to learn more about enabling microservices with containers and MongoDB? Read our new white paper. Enabling Microservices: Containers & Orchestration Explained About the Author - Mat Keep Mat is a director within the MongoDB product marketing team, responsible for building the vision, positioning and content for MongoDB’s products and services, including the analysis of market trends and customer requirements. Prior to MongoDB, Mat was director of product management at Oracle Corp. with responsibility for the MySQL database in web, telecoms, cloud and big data workloads. This followed a series of sales, business development and analyst / programmer positions with both technology vendors and end-user companies.
COSMOS SQL Migration to MongoDB Atlas
Azure Cosmos DB is Microsoft's proprietary globally distributed, multi-model database service. Cosmos DB supports SQL interface as one of the models in addition to the Cosmos MongoDB API. Even customers with the SQL interface use COSMOS for the document model and the convenience of working with a SQL interface. We have seen customers struggle with scalability issues and costs with Cosmos DB and want to move to MongoDB Atlas. Migrating an application from Cosmos DB SQL to MongoDB Atlas involves both application refactoring and data migration from Cosmos to MongoDB. The current tool set for migrating data from Cosmos SQL to MongoDB Atlas is fairly limited. While the Azure datamigration tool can be used for a 1 time export, customers frequently need zero downtime for migrations which the datamigration tool cannot satisfy. All writes into the source COSMOS SQL should be discontinued before the data migration can be performed. This puts a lot of pressure on the customer in terms of downtime requirements and planning out the migration. PeerIslands has built a COSMOS SQL migrator tool that addresses these concerns. The tool provides a way to perform COSMOS SQL migration with near zero downtime. The architecture of the tool is explained below Initial Snapshot The tool uses the native datamigrationtool to export data as JSON files from Azure Cosmos DB SQL API. The Data Migration tool is an open-source solution that imports/exports data to/from Azure Cosmos DB. The exported data in JSON format is then imported into MongoDB Atlas using the mongoimport. Figure 1: Initial Snapshot processing stages. Change data capture Using the combination of the above tools we complete the initial snapshot. But what happens to documents that are updated or newly inserted during migration? Just prior to the initial snapshot process being started, the migration tool starts the change capture process. The migration tool listens to the ongoing changes in CosmosDB using the Kafka Source Connector provided by Azure and pushes the changes to a Kafka topic. Optionally KSQL can be used to perform any transformation required. Once the changes are in Kafka, the migration tool uses the Atlas Sink Connector to push the ongoing message to the Atlas Cluster. Below is the diagram depicting the flow of change stream messages from Cosmos SQL to MongoDB. Figure 2: The flow of change stream messages from Cosmos SQL to MongoDB The COSMOS SQL migration tool provides a GUI based point & click interface that brings together the above capabilities for handling the entire migration process. Since the tool is capable of change data capture, the tool provides a lot of flexibility for migrating your data without any downtime. Figure 3: Cosmos SQL migration tool dashboard In addition to data migration, PeerIslands can help with complete application refactoring required for migrating out of COSMOS SQL interface. Reach out to firstname.lastname@example.org if you need to migrate from COSMOS SQL to MongoDB Atlas.