What is Weave Cloud?
Weave Cloud is software-as-a-service that allows DevOps teams to connect, monitor and deploy containers and microservices to accelerate the delivery of cloud-native applications. The capabilities of Weave Cloud build on hosted multi-tenant versions of Weaveworks’ open source projects, Net, Scope and Cortex.
Weave Cloud is fully integrated with Docker Engine and all major orchestrators, including Docker Swarm/UCP, CNCF Kubernetes, AWS ECS, Apache Mesos and Mesosphere DC/OS. Weave Cloud is an extension to Docker and your chosen container orchestration platform(s), and makes them simpler to deploy and operate. No “rip and replace” is required, and Weave Cloud works across datacenters and clouds, and with any mix of orchestrators.
What are the main capabilities of Weave Cloud?
Connecting and securing container clusters and applications
DevOps teams need a simple way to wire up apps with built-in service discovery and network-level security between containers and microservices, and have this work across clouds, datacenters and orchestrators. They also need to be able to isolate services and containers from, and firewall traffic to reduce the attack surface. Weave Net is the leading container networking solution for this, and Weave Cloud provides visualization, monitoring and management of container networks built using Weave Net.
Monitoring containers, orchestrators and applications
Monitoring and troubleshooting containers and microservices is much harder than VMs or servers, because container lifecycles are measured in minutes vs. weeks. Weave Cloud integrates Weave Scope and Cortex, a scalable version of the Prometheus monitoring system. Weave Scope builds a map of your application, showing all of your hosts, containers, processes and services, and how they communicate with each other over the network.
Cortex is a monitoring service built on Prometheus – you can also think of it as “Prometheus as a service”. Prometheus collects metrics from your applications and infrastructure components and stores them as a “data cube”, and allows sophisticated queries that help DevOps teams understand and troubleshoot problems in containerized applications.
Many cloud native components already “export” metrics that can be collected by Prometheus, such as Kubernetes. Weave Net also exports Prometheus metrics. This means that no coding is required by developers in order to collect baseline metrics from the infrastructure using Weave Cloud, but that they can also export custom metrics from their app with a few lines of code.
Continuous microservice delivery
Most application developers won’t know how to configure an orchestrator like Kubernetes – they just know how to commit code that is then built by a CI system. Configuring an orchestrator is intricate, manual and error prone, and every new version of a container requires a change to the orchestrator configuration files.
Weave Cloud automates the tedious and error-prone steps to go from a new set of container images to a properly deployed service running in Kubernetes (support for additional orchestrators will be introduced in future versions of the service). Platform teams define a policy that describes how the service should be run, and Weave Cloud automatically generates the right Kubernetes configuration files, checks them into source code control, and (optionally) deploys them to Kubernetes.
Simple to adopt and operate
Weaveworks does all the undifferentiated heavy lifting with Weave Cloud so users don’t have to build, integrate and operate open source components. Its “invisible infrastructure” means that users don’t have to manage databases, storage and availability in order to connect, monitor and deploy containers and microservices.
What customer problem does Weave Cloud solve?
Adopting containers and microservices is difficult because development teams need to select an orchestrator/scheduler and wire it up with networking, security, monitoring and troubleshooting. Technologies designed for VMs or servers fail to address highly dynamic container environments with hundreds or thousands of containers and services, and lifecycles measured in minutes. The net: developer productivity is poor. There are bottlenecks, manual configuration, information gaps and scripting workarounds.
With Weave Cloud, container and microservice networking, monitoring and continuous delivery become “invisible infrastructure” that is simple to use, simple to operate, secure and highly available. Development is accelerated because automation has replaced manual configuration and scripting, and you get all the container-level and orchestrator-level information you need.
What's new in Weave Cloud (vs. the prior beta version)?
Weave Cloud has several new capabilities and improvements over the beta service:
- Integrated metrics collection and charting service, based on the open source Prometheus project (part of the CNCF)
- View Weave Net peer information in the live view of your application and directly manage the network including removing and resetting network peers
- Expanded Kubernetes display including Pods, Services and Replication Sets
Is Weave Cloud competitive with orchestrators like Kubernetes, Docker, UCP and Mesos?
No: an advantage of Weave Cloud is that it’s a simple extension to the user’s choice of orchestration platform, and it makes orchestrators simpler to deploy and operate. No “rip and replace” is required. Weave Cloud works just as well with open source code bases (e.g. open source Kubernetes) as it does with commercial distributions like CoreOS Tectonic, VMware Kubernetes-as-a-service, and Mesosphere DC/OS.
What is Weave Net?
Weave Net provides a secure “micro SDN” for containers, and is the most popular Docker container networking solution, one of the top 20 Docker repositories on Docker Hub1, and a leading open source project. It is used by a wide range of applications from container platforms like Docker Cloud through to leading financial services companies like International Securities Exchange (now part of NASDAQ).
Weave Net provides containerized applications with a simple network with full service discovery requiring zero configuration or coding, with no external dependencies. It also offers security and isolation between containers and microservices according to security policies, automatically applying the correct firewall rules at the container level as applications scale and evolve.
One of the capabilities of Weave Cloud is to monitor, troubleshoot and manage container networks created with Weave Net.
1Source: DockerHub statistics 20 September 2016 showing >5 million pulls, making Weave Net the #18 DockerHub repository.
What is Weave Scope?
Weave Scope provides a real-time map of hosts, containers, processes and services of a running app on Docker infrastructure, without any configuration or instrumentation. Scope shows which containers talk to which other containers, and a search box allows you to focus in on problem containers by keywords (e.g. “java”) or metrics (e.g. “CPU > 10%”).
Scope’s web-based interface literally shows you your application, and web-based terminals and log windows allow you to inspect containers from the same browser tab. DVR-like controls allow you to pause, stop or restart containers for troubleshooting purposes.
What is Prometheus?
Inspired by Google’s internal monitoring tool, Borgmon, Prometheus was created to monitor microservices-oriented, containerized dynamic applications. It is an open source project incubated by the CNCF. Unlike traditional monitoring tools it was designed from the outset to monitor containers and to deal with rapidly changing environments where container lifecycles are measured in minutes rather than weeks or months for VMs or servers.
Prometheus is unusual in several ways:
- It allows applications to supply multi-dimensional metrics (e.g. a group of related metrics, such as a container name + CPU + free memory + IOPS) and store them in a “data cube”, so that complex queries across all of the metrics are easy to do (e.g. “give me the names of all the containers with CPU > 50% and free memory < 8GB between 8am and 9am today")
- It comes with a powerful SQL-like query language to exploit the power of the “data cube” model
- It is a “pull model” – applications do not need to “push” metrics to a central location. Instead, Prometheus pulls the metrics from the applications. This makes it easy to run multiple instances of Prometheus to monitor different levels of detail or different parts of an application.
Kubernetes and Weave Net 1.8 support Prometheus natively, and many other cloud-native tools are adding Prometheus support. Users can also easily publish custom app metrics to Prometheus.
What is Cortex?
Cortex is a multi-tenant, horizontally-scalable version of the Prometheus open source monitoring project, built by Weaveworks.
Prometheus itself only supports a single tenant (user), which means you need one Prometheus instance per user if you want to scale up in an enterprise or cloud service provider context. Cortex removes that limitation -- it's a single instance that can support multiple users. Because it is a single instance, it needs to scale up with the number of users and the amount of data (number of metrics) being stored, and for this to be possible by adding additional Cortex instances (horizontal scaling) vs. using more memory and CPU (vertical scaling).
What is new with Weave Scope 1.0?
WHAT IS NEW WITH WEAVE NET 1.8?Weave Scope 1.0:
- Weave Net peers display
- Use of eBPF to collect information about connections between hosts and containers – much more efficient. If eBPF is not available on a host, it falls back to the (slower) conntrack method.
- Various bugfixes
What is new with Weave Net 1.8?
- Prometheus metrics export for monitoring and troubleshooting
- Various bug fixes