Swisscom Builds its New Application Cloud PaaS for Microservices with MongoDB, Cloud Foundry, and Docker

February 14, 2017 Mat Keep

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.

 

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.

Previous Article
Building Modern Applications with Microservices: Part 2
Building Modern Applications with Microservices: Part 2

In this post, I will talk about how MongoDB enables microservices, as well as considerations to keep in min...

Next Article
Leading Soccer Streaming Service fuboTV Scales its Business with MongoDB, Docker Containers and Kubernetes
Leading Soccer Streaming Service fuboTV Scales its Business with MongoDB, Docker Containers and Kubernetes