Category: Architecture

Architecture

Do you use Docker Swarm? If so, how?

Docker swarm page

UPDATE – 20 Nov 2018 – I wrote this back in 2016 as I was just experimenting with Docker. Since that time, not only did Swarm emerge as Docker’s tool for container management/orchestration/clustering, but we also saw the emergence and then domination of Kubernetes as a tool for container orchestration.  I’m leaving this post online, but at this point the examples are quite prominent for how Swarm and other tools can be used.

—-

Do you use Docker Swarm? If so, how?  I have been incredibly intrigued ever since reading about the release of Docker 1.12 earlier this week.

As Benjamin Wooten writes, now with only two commands:

  • We get a deployment platform which gives us resilience, robustness, failover and fault tolerance for our containers.
  • We get load balancing and a routing mesh which makes service discovery simple.
  • We can use our server resources more efficiently with various allocation strategies.
  • We can scale containers up and down with one command.
  • Communications within the cluster are secured with dynamically rotating certificates.

Ever since, I have been reading more, such as this piece about setting up a swarm with Raspberry Pi systems.

Now I am curious… how are any of you reading this using Docker Swarm? What are doing with it?  I am intrigued and curious to do more…

Video and Slides Now Available For My AstriCon 2015 Keynote: Open Source and The Global Disruption of Telecom

If you're interested in what I said last month at AstriCon 2015 in my keynote on "Open Source And The Global Disruption of Telecom: What Choices Will We Make?", the video and slides are both available.

As I wrote about previously, the context for this discussion was to talk about the changes that are happening all around us in terms of the ways in which we communicate. Here was the abstract:

There is a battle raging for the global future of telecommunications and the Internet. Taking place in networks, board rooms and legislatures, the battle will determine how we all communicate and what opportunities will exist. Will telecom support innovation? Will it be accessible to all? Will it give us the level of security and privacy we need to have the open, trusted Internet? Or will it be restricted and limited by corporate or government gatekeepers?

The rise of voice-over-IP has fundamentally disrupted the massive global telecommunications industry, infrastructure and policies. Open source software such as Asterisk has been a huge driver of that disruption and innovation.. but now what? What role do platforms such as Asterisk play in this space? And what can be their role in a telecom infrastructure that is now mobile, increasingly embedded (Internet of Things) and more and more using proprietary walled gardens of communication?

How well I delivered on that will be up to you to decide... but I felt good about how it all came out and received many great comments and feedback throughout the rest of the event and afterwards. And, as a speaker I could see from the crowd (about 500-ish people) that they were NOT looking down into their smartphones or laptops... which is always a good sign! ;-)

A key point of what I aimed to do was to bring people up to a higher level to think about how their own actions fit into the broader context of what is happening in the world today.

It was fun to do! And I loved all the questions I was getting after that. My goal was to make people think... and it seemed that at least for some I did.

My part of the video starts after 15 minutes of introductory items (this was the opening of the event), so if you watch in the embedded video below you'll need to move forward to the 15:00 mark. You can also follow this direct link to the start of my segment with an introduction to me from Mark Spencer, the creator of Asterisk.

