As we previously explained Weave Discovery allows Weave Routers to find each other automatically, solving the initial configuration problem when setting up your overlay container network.
In this article we will examine how Weave Discovery can be used for automating the creation of a Swarm cluster connected with Weave.
Weave networks are built by getting the reachable IP addresses of your Weave routers and connecting them. However, trying to automate this process can be a difficult task: peers on the same network should discover each other automatically, getting their IPs, connecting, etc… In order to make things easier in this kind of scenario, we have developed Weave Discovery.
Discovery retrieves and watches the list of peers in a Weave network from a discovery backend. Discovery uses this information for telling a Weave Router about new peers it must connect to, as well as peers that are not available anymore and must be forgotten. Discovery can also advertise this Weave Router in the same backend so other peers can join it.
Today, Weaveworks is making it even faster and easier to deploy and see Docker container applications on Amazon Web Services’ EC2 Container Service (ECS). We’re delighted to be one of the launch Container Partners in the ECS marketplace, providing free Weave ECS AMIs based on the official ECS-Optimized Amazon Linux AMI, and a Getting Started Guide. These help you get your Docker containers up and running on ECS in minutes, discovering and communicating with each other using standard IP networking, with zero network configuration, no port mapping and no custom configuration code.
But that’s not all: once your app is running, you need to know what’s going on. Weave Scope provides a live map of your application and its containers, including the connections between them. And today we’re launching early access to Weave Scope as a cloud service. Now you can understand exactly what is going on with your ECS containers and troubleshoot problems with the click of a button. No code changes required. What could be simpler?
For developers who want to get their hands dirty and contribute, collaborate and help shape “real world” open source container tools for the future… we invite you to participate in our exclusive Early Access Program.
Sign up here to get on the list for a Weave Scope service invitation. We’ll be sending out account confirmations as we ramp up the service, starting today. Everyone who participates will also get a free T-shirt and there will be a competition for the coolest use case, as voted by the community before we head into public beta later in the year. What are you waiting for?
We have a great guest post for you today. Everyone knows that containers are fantastic for new cloud native applications. But what about the huge numbers of existing applications in the enterprise? Can these also “become cloud native” too? Please welcome Jim McBride from Enteon, whose team have been working on cracking this problem using Weave Net. Oh and they are announcing a new open source project so that you can do this too.
Please also checkout previous post by Enteon, which covers how they were using Weave to help cross ‘The Divide’ between the legacy enterprise and the container-centric future.
Enterprise organizations are consistently challenged to react more quickly to demands from their business partners. The bar has been raised considerably in the past several years as the CEO and board of directors have been exposed to Cloud Native applications in their daily lives with their smart phones and the websites that we all know and use on a daily basis.
They now expect the enterprise CIO to be able to provide a similarly seamless, elastic and agile experience.
Most CIO’s have some sort of DevOps initiatives underway in pursuit of these qualities – and are falling short as they learn that containers, while amazingly powerful and efficient – are not necessarily a natural progression for their teams. There is a lot for their teams to learn and become proficient at in this space as the technology shifts to micro-services-centric architectures.
And what about legacy, mode-1 type applications that aren’t destined for a micro-services future?
Today I am going to tell you about a solution to these issues and an open source project we have launched to establish this capability.
What just happened?
I’m extremely pleased to share some big news today, with Mathew Lodge (@mathewlodge) joining us as the COO of Weaveworks. Mathew joins us from VMware, where he was Vice President in VMware’s Cloud Services group. His strong product management and cloud computing background is perfectly aligned for the huge opportunity we are pursuing.
I’m referring not only to Weaveworks the company, but to the broader container and microservices ecosystem. Strong, experienced voices bring credibility and leadership to the ecosystem and move us all towards wider enterprise adoption of the cloud native stack.
Mathew is based out of San Francisco, where he will help us manage our rapidly growing US business. We’ve expanded our office, and will be hiring more SF-based folks to join the Weave team over the next few months. Please do feel welcome to come and find us at our SF office.
Please join me in welcoming Mathew, and feel free to reach out to him directly on Twitter (@mathewlodge).
Today we would like to share another great use case of Weave Net & Run. Folks at Giant Swarm have used our product to enable ease of scalability for their customer’s database cluster which run Crate.IO distributed SQL database. This solution leverages multicast capability of Weave Net as well as our ultra lean DNS implementation.
With Giant Swarm you can easily build, deploy, and manage your containerized services. There are no restrictions regarding programming languages, frameworks, or databases. Giant Swarm is available as a hosted container solution and on-premise.
Please find further details about the use case on Giant Swarm blog.
Weave and Convox make a great match. While Convox simplifies platform maintenance, allowing you to create a private cloud in minutes, Weave Run and Weave Scope do the same for distributed application development by adding load balancing, service discovery and monitoring. With the new release of Weave Scope visualizing your setup is fast, and with a few clicks it allows you to quickly spot any issues with your infrastructure.
To incorporate Weave into the Convox platform simply use Weave’s ECS AMI while installing Convox.
- Check Weave’s latest ECS AMIs and choose the AWS region and its corresponding Weave AMI to which you want to install Convox.
- Next, select an existing EC2 Key Pair or create a new one from Amazon. Ensure you save the key, as you will need it to access the Scope UI.
- Download the Convox CLI for your platform and then install Convox and Weave by typing:
convox install --region chosen-region --ami chosen-ami-id --key chosen-ec2-key-name
That’s all there is to it. You have just installed Convox with Weave support:
- Your Convox apps can now use Weave Run for load balancing and service discovery.
- You can also visualize the Convox rack by pointing your browser at port 4040 of your Convox EC2 instances.
To demonstrate, launch the sinatra sample app into Convox. Then, visualize the app with Weave Scope:
- Get the public IP of one the Convox instances, which you can see from the AWS Console shown below.
- Create a SOCKS proxy to the Convox instance:
ssh -N -D 9999 -i chosen-ec2-key-name.pem ec2-user@XXX.XXX.XXX.XXX
XXX.XXX.XXX.XXX is the public IP of the Convox instance
- Configure your browser to use the SOCKS proxy at
localhost:9999 we just created.
- Open URL
http://XXX.XXX.XXX.XXX:4040 in your browser, where you should see the following:
You can optionally verify that Weave is ready to load balance and discover services for your app by running
weave status dns:
ssh -i chosen-ec2-key-name.pem ec2-user@XXX.XXX.XXX.XXX
[ec2-user@ip-XXX-XXX-XXX-XXX ~]$ weave status dns
ecs-agent 10.36.0.1 bc8aae0dca6a 12:ec:a9:3b:12:be
ecs-agent 10.44.0.2 5965bceaaaf0 8a:c2:66:c6:d6:43
ecs-agent 10.46.0.2 be8b1b9c6d9e be:9f:10:e3:70:42
postgres 10.44.0.4 b1f46278e02e 8a:c2:66:c6:d6:43
redis 10.36.0.4 0b0ce5ebbb84 12:ec:a9:3b:12:be
registry 10.46.0.3 558d38feecfa be:9f:10:e3:70:42
web 10.36.0.5 938e01fe2cac 12:ec:a9:3b:12:be
web 10.46.0.4 a46dbd35dedd be:9f:10:e3:70:42
worker 10.44.0.3 26e8ab9ce65a 8a:c2:66:c6:d6:43