
<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>Sun, 12 Apr 2026 08:51:10 GMT</lastBuildDate>
        <item>
            <title><![CDATA[Magic Cloud Networking simplifies security, connectivity, and management of public clouds]]></title>
            <link>https://blog.cloudflare.com/introducing-magic-cloud-networking/</link>
            <pubDate>Wed, 06 Mar 2024 14:01:00 GMT</pubDate>
            <description><![CDATA[ Introducing Magic Cloud Networking, a new set of capabilities to visualize and automate cloud networks to give our customers secure, easy, and seamless connection to public cloud environments ]]></description>
            <content:encoded><![CDATA[ <p></p>
            <figure>
            
            <img src="https://cf-assets.www.cloudflare.com/zkvhlag99gkb/4EE4QTE18JtBWAk0XucBb2/818464eba98f9928bbfa7bfe179780d8/image5-5.png" />
            
            </figure><p>Today we are excited to announce Magic Cloud Networking, supercharged by <a href="https://www.cloudflare.com/press-releases/2024/cloudflare-enters-multicloud-networking-market-unlocks-simple-secure/">Cloudflare’s recent acquisition of Nefeli Networks</a>’ innovative technology. These new capabilities to visualize and automate cloud networks will give our customers secure, easy, and seamless connection to public cloud environments.</p><p>Public clouds offer organizations a scalable and on-demand IT infrastructure without the overhead and expense of running their own datacenter. <a href="https://www.cloudflare.com/learning/cloud/what-is-cloud-networking/">Cloud networking</a> is foundational to applications that have been migrated to the cloud, but is difficult to manage without automation software, especially when operating at scale across multiple cloud accounts. Magic Cloud Networking uses familiar concepts to provide a single interface that controls and unifies multiple cloud providers’ native network capabilities to create reliable, cost-effective, and secure cloud networks.</p><p>Nefeli’s approach to multi-cloud networking solves the problem of building and operating end-to-end networks within and across public clouds, allowing organizations to <a href="https://www.cloudflare.com/application-services/solutions/">securely leverage applications</a> spanning any combination of internal and external resources. Adding Nefeli’s technology will make it easier than ever for our customers to connect and protect their users, private networks and applications.</p>
    <div>
      <h2>Why is cloud networking difficult?</h2>
      <a href="#why-is-cloud-networking-difficult">
        
      </a>
    </div>
    <p>Compared with a traditional on-premises data center network, cloud networking promises simplicity:</p><ul><li><p>Much of the complexity of physical networking is abstracted away from users because the physical and ethernet layers are not part of the network service exposed by the cloud provider.</p></li><li><p>There are fewer control plane protocols; instead, the cloud providers deliver a simplified <a href="https://www.cloudflare.com/learning/network-layer/what-is-sdn/">software-defined network (SDN)</a> that is fully programmable via API.</p></li><li><p>There is capacity — from zero up to very large — available instantly and on-demand, only charging for what you use.</p></li></ul><p>However, that promise has not yet been fully realized. Our customers have described several reasons cloud networking is difficult:</p><ul><li><p><b>Poor end-to-end visibility</b>: Cloud network visibility tools are difficult to use and silos exist even within single cloud providers that impede end-to-end monitoring and troubleshooting.</p></li><li><p><b>Faster pace</b>: Traditional IT management approaches clash with the promise of the cloud: instant deployment available on-demand. Familiar ClickOps and CLI-driven procedures must be replaced by automation to meet the needs of the business.</p></li><li><p><b>Different technology</b>: Established network architectures in on-premises environments do not seamlessly transition to a public cloud. The missing ethernet layer and advanced control plane protocols were critical in many network designs.</p></li><li><p><b>New cost models</b>: The dynamic pay-as-you-go usage-based cost models of the public clouds are not compatible with established approaches built around fixed cost circuits and 5-year depreciation. Network solutions are often architected with financial constraints, and accordingly, different architectural approaches are sensible in the cloud.</p></li><li><p><b>New security risks</b>: Securing public clouds with true <a href="https://www.cloudflare.com/learning/security/glossary/what-is-zero-trust/">zero trust</a> and least-privilege demands mature operating processes and automation, and familiarity with cloud-specific policies and IAM controls.</p></li><li><p><b>Multi-vendor:</b> Oftentimes enterprise networks have used single-vendor sourcing to facilitate interoperability, operational efficiency, and targeted hiring and training. Operating a network that extends beyond a single cloud, into other clouds or on-premises environments, is a multi-vendor scenario.</p></li></ul><p>Nefeli considered all these problems and the tensions between different customer perspectives to identify where the problem should be solved.</p>
    <div>
      <h2>Trains, planes, and automation</h2>
      <a href="#trains-planes-and-automation">
        
      </a>
    </div>
    <p>Consider a train system. To operate effectively it has three key layers:</p><ul><li><p>tracks and trains</p></li><li><p>electronic signals</p></li><li><p>a company to manage the system and sell tickets.</p></li></ul><p>A train system with good tracks, trains, and signals could still be operating below its full potential because its agents are unable to keep up with passenger demand. The result is that passengers cannot plan itineraries or purchase tickets.</p><p>The train company eliminates bottlenecks in process flow by simplifying the schedules, simplifying the pricing, providing agents with better booking systems, and installing automated ticket machines. Now the same fast and reliable infrastructure of tracks, trains, and signals can be used to its full potential.</p>
            <figure>
            
            <img src="https://cf-assets.www.cloudflare.com/zkvhlag99gkb/342dyvSqIvF0hJJoCDyf0I/8e92b93f922412344fa34cbbea7a4be1/image8.png" />
            
            </figure>
    <div>
      <h3>Solve the right problem</h3>
      <a href="#solve-the-right-problem">
        
      </a>
    </div>
    <p>In networking, there are an analogous set of three layers, called the <a href="https://www.cloudflare.com/learning/network-layer/what-is-the-control-plane/">networking planes</a>:</p><ul><li><p><b>Data Plane:</b> the network paths that transport data (in the form of packets) from source to destination.</p></li><li><p><b>Control Plane:</b> protocols and logic that change how packets are steered across the data plane.</p></li><li><p><b>Management Plane:</b> the configuration and monitoring interfaces for the data plane and control plane.</p></li></ul><p>In public cloud networks, these layers map to:</p><ul><li><p><b>Cloud Data Plane:</b> The underlying cables and devices are exposed to users as the <a href="https://www.cloudflare.com/learning/cloud/what-is-a-virtual-private-cloud/">Virtual Private Cloud (VPC)</a> or Virtual Network (VNet) service that includes subnets, routing tables, security groups/ACLs and additional services such as load-balancers and VPN gateways.</p></li><li><p><b>Cloud Control Plane:</b> In place of distributed protocols, the cloud control plane is a <a href="https://www.cloudflare.com/learning/network-layer/what-is-sdn/">software defined network (SDN)</a> that, for example, programs static route tables. (There is limited use of traditional control plane protocols, such as BGP to interface with external networks and ARP to interface with VMs.)</p></li><li><p><b>Cloud Management Plane:</b> An administrative interface with a UI and API which allows the admin to fully configure the data and control planes. It also provides a variety of monitoring and logging capabilities that can be enabled and integrated with 3rd party systems.</p></li></ul><p>Like our train example, most of the problems that our customers experience with cloud networking are in the third layer: the management plane.</p><p>Nefeli simplifies, unifies, and automates cloud network management and operations.</p>
            <figure>
            
            <img src="https://cf-assets.www.cloudflare.com/zkvhlag99gkb/nb9xcqGaRRaYIe0lvlbIs/83da6094ec1f7bc3e4a7d72a17fc511c/image2-6.png" />
            
            </figure>
    <div>
      <h3>Avoid cost and complexity</h3>
      <a href="#avoid-cost-and-complexity">
        
      </a>
    </div>
    <p>One common approach to tackle management problems in cloud networks is introducing Virtual Network Functions (VNFs), which are <a href="https://www.cloudflare.com/learning/cloud/what-is-a-virtual-machine/">virtual machines (VMs)</a> that do packet forwarding, in place of native cloud data plane constructs. Some VNFs are routers, firewalls, or load-balancers ported from a traditional network vendor’s hardware appliances, while others are software-based proxies often built on open-source projects like NGINX or Envoy. Because VNFs mimic their physical counterparts, IT teams could continue using familiar management tooling, but VNFs have downsides:</p><ul><li><p>VMs do not have custom network silicon and so instead rely on raw compute power. The VM is sized for the peak anticipated load and then typically runs 24x7x365. This drives a high cost of compute regardless of the actual utilization.</p></li><li><p>High-availability (HA) relies on fragile, costly, and complex network configuration.</p></li><li><p>Service insertion — the configuration to put a VNF into the packet flow — often forces packet paths that incur additional bandwidth charges.</p></li><li><p>VNFs are typically licensed similarly to their on-premises counterparts and are expensive.</p></li><li><p>VNFs lock in the enterprise and potentially exclude them benefitting from improvements in the cloud’s native data plane offerings.</p></li></ul><p>For these reasons, enterprises are turning away from VNF-based solutions and increasingly looking to rely on the native network capabilities of their cloud service providers. The built-in public cloud networking is elastic, performant, robust, and priced on usage, with high-availability options integrated and backed by the cloud provider’s service level agreement.</p><p>In our train example, the tracks and trains are good. Likewise, the cloud network data plane is highly capable. Changing the data plane to solve management plane problems is the wrong approach. To make this work at scale, organizations need a solution that works together with the native network capabilities of cloud service providers.</p><p>Nefeli leverages native cloud data plane constructs rather than third party VNFs.</p>
    <div>
      <h2>Introducing Magic Cloud Networking</h2>
      <a href="#introducing-magic-cloud-networking">
        
      </a>
    </div>
    <p>The Nefeli team has joined Cloudflare to integrate cloud network management functionality with Cloudflare One. This capability is called Magic Cloud Networking and with it, enterprises can use the Cloudflare dashboard and API to manage their public cloud networks and connect with Cloudflare One.</p>
    <div>
      <h3>End-to-end</h3>
      <a href="#end-to-end">
        
      </a>
    </div>
    <p>Just as train providers are focused only on completing train journeys in their own network, cloud service providers deliver network connectivity and tools within a single cloud account. Many large enterprises have hundreds of cloud accounts across multiple cloud providers. In an end-to-end network this creates disconnected networking silos which introduce operational inefficiencies and risk.</p><p>Imagine you are trying to organize a train journey across Europe, and no single train company serves both your origin and destination. You know they all offer the same basic service: a seat on a train. However, your trip is difficult to arrange because it involves multiple trains operated by different companies with their own schedules and ticketing rates, all in different languages!</p><p>Magic Cloud Networking is like an online travel agent that aggregates multiple transportation options, books multiple tickets, facilitates changes after booking, and then delivers travel status updates.</p>
            <figure>
            
            <img src="https://cf-assets.www.cloudflare.com/zkvhlag99gkb/4P7EhpKlEfTnU7WdPq4dt6/4de908c385b406a89c97f4dc274b3acb/image6.png" />
            
            </figure><p>Through the Cloudflare dashboard, you can discover all of your network resources across accounts and cloud providers and visualize your end-to-end network in a single interface. Once Magic Cloud Networking discovers your networks, you can build a scalable network through a fully automated and simple workflow.</p>
            <figure>
            
            <img src="https://cf-assets.www.cloudflare.com/zkvhlag99gkb/2qXuFK0Q1q96NtH0FYRNg0/3c449510b24a3f206b63b01e1799dddd/image3-8.png" />
            
            </figure><p><i>Resource inventory shows all configuration in a single and responsive UI</i></p>
    <div>
      <h3>Taming per-cloud complexity</h3>
      <a href="#taming-per-cloud-complexity">
        
      </a>
    </div>
    <p>Public clouds are used to deliver applications and services. Each cloud provider offers a composable stack of modular building blocks (resources) that start with the foundation of a billing account and then add on security controls. The next foundational layer, for server-based applications, is VPC networking. Additional resources are built on the VPC network foundation until you have compute, storage, and network infrastructure to host the enterprise application and data. Even relatively simple architectures can be composed of hundreds of resources.</p><p>The trouble is, these resources expose abstractions that are different from the building blocks you would use to build a service on prem, the abstractions differ between cloud providers, and they form a web of dependencies with complex rules about how configuration changes are made (rules which differ between resource types and cloud providers). For example, say I create 100 VMs, and connect them to an IP network. Can I make changes to the IP network while the VMs are using the network? The answer: it depends.</p><p>Magic Cloud Networking handles these differences and complexities for you. It configures native cloud constructs such as VPN gateways, routes, and security groups to securely connect your cloud VPC network to Cloudflare One without having to learn each cloud’s incantations for creating VPN connections and hubs.</p>
    <div>
      <h3>Continuous, coordinated automation</h3>
      <a href="#continuous-coordinated-automation">
        
      </a>
    </div>
    <p>Returning to our train system example, what if the railway maintenance staff find a dangerous fault on the railroad track? They manually set the signal to a stop light to prevent any oncoming trains using the faulty section of track. Then, what if, by unfortunate coincidence, the scheduling office is changing the signal schedule, and they set the signals remotely which clears the safety measure made by the maintenance crew? Now there is a problem that no one knows about and the root cause is that multiple authorities can change the signals via different interfaces without coordination.</p>
            <figure>
            
            <img src="https://cf-assets.www.cloudflare.com/zkvhlag99gkb/VNaeoX2TNwYwZsweytYSZ/40806d02108119204f638ed5f111d5d0/image1-10.png" />
            
            </figure><p>The same problem exists in cloud networks: configuration changes are made by different teams using different automation and configuration interfaces across a spectrum of roles such as billing, support, security, networking, firewalls, database, and application development.</p><p>Once your network is deployed, Magic Cloud Networking monitors its configuration and health, enabling you to be confident that the security and connectivity you put in place yesterday is still in place today. It tracks the cloud resources it is responsible for, automatically reverting drift if they are changed out-of-band, while allowing you to manage other resources, like storage buckets and application servers, with other automation tools. And, as you change your network, Cloudflare takes care of route management, injecting and withdrawing routes globally across Cloudflare and all connected cloud provider networks.</p><p>Magic Cloud Networking is fully programmable via API, and can be integrated into existing automation toolchains.</p>
            <figure>
            
            <img src="https://cf-assets.www.cloudflare.com/zkvhlag99gkb/3h360ewBWWCRUjhqjrm6wF/5006f8267a880b98ccbe9bfc91cb9029/image7-1.png" />
            
            </figure><p><i>The interface warns when cloud network infrastructure drifts from intent</i></p>
    <div>
      <h2>Ready to start conquering cloud networking?</h2>
      <a href="#ready-to-start-conquering-cloud-networking">
        
      </a>
    </div>
    <p>We are thrilled to introduce Magic Cloud Networking as another pivotal step to fulfilling the promise of the <a href="https://www.cloudflare.com/connectivity-cloud/">Connectivity Cloud</a>. This marks our initial stride in empowering customers to seamlessly integrate Cloudflare with their public clouds to get securely connected, stay securely connected, and gain flexibility and cost savings as they go.</p><p>Join us on this journey for early access: learn more and sign up <a href="https://cloudflare.com/lp/cloud-networking/">here</a>.</p>
            <figure>
            
            <img src="https://cf-assets.www.cloudflare.com/zkvhlag99gkb/610Vl5u7JVsnszRAmQz0Yt/3bb2a75f47826c1c1969c1d9b0c1db8d/image4-10.png" />
            
            </figure><p></p> ]]></content:encoded>
            <category><![CDATA[Security Week]]></category>
            <category><![CDATA[Network]]></category>
            <category><![CDATA[AWS]]></category>
            <category><![CDATA[EC2]]></category>
            <category><![CDATA[Google Cloud]]></category>
            <category><![CDATA[Microsoft Azure]]></category>
            <category><![CDATA[SASE]]></category>
            <category><![CDATA[Cloudflare One]]></category>
            <category><![CDATA[Multi-Cloud]]></category>
            <category><![CDATA[Zero Trust]]></category>
            <category><![CDATA[Product News]]></category>
            <category><![CDATA[Magic WAN]]></category>
            <category><![CDATA[Connectivity Cloud]]></category>
            <category><![CDATA[Acquisitions]]></category>
            <guid isPermaLink="false">2qMDjBOoY9rSrSaeNzUDzL</guid>
            <dc:creator>Steve Welham</dc:creator>
            <dc:creator>David Naylor</dc:creator>
        </item>
        <item>
            <title><![CDATA[Thoughts on the AWS outage: making the cloud more resilient to failure]]></title>
            <link>https://blog.cloudflare.com/thoughts-on-the-aws-outage-the-failure-charac/</link>
            <pubDate>Sat, 30 Jun 2012 19:56:00 GMT</pubDate>
            <description><![CDATA[ A huge storm rolled across the eastern United States last night, topping trees and knocking out power. Amazon Web Services (AWS) had one of their primary data centers in Virginia lose power.  ]]></description>
            <content:encoded><![CDATA[ <p></p><p>A huge storm rolled across the eastern United States last night, topping trees and knocking out power. Amazon Web Services (AWS) had one of their primary data centers in Virginia lose power. While data centers typically have backup generators for when they lose power from the grid, it appears something in the backup systems failed and AWS's EC2 Northern Virginia region went offline. That took down much of Netflix, Pinterest, Instagram, and other services that rely on Amazon's cloud hosting service.</p><p>My favorite comment on the incident came from Phil Kaplan (<a href="https://twitter.com/pud">@pud</a>) who <a href="https://twitter.com/pud/status/218952182182064128">tweeted</a>: "The cloud is no match for the clouds." It got me thinking about the different types of "cloud" services, their different sensitivities to failure, and how they can be made more resilient.</p>
    <div>
      <h3>Cumulus, Stratus, Cirrus, Nimbus</h3>
      <a href="#cumulus-stratus-cirrus-nimbus">
        
      </a>
    </div>
    <p>There are a lot of different products that call themselves "cloud" services. What that means, however, is very different from one service to another. For example, Salesforce.com was among the first to trumpet the benefits of the cloud. In their case, they were comparing themselves against traditional customer relationship management (CRM) systems that required you to run your own database and maintain your own hardware. In Salesforce.com's case, "cloud" means you can run a specialized application (CRM) on someone else's equipment and pay for it as a service.</p><p>For their core CRM product, Salesforce.com runs their own hardware in multiple locations around the world. However, Salesforce.com purchased another "cloud" service provider called Heroku. Heroku was originally built as a platform to run applications written for the Ruby programming language. It has expanded over time to provide support for other languages including Java, Node.js, Scala, Clojure and Python. Where Salesforce.com's original cloud service allowed you to run their CRM application as a service, Heroku lets you run any application you want from their managed platform.</p><p>Salesforce.com runs on the company's own servers, but Heroku runs atop Amazon's AWS service. In other words, Heroku provides a cloud service that makes it easier to write and deploy your own applications, but they use someone else's infrastructure to deploy it. Before everyone started calling all these "cloud" services, the analysts gave them more specific names that started with a letter and always ended with "aaS." Salesforce.com was Software as a Service (SaaS), Heroku was Platform as a Service (PaaS), and AWS was Infrastructure as a Service (IaaS).</p><p>I'd add a further distinction: the three cloud services I've mentioned so far are all what I'd call Data &amp; Application (D&amp;A) cloud service. In one way or another, they let you store data and process without having to think about the underlying hardware. They may all be cloud services, but they are very different from what we're building at CloudFlare (more on that in a bit).</p>
    <div>
      <h3>Servers All the Way Down</h3>
      <a href="#servers-all-the-way-down">
        
      </a>
    </div>
    <p>In Hindu mythology, there story that talks about how the world is supported on the back of a giant turtle. Steven Hawking's book <i>A Brief History of Time</i> included an anecdote about a scientist giving a lecture to the public on the structure of the universe:</p><blockquote><p>At the end of the lecture, a little old lady at the back of the room got up and said: "What you have told us is rubbish. The world is really a flat plate supported on the back of a giant tortoise." The scientist gave a superior smile before replying, "What is the tortoise standing on?" "You're very clever, young man, very clever," said the old lady. "But it's turtles all the way down!"</p></blockquote>
            <figure>
            
            <img src="https://cf-assets.www.cloudflare.com/zkvhlag99gkb/7M1uT1Jsdz95kM0AUmobfX/917e5f6275ed0630eae7a5c43fa85e4b/turtles_all_the_way_down.jpg.scaled500.jpg" />
            
            </figure><p>While it's easy to forget with the abstractions provided by these services, under all these clouds are servers, switches, and routers. If you're using Salesforce.com for CRM and your company adds a large number of new customers, you don't need to think about adding more drives or servers to scale up. Instead, Salesforce.com handles the process of adding capacity across its hardware. If you're developing on top of a cloud service like AWS's EC2, as your application scales you can "spin up" new instances to provide more computational power. These instances are fractions of the capacity on a physical server which may be shared with other EC2 users. Because each EC2 customer only uses whatever isnecessary for their application, the utilization rates across the servers is very high.</p>
    <div>
      <h3>When Clouds Go Boom</h3>
      <a href="#when-clouds-go-boom">
        
      </a>
    </div>
    <p>It is inevitable that the hardware that makes up these clouds will, from time to time, fail. Spinning hard drives crash, memory goes bad, CPUs overheat, routers flake out, or someone disconnects the wrong power circuit bringing a whole rack of equipment offline. When those pieces of hardware fail, different cloud services will react in different ways.</p>
            <figure>
            
            <img src="https://cf-assets.www.cloudflare.com/zkvhlag99gkb/3lvOuxWUqg5Bc6J47J6750/b4cd4f1406591adb8cfa42eda702cf42/storm_clouds.jpg.scaled500.jpg" />
            
            </figure><p>Salesforce.com runs their own hardware and their own software. They have created systems that replicate the application itself across multiple hardware systems. If one system fails, a load balancer switches to a different hardware system to process the request. Customers' data stored with Salesforce.com is also replicated by the software. While I don't know the explicit details of Salesforce.com's redundancy strategy, it's a safe bet that they use RAID to replicate data between multiple disks that are part of a storage array and backup to some long term storage in case of a major failure. They also likely replicate data betweenmultiple storage arrays within a particular data center and, maybe, replicate the data between data centers.</p><p>Replicating data is relatively easy. Replicating data and keeping it in sync is hard. The problem becomes harder if the locations are geographically separated. The speed of light is very fast, but it still takes a photon of light traveling under perfect conditions nearly <a href="http://www.wolframalpha.com/input/?i=2+*+%28distance+from+Amsterdam+to+san+francisco+in+kilometers+%2F+%28speed+of+light+in+kilometers+per+millisecond%29%29">60ms to roundtrip from San Francisco to Amsterdam</a>. It's slower through the actual fiber and copper cables that make up the Internet, and much, much slower when you take into account the <a href="/the-bandwidth-of-a-boeing-747-and-its-impact">real world performance of the Internet</a>. If two people change the same piece of data in two locations during the latency window between updates, very unpredictable bad things can happen.</p>
    <div>
      <h3>The Challenge of Being in Sync</h3>
      <a href="#the-challenge-of-being-in-sync">
        
      </a>
    </div>
    <p>For certain systems, replicating data is easier than others. Compare Google and Twitter. If you're running a search on Google you'll hit one of the company's many geographically distributed data centers and get aset of results. Someone else running a different search hitting adifferent data center may get slightly different results. Google doesn't promise that everyone will see the same search results. As a result, they have a relatively straight forward data replication problem. The data that makes up Google's index will be "eventually consistent" across all their facilities, but that doesn't harm the underlying application.</p>
            <figure>
            
            <img src="https://cf-assets.www.cloudflare.com/zkvhlag99gkb/2hihBJTyiNu2ODfGzMinRy/438f863b2bafacbf155f87372e8f728d/nsync.jpg.scaled500.jpg" />
            
            </figure><p>Twitter, on the other hand, promises that you'll see real time updates from the people you follow. This creates a much more difficult data replication problem and explains why Twitter has a much more centralized infrastructure and continues to experience many more scaling pains. Facebook provides an interesting case study as well. As Facebook has scaled, they have deemphasized real time updates to timeline in order to make it easier to scale their infrastructure.</p><p>Twitter, Facebook, Google (with their new emphasis on products that require more data synchronization), and a lot of other smart people are working ways to mitigate the problem of data replication and synchronization but the speed of light is only so fast and at some level you'll always bump into the laws of physics. What is key, however, is that choosing to host in the cloud alone is not sufficient to ensure your application is fault tolerant. The data and application layer remain difficult to scale, and even with a service like AWS creating resiliency still requires programmers to make their application servers redundant and replicate their data to the extent possible and practical.</p>
    <div>
      <h3>Front End Layer Scaling</h3>
      <a href="#front-end-layer-scaling">
        
      </a>
    </div>
    <p>While data synchronization makes geographic scaling of the Data &amp; Application layer difficult, there is a part of the web application stack that is a natural candidate for massively distributed scaling: the Front End layer. All web services have a front end. It is the part of the service that receives the requests and hands it off to the application to begin churning. The front end layer also returns the response from the application and databases back to the user that requested it.</p><p>Unlike the Data &amp; Application layer, the Front End layer doesn't need specific knowledge about the application. This means it can be distributed geographically without special application logic or a need for complex data replication strategies. The Front End layer can help tune the response from the Data &amp; Application layer depending on the characteristics of the user. For example, rather than the Data &amp; Application layer changing the presentation of a response based on whether someone is on an iPad or Internet Explorer on a desktop PC, the Front End layer can handle the response.</p><p>The Front End layer can also shield the Data &amp; Application layer from potential threats and attacks. In fact, if you use a protocol like Anycast to route requests geographically, you can isolate attacks or any network problems to only impact a small part of the overall system.</p>
    <div>
      <h3>Front End In the Cloud FTW</h3>
      <a href="#front-end-in-the-cloud-ftw">
        
      </a>
    </div>
    <p>While there remains hesitation in some quarters to turn over the Data &amp; Application layer to the cloud, moving the Front End layer to the cloud is a no-brainer. That, of course, is exactly what we've built at CloudFlare: a scalable front end layer that can run in front of any web application to help it better scale. What's powerful is that any web site or application can provision CloudFlare simply by making a DNS change. Since the Front End layer doesn't need to synchronize data, CloudFlare can begin working to accelerate and protect web traffic immediately and without any changes to the Data &amp; Application layer.</p>
            <figure>
            
            <img src="https://cf-assets.www.cloudflare.com/zkvhlag99gkb/Vrt4GyaYpuCEoicyecNL8/a1fd6f89e1fa768b383e24d64f1322e5/cloudflare_literally.png.scaled500.png" />
            
            </figure><p>Because we've focused on the Front End layer, CloudFlare's scaling and failure characteristics are very favorable to traditional Data &amp; Application cloud services. Today, for instance, we had a hardware failure in our San Jose data center. Most customers never noticed because 1) it only impacted a limited number of visitors in the region; and 2) we were able to quickly and gracefully fail the data center out and traffic automatically shifted to the next closest data center. The logic to make this graceful failover didn't need to be constructed by our customers' programmers at the application layer because the Front End layer doesn't need the same synchronization as the Data &amp; Application layer.</p><p>We've also worked to make sure that our Front End layer continues to serve static content when one of our customers' Data &amp; Application layer goes down. One of the ways we first get word when AWS or another major host is struggling is when our customers write to us letting us know that they'd be entirely offline if not for our Always Online™ feature. We've got some big improvements to Always Online coming out over the next few weeks which will make the feature even better.</p><p>Going forward, we will continue to make scaling web application easier by providing services like intelligent load balancing between various Data &amp; Application service providers both to maximize performance and also to ensure availability. Moreover, since every CloudFlare customer gets the benefit of all our data centers, as we continue to build out our network it inherently becomes more resilient to failure. Over the next month, we'll be turning on 9 new <a href="http://www.cloudflare.com/network-map">data center locations</a> to further expand our network. While I expect the decision of where to host your Data &amp; Application layer will remain vexing, we're working to make using CloudFlare as your Front End layer a <a href="http://www.cloudflare.com/testimonials#page=aroundtheweb">no-brainer</a>.</p> ]]></content:encoded>
            <category><![CDATA[AWS]]></category>
            <category><![CDATA[EC2]]></category>
            <category><![CDATA[Outage]]></category>
            <guid isPermaLink="false">2zBmNqzC5HWCeDUGIz8wj6</guid>
            <dc:creator>Matthew Prince</dc:creator>
        </item>
        <item>
            <title><![CDATA[SSL on Custom Domains for AppEngine and Other Cloud Services]]></title>
            <link>https://blog.cloudflare.com/ssl-on-custom-domains-for-appengine-and-other/</link>
            <pubDate>Fri, 22 Jul 2011 20:33:00 GMT</pubDate>
            <description><![CDATA[ Note: this post is deprecated. While it worked for a while, AppEngine made a change on their side that caused it to break. Rather than playing wack-a-mole with a brittle solution, we decided to create something that would work for the long term and across a wider range or services. ]]></description>
            <content:encoded><![CDATA[ <p><i>Note: this post is deprecated. While it worked for a while, AppEngine made a change on their side that caused it to break. Rather than playing wack-a-mole with a brittle solution, we decided to create something that would work for the long term and across a wider range or services. Called Flexible SSL, learn more about the new solution on the</i><i>following blog post:</i></p><p><a href="/ssl-on-tumblr-wordpress-blogger-appengine-pos/">How to Enable SSL on Tumblr, WordPress, Blogger, AppEngine, Posterous &amp; More...</a></p>
            <figure>
            
            <img src="https://cf-assets.www.cloudflare.com/zkvhlag99gkb/7yFqNnKzCvuebDWhFxuZrJ/e6de80ae385bea18b1773cf82d720e35/app-engine.jpg.scaled500.jpg" />
            
            </figure><p>We read every email we get and receive terrific feature suggestions from our users all the time. One of them the other day told us about a problem he was having with Google AppEngine. It turns out that, if you want to use SSL on AppEngine, you need to use a appspot.com subdomain, not your own custom domain. This has generated <a href="http://code.google.com/p/googleappengine/issues/detail?id=792">more than 1,000 requests from AppEngine developers for a fix</a>. There have been some <a href="http://radomirml.com/2011/01/30/reverse-proxy-for-gae-application-using-nginx-and-ssl">suggested solutions</a>, but they generally require you to give up many of the benefits of running in the cloud. Google AppEngine isn't alone. SSL in the cloud ishard, and Amazon's EC2 and other cloud services suffer the same issues.</p><p>Here's a bit of detail on the core problem. SSL is tied to a particular domain and, usually, an IP address. Managing SSL certificates in an elastic cloud environment is non-trivial. As a result, many cloud providers don't support SSL at all or, like AppEngine, create a wildcard SSL cert for their domain and force everyone who wants SSL to send requests to that. Unfortunately, if you try and make a request toAppEngine from your own domain then the SSL certificate won't validate. We initially thought we could solve this as a proxy just by ignoring SSLerrors from the origin, but AppEngine also routes based on the host header. If the host header isn't a subdomain off appspot.org then traffic gets rerouted to the Google home page.</p>
            <figure>
            
            <img src="https://cf-assets.www.cloudflare.com/zkvhlag99gkb/2COGbm2z3xSo0k2o4dCJhj/ba89803d80c5372eeda0a3cdc5f3e541/host_override_header.jpg.scaled500.jpg" />
            
            </figure><p>At CloudFlare, we've developed a ton of technology around managing SSL in the cloud. As a result, we realized we could do something to solve these issues with AppEngine and other cloud services. Yesterday we quietly turned on a new feature we're tentatively calling Host Override Header. It will show up in your CloudFlare Settings page if you have SSL enabled for your domain. The function works by changing the HOST header sent when CloudFlare connects to an origin server. This means that, if you're hosted on AppEngine, you can enter &lt;yourkey&gt;.appspot.com and enable the Host Override Header. Your visitors can use a HTTPS connection to visit your custom domain, but as far as AppEngine knows, they'll be entering an appspot.com subdomain. Not only does this seem more professional and usable, but it also helps developers keep sessions consistent between HTTP and HTTPS connections.</p><p>We think there are many other opportunities that lie ahead with the Host Override Header functionality, including enabling functions that extend well beyond SSL support, but we want to proceed carefully and squash any bugs that may arise. We've seen two so far. The first involves if you're currently setting the domain field when you insert a SetCookie header. If you're using the appspot.com domain then cookies won't be stored because the domains won't match. The solution is to update the domain filed to your custom domain, or, as most libraries do, just omit it and it will assume the root domain.</p><p>The second bug we've seen is that in some cases where you're doing redirects you can find yourself getting into a loop. We've built in loop-detection logic, but make sure you're not redirecting traffic from an appspot.com domain back to your custom domain or you may see some issues. Inevitably, other issues will crop up. If you find them yourself, please <a href="http://www.cloudflare.com/contact">let us know</a>. In the meantime, hopefully we've made the world a bit better for the 1,000+ AppEngine developers who have been looking for a way to host on the service and still use SSL.</p> ]]></content:encoded>
            <category><![CDATA[Google]]></category>
            <category><![CDATA[EC2]]></category>
            <category><![CDATA[HTTPS]]></category>
            <category><![CDATA[Security]]></category>
            <guid isPermaLink="false">mExNMDBiGDGkofGIdXwS3</guid>
            <dc:creator>Matthew Prince</dc:creator>
        </item>
        <item>
            <title><![CDATA[Zone Apex / Naked Domain / Root Domain CNAME Support for Amazon EC2, Google App Engine and Other Cloud Hosts]]></title>
            <link>https://blog.cloudflare.com/zone-apex-naked-domain-root-domain-cname-supp/</link>
            <pubDate>Mon, 16 May 2011 19:34:00 GMT</pubDate>
            <description><![CDATA[ CloudFlare now supports CNAME Flattening, which is a better solution to this same problem. Read more in our knowledge base.  ]]></description>
            <content:encoded><![CDATA[ <p></p><p><b>CloudFlare now supports CNAME Flattening, which is a better solution to this same problem. Read more in our knowledge base about </b><a href="https://support.cloudflare.com/hc/en-us/articles/200169056-CNAME-Flattening-RFC-compliant-support-for-CNAME-at-the-root"><b>RFC-compliant support for CNAME at the root</b></a><b>.</b></p><p>One of the challenges of using a service like Amazon Web Services (AWS) Elastic Cloud (EC2) is you need to point your DNS to a CNAME. The problem is the DNS RFC (RFC1033) requires the "zone apex" (sometimes called the "root domain" or "naked domain") to be an "A Record," not a CNAME. This means that with most DNS providers you can setup a subdomain CNAME to point to EC2, but you cannot setup your root domain as a CNAMEto point to EC2.</p><p>In other words, you can do this:<a href="http://www.yourdomain.com">www.yourdomain.com</a> CNAME <a href="http://some-id.ec2.amazonaws.com">some-id.ec2.amazonaws.com</a>&lt;</p><p>But, with most DNS providers (including Amazon's own Route 53), you can't do this:<a href="http://yourdomain.com">yourdomain.com</a> CNAME <a href="http://some-id.ec2.amazonaws.com">some-id.ec2.amazonaws.com</a></p><p>You also cannot reliably point your root A Record to an IP address within the EC2 network since Amazon reserves the right to reallocate the IP address dedicated to your instance. While there are some hacks to redirect the root domain to a subdomain like "www", this limitation creates a mess many people wanting to use cloud service providers ("&gt;as evidenced by <a href="https://forums.aws.amazon.com/thread.jspa?threadID=26945">several</a> <a href="https://forums.aws.amazon.com/thread.jspa?threadID=55995">threads</a> <a href="https://forums.aws.amazon.com/thread.jspa?threadID=56868">on</a> <a href="https://forums.aws.amazon.com/thread.jspa?threadID=62808">the</a> <a href="https://forums.aws.amazon.com/thread.jspa?threadID=62808">subject</a>).</p><p>Never one to let a RFC stand in the way of a solution to a real problem, we're happy to announce that CloudFlare allows you to set your zone apex to a CNAME. This allows CloudFlare users to host on EC2, Rackspace's Cloud, Google App Engine, or other cloud hosts and use their naked domain (e.g., <a href="http://yourdomain.com">yourdomain.com</a>) without forcing a hack solution to a subdomain (e.g., <a href="http://www.yourdomain.com">www.yourdomain.com</a>). Pick whatever host makes the most sense for you, <a href="https://www.cloudflare.com/plans/">sign up for CloudFlare</a>, and we'll help ensure your site is as fast, secure, and effective as possible.</p><p>And, by the way, using CloudFlare's free service for a website hosted on EC2 typically makes the site about 50% faster worldwide while saving you about 65% off your bandwidth bill! Enjoy.</p> ]]></content:encoded>
            <category><![CDATA[AWS]]></category>
            <category><![CDATA[EC2]]></category>
            <category><![CDATA[Reliability]]></category>
            <guid isPermaLink="false">h6gBqSRy1hniuqC2VjeFR</guid>
            <dc:creator>Matthew Prince</dc:creator>
        </item>
    </channel>
</rss>