(And yes, this was the first time I had ever given a presentation wearing a ponytail in the long hair experiment I've been trying this year... I'm still not 100% sure I'm going to keep this style. This may be the first and only presentation you see with me like this.)

Unfortunately, the video only shows me talking on stage and doesn't show the slides I was using... so you don't understand what I'm talking about when I reference the slides.

I've posted the slides to my SlideShare account but as you'll see without the video or audio they aren't of much value. This was a wonderful opportunity for me to present in the very minimalist style I prefer where I only use images or a few words - and I thoroughly enjoyed doing so.

However, syncing the slides to the video is not something you'll probably find easy. At some point perhaps I'll create another video showing both my speaking and the slides... but I don't know that it will happen anytime soon.

Meanwhile, here they are...

Some of the links I reference in the presentation include (in the order of their appearance):

If you enjoyed this presentation and would like to have me potentially speak at your event, please do contact me. I've been speaking for many years and very much enjoy giving these kind of presentations at all types of events.

Firechat Enables Private Off-The-Internet (P2P) Messaging Using Mobile Phones

Firechat mesh network

There was a fascinating article posted on Medium this week by the CTO of messaging app Firechat:

In the text he outlines how they do decentralized "off-the-grid" private messaging using an ad hoc mesh network established between users of the Firechat app. It sounds like the app instances join together into some kind of peer-to-peer (P2P) network and then do normal "store-and-forward" messaging.

Of note, the apps do NOT need an Internet connection, or even a cellular network connection - instead they can use the Bluetooth and WiFi radios in the mobile phones to create a private mesh network and connect to other users of the Firechat app.

Naturally, having spent some time exploring P2P networks back when I was playing around with P2P SIP and distributed hash tables (DHTs) and other technologies, I immediately jump into the techie questions:

  • How are they routing messages from one user to another?
  • How is the "directory" of users in P2P mesh maintained?
  • What addresses are they using for the communication? Is this still happening over IP addresses? Or are they using some other kind of addressing?
  • How do users join and leave the mesh network?
  • How do user get authorized to join the private mesh? (Or is it just open to all?)
  • How secure is the communication between the parties?
  • Is the message encrypted or private in any way? Or is it just plain text?
  • How well do smartphone batteries hold up if multiple radios are being used? What is the power impact of joining into a mesh network like this?

None of that is covered in this article, of course... this piece is more about the theory of how this can work given a particular density of users. It introduces the phrase "percolation threshold" and provides some background and research into how these kind of networks can be created.

I've always been fascinated by P2P networks like this sounds to be. The beauty of the Internet... the "Internet Way", so to speak... has been to support distributed and decentralized architectures.

If you think about mail or web servers, they are (or at least were) massively distributed. Anyone could set up a mail or web server - and millions upon millions of them bloomed. While we've certainly seen a great amount of centralization due to market dominance (ex. Gmail), the architecture still is distributed / decentralized.

Except... of course, the directory is still centralized. Mail and web servers rely on the central directory of DNS to resolve domain names into IP addresses so that connections can occur. Most other applications rely on DNS for this as well.

Hence my curiousity about how Firechat is handling the directory and routing issues.

I'm also intrigued by how the article hints at integrating Internet-connected users into the P2P mesh. So you really have a hybrid network that is part P2P and part connected out to cloud-based servers.

(And all of this brings me back to those early days of Skype 8-10 years ago when so many of us were captivated by the P2P mechanisms they created... most all of which is now gone in the post-Microsoft-acquisition as Skype has moved from P2P to server/cloud-based - with one big reason being given that mobile devices apparently had speed and battery life issues participating in true P2P networks.)

A key challenge Firechat faces, of course, is the "directory dilemma" of building up the quantity of users where P2P mesh networks like this can happen. This is the same dilemma facing basically all over-the-top (OTT) messaging apps. "Percolation theory" requires a certain user density for a mesh like this to work.

That will be their struggle.

And in some urban areas I can see this working quite well. Perhaps not so much out in the woods of New Hampshire where I live!

But I wish them well with this. I love to see new explorations of potential new architectures for communication. And I can certainly see instances when ad hoc, distributed/decentralized P2P meshes like these could be quite useful.

And I'm definitely looking forward to some more technical articles that dive down into some of these questions.... I do hope they'll write more soon!


Photo credit: Stanislav Shalunov's article about Firechat

Watch Live TODAY (Sept 19) – CITI State of Telecom 2014

Citi logoWhat is the future of telecommunications and the Internet? As more entertainment moves to being over the Internet, what are the implications for the media and for the technology?

Today, September 19, 2014, there is an interesting set of presentations happening at the Columbia Club in New York City, organized by the Columbia (University) Institute for Tele-Information (CITI) called the "CITI State of Telecom 2014". Subtitled, "From the Internet of Science to The Internet of Next Generation Entertainment Implications for Content, Technology and Industry Consolidation", the session description states:

The goal of the early Internet was to connect research institutions. Yet today 71% of all Internet traffic consists of video, games, and music, and that number is growing. This transition raises issues for media content, technology, industry consolidation, business strategy, and regulatory policy. Media companies, academics, policy makers, and technologists must think ahead.

You can watch it all live at:

http://new.livestream.com/internetsociety/citisot14

The sessions are being recorded, too, and are available at that address.

The session agenda and list of all the speakers is available on the CITI event page. The quick summary is:

  • 9:00am Welcome and Introduction of Topic
  • 9:15am Session 1- Technology and business drivers of the transformation of the Internet
  • 10:25am Session 2- Emerging business, marketing, and transaction models for Next Generation Video (NGV)
  • 11:35am Coffee Break
  • 11:50am Session 3- Public Interest Dimensions in Next-Generation Video and Networks
  • 12:50pm Lunch
  • 1:50pm Session 4 - Consolidation in the network platform industry: drivers and impacts
  • 3:00pm Coffee Break
  • 3:10pm Session 5 - New TV and (video) OTT issues for telecom and media policy
  • 4:20pm Session 6 - Defining the future: initiatives to lead the next generation of internet video
  • 5:30 Closing remarks and reception

The sessions began 3.5 hours ago at 9:00am US Eastern and will continue for another 5 hours. I've learned a good bit from a number of the sessions - and am listening right now to the discussion around the challenges of getting Internet infrastructure deployed in rural areas of the USA.

Great sessions to listen to!


If you found this post interesting or useful, please consider either:


Hypervoice – The Fundamental Flaw In The Proposal

MartingeddesI am a huge fan of Martin Geddes, but he and I disagree fundamentally on one key part of what he is now calling "hypervoice".
NOTE: Today's VUC call at 12noon US Eastern will be with Martin discussing his ideas. If you'd like to weigh in on the issue, please join the call. (Unfortunately, I'll be waiting to board a plane home from Mumbai and can't make it... hence this blog post.)

To back up a bit, Martin has always been one of the "big thinkers" in realm of VoIP and telephony/telecom. Way back in mid-2000s when a number of us all started writing about VoIP, Martin's Telepocalypse blog was brilliant. He was always thinking about the "big picture" and drawing connections where they were not already apparent. His work with "Telco 2.0" was excellent and it was no surprise when he went to work for BT looking at their strategy. Now that he is back out on his own as a consultant, I'm a subscriber to his "Future of Communications" email newsletter (subscribe on the sidebar to his site) and enjoy reading his frequent issues.

Recently he gave a closing keynote presentation at the Metaswitch Forum titled "A presentation about Hypervoice" that is available via Slideshare or PDF.

The presentation itself is very well done. In typical Martin style it nicely lays out the history of both telecom and the web and brings them together to talk about what comes next.

I actually agree with almost all of what Martin writes. Much of what he talks about as "hypervoice" I see already happening in so many ways.

But here is where we fundamentally disagree... this slide early on:

Hypervoiceflaw

That includes the text:

"However, the Internet cannot and never will carry society's real-time communications needs. It is fundamentally unsuited to the job."

Martin's argument, which he has made multiple times before, including in a comment he wrote in response to my post about how WebRTC will disrupt real-time communications, is that the Internet as it exists today cannot provide the level of service that is truly needed for real-time communications. He believes we need to have different classes of service on the Internet and separate "flows" of communications. He comes back to this point later in his "Hypervoice" slide deck:

Hypervoice polyservicenetworks 1

This is where he and I part ways. As I said in my own response to Martin's comment to my earlier post:

Martin, yes, I've read your newsletters on this point and while I understand the concern I'm not ready to say that the plain old Internet can't deal with the contention. Back in the early 2000's I was the product manager for Mitel's "remote teleworker" product and there was great concern from the traditional telecom folks within Mitel about this idea that we were going to put an IP phone out at some random point on the Internet where there was no QoS or anything. In fact, some folks wanted us to say that it had "cell-phone voice quality" so that we wouldn't set high expectations about voice quality. The reality was that through appropriate codecs, jitter buffers and other technologies the connections almost always worked and almost always had outstanding quality (usually FAR better than cellphones).

The other reality is that we've seen OTT providers like Skype and others providing excellent services that work the vast majority of the time. We're seeing new and improved codecs coming into the market. We're seeing new traffic shaping technologies. The list goes on...

If the (brief) history of the Internet has shown us anything, it is that the Internet's capacity to adapt and change is boundless. We'll see what happens in the time ahead.

And no, I haven't written off the telcos as having a role in real-time comms. I just don't know that the "role" they may have will necessarily be the one they would like to have! ;-)

