
<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:media="http://search.yahoo.com/mrss/">
    <channel>
        <title><![CDATA[ The Cloudflare Blog ]]></title>
        <description><![CDATA[ Get the latest news on how products at Cloudflare are built, technologies used, and join the teams helping to build a better Internet. ]]></description>
        <link>https://blog.cloudflare.com</link>
        <atom:link href="https://blog.cloudflare.com/" rel="self" type="application/rss+xml"/>
        <language>en-us</language>
        <image>
            <url>https://blog.cloudflare.com/favicon.png</url>
            <title>The Cloudflare Blog</title>
            <link>https://blog.cloudflare.com</link>
        </image>
        <lastBuildDate>Tue, 14 Apr 2026 19:16:48 GMT</lastBuildDate>
        <item>
            <title><![CDATA[Transgender Day of Visibility]]></title>
            <link>https://blog.cloudflare.com/transgender-day-of-visibility/</link>
            <pubDate>Sun, 31 Mar 2019 15:00:00 GMT</pubDate>
            <description><![CDATA[ My name is Kas. I’m a Cloudflare employee and I wanted to share my story with you on International Transgender Day of Visibility. ]]></description>
            <content:encoded><![CDATA[ <p>The transgender pride flag</p><p>My name is Kas. I’m a Cloudflare employee and I wanted to share my story with you on <a href="https://www.hrc.org/resources/international-transgender-day-of-visibility">International Transgender Day of Visibility</a>.</p><p>I've been different for as long as I can remember. I've been the odd one out not just for the time I've spent in tech, but most of my life.</p><p>I'm transgender in that I am gender non-binary. I'm working with the word 'agender' right now, as it is the word that describes me best: I'm not a woman, or a man, just a human. I don't really have a gender, and I certainly don't identify with either binary label.</p><p>The agender flag</p><p>Being transgender in tech is difficult. There are many times where we have to work harder, smarter, and give up so much to stay afloat. Times where you have to weigh the benefits of correcting your pronouns against the title of the person who is to be corrected (are they a customer? Your bosses' bosses' boss?). Times where you don't know if you can even be 'out' with your coworkers, because you just don't know if, or how, they'll treat you differently, or fairly.</p><p>Being agender or outside the binary represents its own special quirks: I get asked a lot if I'm OK with going to women's groups; I quickly explain that I am not a woman, but I try to be an ally to women, and see if the invite still applies. On International Women's Day, I got a bit of well-meaning attention as a ‘Woman in Tech.’ I had to think for a bit: should I just bite the bullet and accept the attention while glossing over my identity? In the end, I decided to speak up and redirect the attention to actual women-- And yes, before you even think to ask, I mean ALL women, including and especially trans women.</p><p>I'm lucky to be at Cloudflare; my coworkers respect my pronouns, and I'm treated fairly. We even have an organization, <a href="/happy-pride-from-proudflare/">Proudflare</a>, that advocates for LGBTQIA+ Cloudflare employees and folks in general. It's still hard to be visible and trans in tech. For those who are out, and proud, and loud; be sure to recognize their work. Think about the extra work trans folk put in to be visible while trying to remain safe and healthy. I can't and won't speak for the entire trans community, but I can respect their experiences and I can listen to them.</p><p>I guess that's the one thing I might ask of the reader here: listen to trans people. Really listen. And, if they seek to be visible, help them. Share their work.</p> ]]></content:encoded>
            <category><![CDATA[Proudflare]]></category>
            <category><![CDATA[LGBTQIA+]]></category>
            <category><![CDATA[Life at Cloudflare]]></category>
            <category><![CDATA[Employee Resource Groups]]></category>
            <guid isPermaLink="false">6a4DJh54c3TmilHpgV5wdn</guid>
            <dc:creator>Kassian Wren</dc:creator>
        </item>
        <item>
            <title><![CDATA[Solving Problems with Serverless – The Cloudflare LED Data Center Board, Part I]]></title>
            <link>https://blog.cloudflare.com/solving-problems-with-serverless-the-cloudflare-led-data-center-board-part-i/</link>
            <pubDate>Thu, 14 Feb 2019 20:00:00 GMT</pubDate>
            <description><![CDATA[ You know you have a cool job when your first project lets you bring your hobby into the office.  ]]></description>
            <content:encoded><![CDATA[ <p>You know you have a cool job when your first project lets you bring your hobby into the office.</p><p>That’s what happened to me just a few short weeks ago when I joined Cloudflare. The task: to create a light-up version of our Data Center map – we’re talking more than a hundred LEDs tied to the deployment state of each and every Cloudflare data center. This map will be a part of our booths, so it has to be able to travel; meaning we have to consider physical shipping <i>and</i> the ability to update the data when the map is away from the office. And the fun part – we are debuting it at SF Developer Week in late February (I even get to give a talk about it!) That gave me one week of software time in our San Francisco office, and a little over two and a half in the Austin office with the physical materials.</p>
            <figure>
            
            <img src="https://cf-assets.www.cloudflare.com/zkvhlag99gkb/eS2D5nN1ryxnbNscLYa3G/ab5a2b025cc3aa2e84545e2bccf6756b/Screen-Shot-2019-02-14-at-9.33.11-AM.png" />
            
            </figure><p>What the final LEDs will look like on a map of the world.</p><p>So what does this have to do with Serverless? Well, let’s think about where and how this map will need to operate: This will be going to expo halls and conferences, and we want it to update to show our most current data center statuses for at least that event, if not updating once a day. But we don’t need to stay connected to the information store constantly-- nor should we expect to, over conference or expo WiFi.</p>
    <div>
      <h2>Data Stored about Data Centers</h2>
      <a href="#data-stored-about-data-centers">
        
      </a>
    </div>
    <p>The data stored about each data center has two distinct categories; data relevant to the data center itself, and data about how that data center should be rendered on the map. These are relatively simple data structures, however: for a data center, we want to store what city the data center is in, the latitude and longitude, and the status. We arbitrarily assign an ID integer to each data center, which we'll use to match this data with the data in the other store. We’re not going to pick and choose which data centers we want; just pull them all down and let the microcontroller figure out how to display them.</p><p>Speaking of, this is where the data store relevant to the display comes in. LEDs are on strands numbered 0-7, and are represented by an LED numbered 0-63. We need to store the ID of the data center we created for the first store, the strand number, and the LED number in the strand.</p><p>Both of these sets of data can be stored in a key-value store, with the ID number as the key and a JSON object representing either the data center or its representative LED on the map as the value. Because of this, coupled with the fact that we do not need to search or index this data, we decided to use <a href="https://developers.cloudflare.com/workers/kv/">Workers KV</a> data stores to keep this information.</p>
    <div>
      <h2>The Data Center and Data Center Map API</h2>
      <a href="#the-data-center-and-data-center-map-api">
        
      </a>
    </div>
    <p>We needed two APIs around the data centers, and we needed them fast– both in the more immediate sense of having only a few weeks to complete the project, and in the sense that we needed the data to download relatively quickly over non-ideal internet situations. We also know this map will be traveling all over the world– we'd need the API to work and have at least a decent latency no matter where the map was geographically.</p><p>This is where the hundreds of LEDs comes in handy– each one represents a data center that we could deploy <a href="https://developers.cloudflare.com/workers/about/">serverless Workers</a> to. We can deploy the API to the data center before we leave from the comfort of the office, and it'd be ready for us when we hit the conference floor. Workers also, unsurprisingly, work really well with Workers KV data stores; allowing us to rapidly develop APIs around our data.</p>
    <div>
      <h2>Our Software Architecture Diagram</h2>
      <a href="#our-software-architecture-diagram">
        
      </a>
    </div>
    
            <figure>
            
            <img src="https://cf-assets.www.cloudflare.com/zkvhlag99gkb/3yB2l13rg61b9JTNZu9aZj/81ef8c85c292ed9d76899db9619c4f71/LED-PoP-Board-Architecture-Diagram.png" />
            
            </figure><p>In the end, we ended up with this architecture diagram; 2 Workers KV data stores, and 2 serverless Workers; all of which can be deployed across the world in order to make sure the physical map has the updated data every time we head to a new show.</p><hr /><p>In the next post in this series, we'll take a look at the physical architecture of the sign:</p>
            <figure>
            
            <img src="https://cf-assets.www.cloudflare.com/zkvhlag99gkb/42wDBaBFqptcC9iCt99h6I/66d9376444ab592eef2a570ac16568d6/Image_20190212_102827.jpeg.jpeg" />
            
            </figure><p>We'll also take a look at the system we built that uses the architecture laid out in this post that consumes this data and turns it into an LED map – so keep an eye out for it next month!</p><hr /><p>Interested in deploying a Cloudflare Worker without setting up a domain on Cloudflare? We’re making it easier to get started building serverless applications with custom subdomains on <a href="https://workers.dev">workers.dev</a>. <i>If you’re already a Cloudflare customer, you can add Workers to your existing website</i> <a href="https://dash.cloudflare.com/workers"><i>here</i></a>.</p><p><a href="https://workers.dev">Reserve a workers.dev subdomain</a></p><hr /> ]]></content:encoded>
            <category><![CDATA[Serverless]]></category>
            <category><![CDATA[Cloudflare Workers]]></category>
            <category><![CDATA[Fun]]></category>
            <category><![CDATA[Cloudflare Network]]></category>
            <category><![CDATA[Data Center]]></category>
            <category><![CDATA[Cloudflare Workers KV]]></category>
            <category><![CDATA[Developer Platform]]></category>
            <category><![CDATA[Developers]]></category>
            <guid isPermaLink="false">219IbwcBMcEwHEr3ghkFSk</guid>
            <dc:creator>Kassian Wren</dc:creator>
        </item>
    </channel>
</rss>