Weaveworks has released new features for the Weave Cloud SaaS platform that aim to simplify deployment, monitoring and management for containers and microservices, including: incident management with historical audit, instant query, and customisable analytics and dashboards; release automation and point-in-time rollback for Kubernetes and continuous delivery pipelines; and advanced Kubernetes troubleshooting including resource-container mapping. A new Weave Cloud Enterprise Edition tier has also been added to the company's commercial offerings, which includes long term data storage and reporting.
Weave Cloud is a managed cloud service that aims to allow developers to "easily deploy, manage and monitor microservices and container-based applications", and supports all container orchestration platforms including Kubernetes, Mesosphere DCOS, AWS ECS, and Docker Swarm.
Weave Cloud provides:
- Release management: Enable the deployment of applications automatically by policy, which can be configured to implement a build pipeline that continually delivers the latest features to production.
- Visualisation: Observe and understand how applications and microservices are connected together in containers, facilitating complex troubleshooting and optimisation.
- Management: Manage individual containers and services within the cluster, simplifying the handling of complex application, services and individual containers.
- Monitoring: Inspect all aspects of the application and cluster, along with alerts and dashboards.
- Networking: Connect containers together in a secure virtual network, simplifying connecting and scaling complex container clusters.
The Weave Cloud platform combines the following Weaveworks open source components: Weave Net, Weave Scope, Weave Flux, and Weave Cortex.
Weave Flux enables continuous delivery of container images. Weave Flux can query both the current status of the container orchestrator deployments and the current latest versions of a container image, and perform automated deployment if a new version is detected. The tool automatically updates version control for each step to ensure deployment is reproducible, auditable and revertible.
Weave Net creates a virtual overlay network that connects Docker containers across multiple hosts and enables their automatic discovery. With Weave Net, microservice style applications consisting of multiple containers can run and communicate on one host, multiple hosts or across cloud providers and data centers. Weave Net emulates a full layer 2 network, including multicast (which is not typically supported with public cloud offerings), and applications use the network just as if the containers were all plugged into the same network switch, without having to configure port mappings, ambassadors/sidecar containers, or links.
Weave Scope: Weave Scope automatically generates a real-time map of running containers within a container orchestrator such as Kubernetes, which enables a human operator to visualise, monitor, and examine network communication and associated metrics. Weave Scope provides a view into an individual application container and also the entire infrastructure, which facilitates with diagnosing potential issues within a distributed containerised application.
Weave Cortex is an API-compatible Prometheus container monitoring implementation, that natively supports multi-tenancy and horizontal scale-out clustering. Prometheus is an open source project that is hosted within the Cloud Native Computing Foundation (CNCF), and was originally created by SoundCloud to meet their monitoring needs of a large microservice deployment. Weave Cortex offers the same query language (PromQL), data model and configurable alerts as Prometheus. The local storage model of Prometheus limits the possible data retention and durability to that of a single machine. Cortex' use of cloud-native storage such as Amazon DynamoDB and S3 allow for much larger data retention.
At CloudNativeCon 2017, held in Berlin, Germany, InfoQ sat down with Weaveworks CEO Alexis Richardson, and asked about the motivation for creating Weave Cloud:
We created Weave Cloud as an operations platform for application developers, and we deliberately designed the platform to be cloud/container vendor-agnostic.
Our goal for Weave Cloud is to remove obstacles from getting applications from development into production. A team of developers should be able to easily deploy, manage, monitor, and connect microservices and container-based applications, without the need for complex operational overhead.
InfoQ also asked Richardson about the challenges developers face when deploying and scaling applications that have been developed and tested locally.
We wanted to make it easier for developers to get started, but just as importantly, we wanted to make it easy to move applications from development to production, and continually ensure that they are working effectively. Working with our customers we have found that the ‘Day 2’ issues of monitoring, troubleshooting and remediating the inevitable issues that occur with large-scale deployment can be challenging. Weave Cloud aims to provide a common interface and experience across the lifecycle of container-based application deployment and execution.
The new Weave Cloud Enterprise Edition (EE) tier adds additional data storage (1TB of monitoring and logging data storage with 13 months data retention) and reporting to the standard Weave Cloud offering. Additional information can be found on the Weave Cloud website, and all of the company’s open source projects can be found in the Weaveworks GitHub account.