I believe fundamentally that the "open" Internet can and will adapt to the needs of carrying real-time communications. I would argue that it already has in so many ways... and it will change even more as we continue to move more and more real-time comms onto the Internet, particularly with WebRTC and other emerging technology.

And yes, you might expect me to say this as a passionate advocate for an open Internet, but I firmly believe this:

We do NOT need separate layers of the Internet based on class of service.

That, to me, is a dangerous path. I want to continue to see an Internet where all nodes are treated equally ... and where real-time communications can work for all.

Martin and I will probably have to agree to disagree on this. It's doubtful he can convince me nor I can convince him.

What do you think? Do we need different layers of the Internet? Or can the Internet adapt without that? Leave a comment here... or join in to today's VUC call and comment there.


If you found this post interesting or useful, please consider either:


The Google vs Amazon Platform Rant – A Must-Read From Steve Yegge

Google logo

What does Amazon.com do so much better than Google? And why does Amazon do everything “wrong” while Google does everything “right”… yet offer a better platform? How should you construct a “platform” so that everyone can use it?

If you are a developer, IT manager, product manager, system architect, product marketer, CTO or even a CEO, you really need to take a bit to read this “Mother of all Reply-All failures” that was written by Googler Steve Yegge and accidentally posted publicly back on October 12th. Steve pulled down his own posting of the rant, but it was re-posted to Google+ by Rip Rowan and also posted over to Hacker News. The long rant – and the comments on both sites – are worth a read:

It’s a LONG piece that gives some fascinating insight into both Amazon and Google as companies, but also into what it takes to be a “platform”.

A bit later, on October 21st, Steve Yegge posted an update indicating that he did not get fired and in fact people actually listened within Google. He also dove a bit more into Amazon.com and Jeff Bezos. And just this week he wrote a lengthy piece describing how amazing it is to work at Google, explaining a bit more about what he meant in his rant about how Google “does everything right”.

The original platform rant, though, should definitely be on a “must-read” list for people thinking about how their services could really be a “platform”…

P.S. Are we connected on Google+? If not, you can find my Google+ profile and add me to a circle…