<script type="application/json" id="HeaderNotice-apollo-state-992f9e1e-c79c-43fb-96a9-089d825fa346">{}</script> <!-- glamorIds: 7 --> <script type="application/json" id="HeaderNotice-glamor-992f9e1e-c79c-43fb-96a9-089d825fa346">["1htug8r","1yodi52","iepywa","x5hg3h","u0iaox","9ilv8v","gwph6j"]</script> <style>@-webkit-keyframes animation_1htug8r{to{transform:rotate(360deg);-webkit-transform:rotate(360deg);}}@-moz-keyframes animation_1htug8r{to{transform:rotate(360deg);-webkit-transform:rotate(360deg);}}@-o-keyframes animation_1htug8r{to{transform:rotate(360deg);-webkit-transform:rotate(360deg);}}@keyframes animation_1htug8r{to{transform:rotate(360deg);-webkit-transform:rotate(360deg);}}@-webkit-keyframes animation_1yodi52{0%{background-position:0 0;}100%{background-position:100em 0;}}@-moz-keyframes animation_1yodi52{0%{background-position:0 0;}100%{background-position:100em 0;}}@-o-keyframes animation_1yodi52{0%{background-position:0 0;}100%{background-position:100em 0;}}@keyframes animation_1yodi52{0%{background-position:0 0;}100%{background-position:100em 0;}}@-webkit-keyframes animation_iepywa{0%, 100%{opacity:0;}50%{opacity:1;}}@-moz-keyframes animation_iepywa{0%, 100%{opacity:0;}50%{opacity:1;}}@-o-keyframes animation_iepywa{0%, 100%{opacity:0;}50%{opacity:1;}}@keyframes animation_iepywa{0%, 100%{opacity:0;}50%{opacity:1;}}@-webkit-keyframes animation_x5hg3h{100%{stroke-dashoffset:0;}}@-moz-keyframes animation_x5hg3h{100%{stroke-dashoffset:0;}}@-o-keyframes animation_x5hg3h{100%{stroke-dashoffset:0;}}@keyframes animation_x5hg3h{100%{stroke-dashoffset:0;}}@-webkit-keyframes animation_u0iaox{0%, 100%{transform:none;-webkit-transform:none;}50%{transform:scale3d(1.1, 1.1, 1);-webkit-transform:scale3d(1.1, 1.1, 1);}}@-moz-keyframes animation_u0iaox{0%, 100%{transform:none;-webkit-transform:none;}50%{transform:scale3d(1.1, 1.1, 1);-webkit-transform:scale3d(1.1, 1.1, 1);}}@-o-keyframes animation_u0iaox{0%, 100%{transform:none;-webkit-transform:none;}50%{transform:scale3d(1.1, 1.1, 1);-webkit-transform:scale3d(1.1, 1.1, 1);}}@keyframes animation_u0iaox{0%, 100%{transform:none;-webkit-transform:none;}50%{transform:scale3d(1.1, 1.1, 1);-webkit-transform:scale3d(1.1, 1.1, 1);}}@-webkit-keyframes animation_9ilv8v{100%{box-shadow:inset 0px 0px 0px 30px #068dfe;}}@-moz-keyframes animation_9ilv8v{100%{box-shadow:inset 0px 0px 0px 30px #068dfe;}}@-o-keyframes animation_9ilv8v{100%{box-shadow:inset 0px 0px 0px 30px #068dfe;}}@keyframes animation_9ilv8v{100%{box-shadow:inset 0px 0px 0px 30px #068dfe;}}.css-gwph6j,[data-css-gwph6j]{border-radius:2px;background-size:200% 100%;width:auto;height:auto;animation:20s animation_1yodi52 0s linear infinite;background:-webkit-linear-gradient(to right, #f1f1f1 0%, #fbfbfb 50%, #f1f1f1 100%); background: -moz-linear-gradient(to right, #f1f1f1 0%, #fbfbfb 50%, #f1f1f1 100%); background: linear-gradient(to right, #f1f1f1 0%, #fbfbfb 50%, #f1f1f1 100%);-webkit-animation:20s animation_1yodi52 0s linear infinite;}</style> <div id="HeaderNotice-react-component-992f9e1e-c79c-43fb-96a9-089d825fa346" data-ssr="true" ><div style="z-index:1000" class="css-gwph6j"></div></div> <script> renderComponent('HeaderNotice','HeaderNotice-react-component-992f9e1e-c79c-43fb-96a9-089d825fa346','HeaderNotice-apollo-state-992f9e1e-c79c-43fb-96a9-089d825fa346','HeaderNotice-glamor-992f9e1e-c79c-43fb-96a9-089d825fa346', 'apollo','{"mobile":false}'); </script> <script type="application/json" id="ToolAlternatives-apollo-state-4fc15ef7-7e62-4d15-9ed3-8f2cfea81f59">{"ROOT_QUERY":{"me":null,"tool({\"id\":\"amazon-cloudfront\"})":{"type":"id","generated":false,"id":"Tool:101231773403188549","typename":"Tool"},"tool({\"id\":\"101231773403188549\"})":{"type":"id","generated":false,"id":"Tool:101231773403188549","typename":"Tool"}},"Tool:101231773403188549":{"id":"101231773403188549","imageUrl":"https://img.stackshare.io/service/13/amazon-cloudfront.png","name":"Amazon CloudFront","ampStoryEnabled":true,"description":"Amazon CloudFront can be used to deliver your entire website, including dynamic, static, streaming, and interactive content using a global network of edge locations. Requests for your content are automatically routed to the nearest edge location, so content is delivered with the best possible performance.","followers":{"type":"id","generated":true,"id":"$Tool:101231773403188549.followers","typename":"UserConnection"},"company":{"type":"id","generated":true,"id":"$Tool:101231773403188549.company","typename":"Company"},"path":"/amazon-cloudfront","slug":"amazon-cloudfront","following":false,"alternativeTools":{"type":"id","generated":true,"id":"$Tool:101231773403188549.alternativeTools","typename":"ToolConnection"},"function":{"type":"id","generated":true,"id":"$Tool:101231773403188549.function","typename":"Function"},"layer":{"type":"id","generated":true,"id":"$Tool:101231773403188549.layer","typename":"Layer"},"category":{"type":"id","generated":true,"id":"$Tool:101231773403188549.category","typename":"Category"},"features":"Fast- Using a network of edge locations around the world, Amazon CloudFront caches copies of your static content close to viewers, lowering latency when they download your objects and giving you the high, sustained data transfer rates needed to deliver large popular objects to end users at scale.;Simple- A single API call lets you get started distributing content from your Amazon S3 bucket or Amazon EC2 instance or other origin server through the Amazon CloudFront network.;Designed for use with other Amazon Web Services Amazon CloudFront is designed for use with other Amazon Web Services, including Amazon S3, where you can durably store the definitive versions of your static files, and Amazon EC2, where you can run your application server for dynamically generated content.;Cost-Effective- Amazon CloudFront passes on the benefits of Amazon’s scale to you. You pay only for the content that you deliver through the network, without minimum commitments or up-front fees.;Elastic- With Amazon CloudFront, you don’t need to worry about maintaining expensive web-server capacity to meet the demand from potential traffic spikes for your content. The service automatically responds as demand increases or decreases without any intervention from you.;Reliable- Amazon CloudFront is built using Amazon’s highly reliable infrastructure. The distributed nature of edge locations used by Amazon CloudFront automatically routes end users to the closest available location as required by network conditions.;Global- Amazon CloudFront uses a global network of edge locations, located near your end users in the United States, Europe, Asia, and South America.","thumbUrl":"https://img.stackshare.io/service/13/thumb_amazon-cloudfront.png","thumbRetinaUrl":"https://img.stackshare.io/service/13/thumb_retina_amazon-cloudfront.png","verified":false,"pressUrl":"","githubForksCount":null,"githubStarsCount":null,"title":"Content delivery with low latency and high data transfer speeds","twitterUsername":"awscloud","websiteUrl":"http://aws.amazon.com/cloudfront/","stacks":20015,"votes":935,"privateFollowers":{"type":"id","generated":true,"id":"$Tool:101231773403188549.privateFollowers","typename":"UserConnection"},"footerAlternateTools({\"first\":5})":{"type":"id","generated":true,"id":"$Tool:101231773403188549.footerAlternateTools({\"first\":5})","typename":"ToolConnection"},"footerNewTools({\"first\":5})":{"type":"id","generated":true,"id":"$Tool:101231773403188549.footerNewTools({\"first\":5})","typename":"ToolConnection"},"footerTopTools({\"first\":5})":{"type":"id","generated":true,"id":"$Tool:101231773403188549.footerTopTools({\"first\":5})","typename":"ToolConnection"},"footerRelatedStackups({\"first\":5})":{"type":"id","generated":true,"id":"$Tool:101231773403188549.footerRelatedStackups({\"first\":5})","typename":"StackupConnection"},"__typename":"Tool","canonicalUrl":"/amazon-cloudfront","fans":12085,"followContext":null,"alternativeTools({\"first\":8})":{"type":"id","generated":true,"id":"$Tool:101231773403188549.alternativeTools({\"first\":8})","typename":"ToolConnection"}},"$Tool:101231773403188549.followers":{"count":9593,"__typename":"UserConnection"},"$Tool:101231773403188549.company":{"name":"Amazon CloudFront","slug":"amazon-cloudfront","stacks":[],"__typename":"Company"},"$Tool:101231773403188549.alternativeTools":{"count":37,"__typename":"ToolConnection"},"$Tool:101231773403188549.function":{"name":"Content Delivery Network","slug":"cdn","__typename":"Function"},"$Tool:101231773403188549.layer":{"name":"Application and Data","slug":"application_and_data","__typename":"Layer"},"$Tool:101231773403188549.category":{"name":"Assets and Media","slug":"assets-and-media","__typename":"Category"},"$Tool:101231773403188549.privateFollowers":{"count":0,"__typename":"UserConnection"},"$Tool:101231773403188549.footerAlternateTools({\"first\":5}).edges.0.node":{"name":"Akamai","path":"/akamai","__typename":"Tool"},"$Tool:101231773403188549.footerAlternateTools({\"first\":5}).edges.0":{"node":{"type":"id","generated":true,"id":"$Tool:101231773403188549.footerAlternateTools({\"first\":5}).edges.0.node","typename":"Tool"},"__typename":"ToolEdge"},"$Tool:101231773403188549.footerAlternateTools({\"first\":5}).edges.1.node":{"name":"CloudFlare","path":"/cloudflare","__typename":"Tool"},"$Tool:101231773403188549.footerAlternateTools({\"first\":5}).edges.1":{"node":{"type":"id","generated":true,"id":"$Tool:101231773403188549.footerAlternateTools({\"first\":5}).edges.1.node","typename":"Tool"},"__typename":"ToolEdge"},"$Tool:101231773403188549.footerAlternateTools({\"first\":5}).edges.2.node":{"name":"Google Cloud Storage","path":"/google-cloud-storage","__typename":"Tool"},"$Tool:101231773403188549.footerAlternateTools({\"first\":5}).edges.2":{"node":{"type":"id","generated":true,"id":"$Tool:101231773403188549.footerAlternateTools({\"first\":5}).edges.2.node","typename":"Tool"},"__typename":"ToolEdge"},"$Tool:101231773403188549.footerAlternateTools({\"first\":5}).edges.3.node":{"name":"Fastly","path":"/fastly","__typename":"Tool"},"$Tool:101231773403188549.footerAlternateTools({\"first\":5}).edges.3":{"node":{"type":"id","generated":true,"id":"$Tool:101231773403188549.footerAlternateTools({\"first\":5}).edges.3.node","typename":"Tool"},"__typename":"ToolEdge"},"$Tool:101231773403188549.footerAlternateTools({\"first\":5}).edges.4.node":{"name":"MaxCDN","path":"/maxcdn","__typename":"Tool"},"$Tool:101231773403188549.footerAlternateTools({\"first\":5}).edges.4":{"node":{"type":"id","generated":true,"id":"$Tool:101231773403188549.footerAlternateTools({\"first\":5}).edges.4.node","typename":"Tool"},"__typename":"ToolEdge"},"$Tool:101231773403188549.footerAlternateTools({\"first\":5})":{"edges":[{"type":"id","generated":true,"id":"$Tool:101231773403188549.footerAlternateTools({\"first\":5}).edges.0","typename":"ToolEdge"},{"type":"id","generated":true,"id":"$Tool:101231773403188549.footerAlternateTools({\"first\":5}).edges.1","typename":"ToolEdge"},{"type":"id","generated":true,"id":"$Tool:101231773403188549.footerAlternateTools({\"first\":5}).edges.2","typename":"ToolEdge"},{"type":"id","generated":true,"id":"$Tool:101231773403188549.footerAlternateTools({\"first\":5}).edges.3","typename":"ToolEdge"},{"type":"id","generated":true,"id":"$Tool:101231773403188549.footerAlternateTools({\"first\":5}).edges.4","typename":"ToolEdge"}],"__typename":"ToolConnection"},"$Tool:101231773403188549.footerNewTools({\"first\":5}).edges.0.node":{"name":"DocRaptor","path":"/docraptor","__typename":"Tool"},"$Tool:101231773403188549.footerNewTools({\"first\":5}).edges.0":{"node":{"type":"id","generated":true,"id":"$Tool:101231773403188549.footerNewTools({\"first\":5}).edges.0.node","typename":"Tool"},"__typename":"ToolEdge"},"$Tool:101231773403188549.footerNewTools({\"first\":5}).edges.1.node":{"name":"Ebook Glue","path":"/ebook-glue","__typename":"Tool"},"$Tool:101231773403188549.footerNewTools({\"first\":5}).edges.1":{"node":{"type":"id","generated":true,"id":"$Tool:101231773403188549.footerNewTools({\"first\":5}).edges.1.node","typename":"Tool"},"__typename":"ToolEdge"},"$Tool:101231773403188549.footerNewTools({\"first\":5}).edges.2.node":{"name":"CameraTag","path":"/cameratag","__typename":"Tool"},"$Tool:101231773403188549.footerNewTools({\"first\":5}).edges.2":{"node":{"type":"id","generated":true,"id":"$Tool:101231773403188549.footerNewTools({\"first\":5}).edges.2.node","typename":"Tool"},"__typename":"ToolEdge"},"$Tool:101231773403188549.footerNewTools({\"first\":5}).edges.3.node":{"name":"Blitline","path":"/blitline","__typename":"Tool"},"$Tool:101231773403188549.footerNewTools({\"first\":5}).edges.3":{"node":{"type":"id","generated":true,"id":"$Tool:101231773403188549.footerNewTools({\"first\":5}).edges.3.node","typename":"Tool"},"__typename":"ToolEdge"},"$Tool:101231773403188549.footerNewTools({\"first\":5}).edges.4.node":{"name":"Panda","path":"/panda","__typename":"Tool"},"$Tool:101231773403188549.footerNewTools({\"first\":5}).edges.4":{"node":{"type":"id","generated":true,"id":"$Tool:101231773403188549.footerNewTools({\"first\":5}).edges.4.node","typename":"Tool"},"__typename":"ToolEdge"},"$Tool:101231773403188549.footerNewTools({\"first\":5})":{"edges":[{"type":"id","generated":true,"id":"$Tool:101231773403188549.footerNewTools({\"first\":5}).edges.0","typename":"ToolEdge"},{"type":"id","generated":true,"id":"$Tool:101231773403188549.footerNewTools({\"first\":5}).edges.1","typename":"ToolEdge"},{"type":"id","generated":true,"id":"$Tool:101231773403188549.footerNewTools({\"first\":5}).edges.2","typename":"ToolEdge"},{"type":"id","generated":true,"id":"$Tool:101231773403188549.footerNewTools({\"first\":5}).edges.3","typename":"ToolEdge"},{"type":"id","generated":true,"id":"$Tool:101231773403188549.footerNewTools({\"first\":5}).edges.4","typename":"ToolEdge"}],"__typename":"ToolConnection"},"$Tool:101231773403188549.footerTopTools({\"first\":5}).edges.0.node":{"name":"CloudFlare","path":"/cloudflare","__typename":"Tool"},"$Tool:101231773403188549.footerTopTools({\"first\":5}).edges.0":{"node":{"type":"id","generated":true,"id":"$Tool:101231773403188549.footerTopTools({\"first\":5}).edges.0.node","typename":"Tool"},"__typename":"ToolEdge"},"$Tool:101231773403188549.footerTopTools({\"first\":5}).edges.1.node":{"name":"Google Drive","path":"/google-drive","__typename":"Tool"},"$Tool:101231773403188549.footerTopTools({\"first\":5}).edges.1":{"node":{"type":"id","generated":true,"id":"$Tool:101231773403188549.footerTopTools({\"first\":5}).edges.1.node","typename":"Tool"},"__typename":"ToolEdge"},"$Tool:101231773403188549.footerTopTools({\"first\":5}).edges.2.node":{"name":"Dropbox","path":"/dropbox","__typename":"Tool"},"$Tool:101231773403188549.footerTopTools({\"first\":5}).edges.2":{"node":{"type":"id","generated":true,"id":"$Tool:101231773403188549.footerTopTools({\"first\":5}).edges.2.node","typename":"Tool"},"__typename":"ToolEdge"},"$Tool:101231773403188549.footerTopTools({\"first\":5}).edges.3.node":{"name":"Amazon CloudFront","path":"/amazon-cloudfront","__typename":"Tool"},"$Tool:101231773403188549.footerTopTools({\"first\":5}).edges.3":{"node":{"type":"id","generated":true,"id":"$Tool:101231773403188549.footerTopTools({\"first\":5}).edges.3.node","typename":"Tool"},"__typename":"ToolEdge"},"$Tool:101231773403188549.footerTopTools({\"first\":5}).edges.4.node":{"name":"Akamai","path":"/akamai","__typename":"Tool"},"$Tool:101231773403188549.footerTopTools({\"first\":5}).edges.4":{"node":{"type":"id","generated":true,"id":"$Tool:101231773403188549.footerTopTools({\"first\":5}).edges.4.node","typename":"Tool"},"__typename":"ToolEdge"},"$Tool:101231773403188549.footerTopTools({\"first\":5})":{"edges":[{"type":"id","generated":true,"id":"$Tool:101231773403188549.footerTopTools({\"first\":5}).edges.0","typename":"ToolEdge"},{"type":"id","generated":true,"id":"$Tool:101231773403188549.footerTopTools({\"first\":5}).edges.1","typename":"ToolEdge"},{"type":"id","generated":true,"id":"$Tool:101231773403188549.footerTopTools({\"first\":5}).edges.2","typename":"ToolEdge"},{"type":"id","generated":true,"id":"$Tool:101231773403188549.footerTopTools({\"first\":5}).edges.3","typename":"ToolEdge"},{"type":"id","generated":true,"id":"$Tool:101231773403188549.footerTopTools({\"first\":5}).edges.4","typename":"ToolEdge"}],"__typename":"ToolConnection"},"$Tool:101231773403188549.footerRelatedStackups({\"first\":5}).edges.0.node":{"path":"/stackups/amazon-cloudfront-vs-cloudflare-vs-fastly","title":"Amazon CloudFront vs CloudFlare vs Fastly","__typename":"Stackup"},"$Tool:101231773403188549.footerRelatedStackups({\"first\":5}).edges.0":{"node":{"type":"id","generated":true,"id":"$Tool:101231773403188549.footerRelatedStackups({\"first\":5}).edges.0.node","typename":"Stackup"},"__typename":"StackupEdge"},"$Tool:101231773403188549.footerRelatedStackups({\"first\":5}).edges.1.node":{"path":"/stackups/akamai-vs-amazon-cloudfront-vs-cloudflare","title":"Akamai vs Amazon CloudFront vs CloudFlare","__typename":"Stackup"},"$Tool:101231773403188549.footerRelatedStackups({\"first\":5}).edges.1":{"node":{"type":"id","generated":true,"id":"$Tool:101231773403188549.footerRelatedStackups({\"first\":5}).edges.1.node","typename":"Stackup"},"__typename":"StackupEdge"},"$Tool:101231773403188549.footerRelatedStackups({\"first\":5}).edges.2.node":{"path":"/stackups/amazon-cloudfront-vs-google-cloud-cdn","title":"Amazon CloudFront vs Google Cloud CDN","__typename":"Stackup"},"$Tool:101231773403188549.footerRelatedStackups({\"first\":5}).edges.2":{"node":{"type":"id","generated":true,"id":"$Tool:101231773403188549.footerRelatedStackups({\"first\":5}).edges.2.node","typename":"Stackup"},"__typename":"StackupEdge"},"$Tool:101231773403188549.footerRelatedStackups({\"first\":5}).edges.3.node":{"path":"/stackups/amazon-cloudfront-vs-cloudflare-vs-google-cloud-cdn","title":"Amazon CloudFront vs CloudFlare vs Google Cloud CDN","__typename":"Stackup"},"$Tool:101231773403188549.footerRelatedStackups({\"first\":5}).edges.3":{"node":{"type":"id","generated":true,"id":"$Tool:101231773403188549.footerRelatedStackups({\"first\":5}).edges.3.node","typename":"Stackup"},"__typename":"StackupEdge"},"$Tool:101231773403188549.footerRelatedStackups({\"first\":5}).edges.4.node":{"path":"/stackups/amazon-cloudfront-vs-keycdn-vs-maxcdn","title":"Amazon CloudFront vs KeyCDN vs MaxCDN","__typename":"Stackup"},"$Tool:101231773403188549.footerRelatedStackups({\"first\":5}).edges.4":{"node":{"type":"id","generated":true,"id":"$Tool:101231773403188549.footerRelatedStackups({\"first\":5}).edges.4.node","typename":"Stackup"},"__typename":"StackupEdge"},"$Tool:101231773403188549.footerRelatedStackups({\"first\":5})":{"edges":[{"type":"id","generated":true,"id":"$Tool:101231773403188549.footerRelatedStackups({\"first\":5}).edges.0","typename":"StackupEdge"},{"type":"id","generated":true,"id":"$Tool:101231773403188549.footerRelatedStackups({\"first\":5}).edges.1","typename":"StackupEdge"},{"type":"id","generated":true,"id":"$Tool:101231773403188549.footerRelatedStackups({\"first\":5}).edges.2","typename":"StackupEdge"},{"type":"id","generated":true,"id":"$Tool:101231773403188549.footerRelatedStackups({\"first\":5}).edges.3","typename":"StackupEdge"},{"type":"id","generated":true,"id":"$Tool:101231773403188549.footerRelatedStackups({\"first\":5}).edges.4","typename":"StackupEdge"}],"__typename":"StackupConnection"},"$Tool:101231773403188549.alternativeTools({\"first\":8}).pageInfo":{"hasNextPage":true,"endCursor":"OA","__typename":"PageInfo"},"$Tool:101231773403188549.alternativeTools({\"first\":8})":{"pageInfo":{"type":"id","generated":true,"id":"$Tool:101231773403188549.alternativeTools({\"first\":8}).pageInfo","typename":"PageInfo"},"edges":[{"type":"id","generated":true,"id":"$Tool:101231773403188549.alternativeTools({\"first\":8}).edges.0","typename":"ToolEdge"},{"type":"id","generated":true,"id":"$Tool:101231773403188549.alternativeTools({\"first\":8}).edges.1","typename":"ToolEdge"},{"type":"id","generated":true,"id":"$Tool:101231773403188549.alternativeTools({\"first\":8}).edges.2","typename":"ToolEdge"},{"type":"id","generated":true,"id":"$Tool:101231773403188549.alternativeTools({\"first\":8}).edges.3","typename":"ToolEdge"},{"type":"id","generated":true,"id":"$Tool:101231773403188549.alternativeTools({\"first\":8}).edges.4","typename":"ToolEdge"},{"type":"id","generated":true,"id":"$Tool:101231773403188549.alternativeTools({\"first\":8}).edges.5","typename":"ToolEdge"},{"type":"id","generated":true,"id":"$Tool:101231773403188549.alternativeTools({\"first\":8}).edges.6","typename":"ToolEdge"},{"type":"id","generated":true,"id":"$Tool:101231773403188549.alternativeTools({\"first\":8}).edges.7","typename":"ToolEdge"}],"__typename":"ToolConnection"},"Tool:101231773402794654":{"id":"101231773402794654","path":"/akamai","slug":"akamai","title":"The leading platform for cloud, mobile, media and security across any device, anywhere.","votes":0,"following":false,"followers":{"type":"id","generated":true,"id":"$Tool:101231773402794654.followers","typename":"UserConnection"},"stacks":1895,"githubForksCount":null,"imageUrl":"https://img.stackshare.io/service/12/default_05272bd47547a7580e6086fe0d4d1c7f6626b349.png","thumbRetinaUrl":"https://img.stackshare.io/service/12/thumb_retina_05272bd47547a7580e6086fe0d4d1c7f6626b349.png","name":"Akamai","description":"If you've ever shopped online, downloaded music, watched a web video or connected to work remotely, you've probably used Akamai's cloud platform. Akamai helps businesses connect the hyperconnected, empowering them to transform and reinvent their business online. We remove the complexities of technology, so you can focus on driving your business faster forward.","contactEnabled":false,"contactButtonText":null,"contactFlow":{"type":"json","json":{"links":[{"url":"","type":"website"}],"steps":["direct_link"]}},"pros":{"type":"id","generated":true,"id":"$Tool:101231773402794654.pros","typename":"ReasonConnection"},"cons":{"type":"id","generated":true,"id":"$Tool:101231773402794654.cons","typename":"ReasonConnection"},"stackDecisionsWithAlternatives({\"first\":2})":{"type":"id","generated":true,"id":"$Tool:101231773402794654.stackDecisionsWithAlternatives({\"first\":2})","typename":"StackDecisionConnection"},"__typename":"Tool"},"$Tool:101231773402794654.followers":{"count":417,"__typename":"UserConnection"},"$Tool:101231773402794654.pros":{"edges":[],"__typename":"ReasonConnection"},"$Tool:101231773402794654.cons":{"edges":[],"__typename":"ReasonConnection"},"$Tool:101231773402794654.stackDecisionsWithAlternatives({\"first\":2})":{"edges":[],"__typename":"StackDecisionConnection"},"$Tool:101231773403188549.alternativeTools({\"first\":8}).edges.0":{"node":{"type":"id","generated":false,"id":"Tool:101231773402794654","typename":"Tool"},"__typename":"ToolEdge"},"Tool:101231773404113083":{"id":"101231773404113083","path":"/cloudflare","slug":"cloudflare","title":"The Web Performance & Security Company.","votes":1764,"following":false,"followers":{"type":"id","generated":true,"id":"$Tool:101231773404113083.followers","typename":"UserConnection"},"stacks":72139,"githubForksCount":null,"imageUrl":"https://img.stackshare.io/service/15/twitter-profile-400x400.png","thumbRetinaUrl":"https://img.stackshare.io/service/15/thumb_retina_twitter-profile-400x400.png","name":"CloudFlare","description":"Cloudflare speeds up and protects millions of websites, APIs, SaaS services, and other properties connected to the Internet.","contactEnabled":false,"contactButtonText":"Run CockroachDB – fast to start & easy to scale","contactFlow":{"type":"json","json":{"links":[{"url":"https://www.cockroachlabs.com/lp/serverless/?utm_source=stackshare&utm_medium=sponsor&utm_campaign=bofu-dev-serv-launch-beta-stsh-cloudflare&utm_content=lp-static-stackshare-cta-cloudflare-custom-cta-native&utm_term=prosp","type":"website"}],"steps":["direct_link"]}},"pros":{"type":"id","generated":true,"id":"$Tool:101231773404113083.pros","typename":"ReasonConnection"},"cons":{"type":"id","generated":true,"id":"$Tool:101231773404113083.cons","typename":"ReasonConnection"},"verified":true,"canonicalUrl":"/cloudflare","fans":23302,"followContext":null,"__typename":"Tool","stackDecisionsWithAlternatives({\"first\":2})":{"type":"id","generated":true,"id":"$Tool:101231773404113083.stackDecisionsWithAlternatives({\"first\":2})","typename":"StackDecisionConnection"}},"$Tool:101231773404113083.followers":{"count":18897,"__typename":"UserConnection"},"Reason:101978468238012098":{"id":"101978468238012098","upvoted":false,"upvotesCount":422,"text":"Easy setup, great cdn","__typename":"Reason"},"$Tool:101231773404113083.pros.edges.0":{"node":{"type":"id","generated":false,"id":"Reason:101978468238012098","typename":"Reason"},"__typename":"ReasonEdge"},"Reason:101978468404028815":{"id":"101978468404028815","upvoted":false,"upvotesCount":275,"text":"Free ssl","__typename":"Reason"},"$Tool:101231773404113083.pros.edges.1":{"node":{"type":"id","generated":false,"id":"Reason:101978468404028815","typename":"Reason"},"__typename":"ReasonEdge"},"Reason:101978468322966135":{"id":"101978468322966135","upvoted":false,"upvotesCount":199,"text":"Easy setup","__typename":"Reason"},"$Tool:101231773404113083.pros.edges.2":{"node":{"type":"id","generated":false,"id":"Reason:101978468322966135","typename":"Reason"},"__typename":"ReasonEdge"},"Reason:101978468254057067":{"id":"101978468254057067","upvoted":false,"upvotesCount":189,"text":"Security","__typename":"Reason"},"$Tool:101231773404113083.pros.edges.3":{"node":{"type":"id","generated":false,"id":"Reason:101978468254057067","typename":"Reason"},"__typename":"ReasonEdge"},"Reason:101978468254836304":{"id":"101978468254836304","upvoted":false,"upvotesCount":180,"text":"Ssl","__typename":"Reason"},"$Tool:101231773404113083.pros.edges.4":{"node":{"type":"id","generated":false,"id":"Reason:101978468254836304","typename":"Reason"},"__typename":"ReasonEdge"},"Reason:101978468322618044":{"id":"101978468322618044","upvoted":false,"upvotesCount":98,"text":"Great cdn","__typename":"Reason"},"$Tool:101231773404113083.pros.edges.5":{"node":{"type":"id","generated":false,"id":"Reason:101978468322618044","typename":"Reason"},"__typename":"ReasonEdge"},"Reason:101978468253911747":{"id":"101978468253911747","upvoted":false,"upvotesCount":77,"text":"Optimizer","__typename":"Reason"},"$Tool:101231773404113083.pros.edges.6":{"node":{"type":"id","generated":false,"id":"Reason:101978468253911747","typename":"Reason"},"__typename":"ReasonEdge"},"Reason:101978468404649780":{"id":"101978468404649780","upvoted":false,"upvotesCount":71,"text":"Simple","__typename":"Reason"},"$Tool:101231773404113083.pros.edges.7":{"node":{"type":"id","generated":false,"id":"Reason:101978468404649780","typename":"Reason"},"__typename":"ReasonEdge"},"Reason:101978468254209163":{"id":"101978468254209163","upvoted":false,"upvotesCount":44,"text":"Great UI","__typename":"Reason"},"$Tool:101231773404113083.pros.edges.8":{"node":{"type":"id","generated":false,"id":"Reason:101978468254209163","typename":"Reason"},"__typename":"ReasonEdge"},"Reason:101978468339949761":{"id":"101978468339949761","upvoted":false,"upvotesCount":28,"text":"Great js cdn","__typename":"Reason"},"$Tool:101231773404113083.pros.edges.9":{"node":{"type":"id","generated":false,"id":"Reason:101978468339949761","typename":"Reason"},"__typename":"ReasonEdge"},"Reason:101978469683281967":{"id":"101978469683281967","upvoted":false,"upvotesCount":12,"text":"HTTP/2 Support","__typename":"Reason"},"$Tool:101231773404113083.pros.edges.10":{"node":{"type":"id","generated":false,"id":"Reason:101978469683281967","typename":"Reason"},"__typename":"ReasonEdge"},"Reason:101978468254686881":{"id":"101978468254686881","upvoted":false,"upvotesCount":12,"text":"Apps","__typename":"Reason"},"$Tool:101231773404113083.pros.edges.11":{"node":{"type":"id","generated":false,"id":"Reason:101978468254686881","typename":"Reason"},"__typename":"ReasonEdge"},"Reason:101978468254612984":{"id":"101978468254612984","upvoted":false,"upvotesCount":12,"text":"DNS Analytics","__typename":"Reason"},"$Tool:101231773404113083.pros.edges.12":{"node":{"type":"id","generated":false,"id":"Reason:101978468254612984","typename":"Reason"},"__typename":"ReasonEdge"},"Reason:101978468404162139":{"id":"101978468404162139","upvoted":false,"upvotesCount":12,"text":"AutoMinify","__typename":"Reason"},"$Tool:101231773404113083.pros.edges.13":{"node":{"type":"id","generated":false,"id":"Reason:101978468404162139","typename":"Reason"},"__typename":"ReasonEdge"},"Reason:101978469337576829":{"id":"101978469337576829","upvoted":false,"upvotesCount":9,"text":"Ipv6","__typename":"Reason"},"$Tool:101231773404113083.pros.edges.14":{"node":{"type":"id","generated":false,"id":"Reason:101978469337576829","typename":"Reason"},"__typename":"ReasonEdge"},"Reason:101978468404259706":{"id":"101978468404259706","upvoted":false,"upvotesCount":9,"text":"Rocket Loader","__typename":"Reason"},"$Tool:101231773404113083.pros.edges.15":{"node":{"type":"id","generated":false,"id":"Reason:101978468404259706","typename":"Reason"},"__typename":"ReasonEdge"},"Reason:101978468404543077":{"id":"101978468404543077","upvoted":false,"upvotesCount":9,"text":"Easy","__typename":"Reason"},"$Tool:101231773404113083.pros.edges.16":{"node":{"type":"id","generated":false,"id":"Reason:101978468404543077","typename":"Reason"},"__typename":"ReasonEdge"},"Reason:101978469330642010":{"id":"101978469330642010","upvoted":false,"upvotesCount":8,"text":"IPv6 \"One Click\"","__typename":"Reason"},"$Tool:101231773404113083.pros.edges.17":{"node":{"type":"id","generated":false,"id":"Reason:101978469330642010","typename":"Reason"},"__typename":"ReasonEdge"},"Reason:101978469762732732":{"id":"101978469762732732","upvoted":false,"upvotesCount":7,"text":"DNSSEC","__typename":"Reason"},"$Tool:101231773404113083.pros.edges.18":{"node":{"type":"id","generated":false,"id":"Reason:101978469762732732","typename":"Reason"},"__typename":"ReasonEdge"},"Reason:101978469642480728":{"id":"101978469642480728","upvoted":false,"upvotesCount":7,"text":"Free GeoIP","__typename":"Reason"},"$Tool:101231773404113083.pros.edges.19":{"node":{"type":"id","generated":false,"id":"Reason:101978469642480728","typename":"Reason"},"__typename":"ReasonEdge"},"Reason:101978470002040237":{"id":"101978470002040237","upvoted":false,"upvotesCount":7,"text":"Amazing performance","__typename":"Reason"},"$Tool:101231773404113083.pros.edges.20":{"node":{"type":"id","generated":false,"id":"Reason:101978470002040237","typename":"Reason"},"__typename":"ReasonEdge"},"Reason:101978469320546259":{"id":"101978469320546259","upvoted":false,"upvotesCount":7,"text":"API","__typename":"Reason"},"$Tool:101231773404113083.pros.edges.21":{"node":{"type":"id","generated":false,"id":"Reason:101978469320546259","typename":"Reason"},"__typename":"ReasonEdge"},"Reason:101978468254884272":{"id":"101978468254884272","upvoted":false,"upvotesCount":7,"text":"Cheapest SSL","__typename":"Reason"},"$Tool:101231773404113083.pros.edges.22":{"node":{"type":"id","generated":false,"id":"Reason:101978468254884272","typename":"Reason"},"__typename":"ReasonEdge"},"Reason:101978468741018626":{"id":"101978468741018626","upvoted":false,"upvotesCount":7,"text":"Fantastic CDN service","__typename":"Reason"},"$Tool:101231773404113083.pros.edges.23":{"node":{"type":"id","generated":false,"id":"Reason:101978468741018626","typename":"Reason"},"__typename":"ReasonEdge"},"Reason:101978470149581665":{"id":"101978470149581665","upvoted":false,"upvotesCount":7,"text":"Nice DNS","__typename":"Reason"},"$Tool:101231773404113083.pros.edges.24":{"node":{"type":"id","generated":false,"id":"Reason:101978470149581665","typename":"Reason"},"__typename":"ReasonEdge"},"Reason:101978469967648772":{"id":"101978469967648772","upvoted":false,"upvotesCount":7,"text":"SSHFP","__typename":"Reason"},"$Tool:101231773404113083.pros.edges.25":{"node":{"type":"id","generated":false,"id":"Reason:101978469967648772","typename":"Reason"},"__typename":"ReasonEdge"},"Reason:101978470148271716":{"id":"101978470148271716","upvoted":false,"upvotesCount":6,"text":"Free and reliable, Faster then anyone else","__typename":"Reason"},"$Tool:101231773404113083.pros.edges.26":{"node":{"type":"id","generated":false,"id":"Reason:101978470148271716","typename":"Reason"},"__typename":"ReasonEdge"},"Reason:101978468900504222":{"id":"101978468900504222","upvoted":false,"upvotesCount":6,"text":"SPDY","__typename":"Reason"},"$Tool:101231773404113083.pros.edges.27":{"node":{"type":"id","generated":false,"id":"Reason:101978468900504222","typename":"Reason"},"__typename":"ReasonEdge"},"Reason:101978468404406021":{"id":"101978468404406021","upvoted":false,"upvotesCount":5,"text":"Asynchronous resource loading","__typename":"Reason"},"$Tool:101231773404113083.pros.edges.28":{"node":{"type":"id","generated":false,"id":"Reason:101978468404406021","typename":"Reason"},"__typename":"ReasonEdge"},"Reason:101978468725989304":{"id":"101978468725989304","upvoted":false,"upvotesCount":4,"text":"Easy Use","__typename":"Reason"},"$Tool:101231773404113083.pros.edges.29":{"node":{"type":"id","generated":false,"id":"Reason:101978468725989304","typename":"Reason"},"__typename":"ReasonEdge"},"Reason:104117046170519189":{"id":"104117046170519189","upvoted":false,"upvotesCount":4,"text":"Performance","__typename":"Reason"},"$Tool:101231773404113083.pros.edges.30":{"node":{"type":"id","generated":false,"id":"Reason:104117046170519189","typename":"Reason"},"__typename":"ReasonEdge"},"Reason:101978469877555280":{"id":"101978469877555280","upvoted":false,"upvotesCount":4,"text":"Global Load Balancing","__typename":"Reason"},"$Tool:101231773404113083.pros.edges.31":{"node":{"type":"id","generated":false,"id":"Reason:101978469877555280","typename":"Reason"},"__typename":"ReasonEdge"},"Reason:106393636612694394":{"id":"106393636612694394","upvoted":false,"upvotesCount":4,"text":"Ubuntu","__typename":"Reason"},"$Tool:101231773404113083.pros.edges.32":{"node":{"type":"id","generated":false,"id":"Reason:106393636612694394","typename":"Reason"},"__typename":"ReasonEdge"},"Reason:107140441268920431":{"id":"107140441268920431","upvoted":false,"upvotesCount":3,"text":"CDN","__typename":"Reason"},"$Tool:101231773404113083.pros.edges.33":{"node":{"type":"id","generated":false,"id":"Reason:107140441268920431","typename":"Reason"},"__typename":"ReasonEdge"},"Reason:106804940155519135":{"id":"106804940155519135","upvoted":false,"upvotesCount":2,"text":"Support for SSHFP records","__typename":"Reason"},"$Tool:101231773404113083.pros.edges.34":{"node":{"type":"id","generated":false,"id":"Reason:106804940155519135","typename":"Reason"},"__typename":"ReasonEdge"},"Reason:108579997330709453":{"id":"108579997330709453","upvoted":false,"upvotesCount":2,"text":"Registrar","__typename":"Reason"},"$Tool:101231773404113083.pros.edges.35":{"node":{"type":"id","generated":false,"id":"Reason:108579997330709453","typename":"Reason"},"__typename":"ReasonEdge"},"Reason:108580001717341383":{"id":"108580001717341383","upvoted":false,"upvotesCount":1,"text":"Web3","__typename":"Reason"},"$Tool:101231773404113083.pros.edges.36":{"node":{"type":"id","generated":false,"id":"Reason:108580001717341383","typename":"Reason"},"__typename":"ReasonEdge"},"Reason:108579999463220535":{"id":"108579999463220535","upvoted":false,"upvotesCount":1,"text":"HTTPS3/Quic","__typename":"Reason"},"$Tool:101231773404113083.pros.edges.37":{"node":{"type":"id","generated":false,"id":"Reason:108579999463220535","typename":"Reason"},"__typename":"ReasonEdge"},"$Tool:101231773404113083.pros":{"edges":[{"type":"id","generated":true,"id":"$Tool:101231773404113083.pros.edges.0","typename":"ReasonEdge"},{"type":"id","generated":true,"id":"$Tool:101231773404113083.pros.edges.1","typename":"ReasonEdge"},{"type":"id","generated":true,"id":"$Tool:101231773404113083.pros.edges.2","typename":"ReasonEdge"},{"type":"id","generated":true,"id":"$Tool:101231773404113083.pros.edges.3","typename":"ReasonEdge"},{"type":"id","generated":true,"id":"$Tool:101231773404113083.pros.edges.4","typename":"ReasonEdge"},{"type":"id","generated":true,"id":"$Tool:101231773404113083.pros.edges.5","typename":"ReasonEdge"},{"type":"id","generated":true,"id":"$Tool:101231773404113083.pros.edges.6","typename":"ReasonEdge"},{"type":"id","generated":true,"id":"$Tool:101231773404113083.pros.edges.7","typename":"ReasonEdge"},{"type":"id","generated":true,"id":"$Tool:101231773404113083.pros.edges.8","typename":"ReasonEdge"},{"type":"id","generated":true,"id":"$Tool:101231773404113083.pros.edges.9","typename":"ReasonEdge"},{"type":"id","generated":true,"id":"$Tool:101231773404113083.pros.edges.10","typename":"ReasonEdge"},{"type":"id","generated":true,"id":"$Tool:101231773404113083.pros.edges.11","typename":"ReasonEdge"},{"type":"id","generated":true,"id":"$Tool:101231773404113083.pros.edges.12","typename":"ReasonEdge"},{"type":"id","generated":true,"id":"$Tool:101231773404113083.pros.edges.13","typename":"ReasonEdge"},{"type":"id","generated":true,"id":"$Tool:101231773404113083.pros.edges.14","typename":"ReasonEdge"},{"type":"id","generated":true,"id":"$Tool:101231773404113083.pros.edges.15","typename":"ReasonEdge"},{"type":"id","generated":true,"id":"$Tool:101231773404113083.pros.edges.16","typename":"ReasonEdge"},{"type":"id","generated":true,"id":"$Tool:101231773404113083.pros.edges.17","typename":"ReasonEdge"},{"type":"id","generated":true,"id":"$Tool:101231773404113083.pros.edges.18","typename":"ReasonEdge"},{"type":"id","generated":true,"id":"$Tool:101231773404113083.pros.edges.19","typename":"ReasonEdge"},{"type":"id","generated":true,"id":"$Tool:101231773404113083.pros.edges.20","typename":"ReasonEdge"},{"type":"id","generated":true,"id":"$Tool:101231773404113083.pros.edges.21","typename":"ReasonEdge"},{"type":"id","generated":true,"id":"$Tool:101231773404113083.pros.edges.22","typename":"ReasonEdge"},{"type":"id","generated":true,"id":"$Tool:101231773404113083.pros.edges.23","typename":"ReasonEdge"},{"type":"id","generated":true,"id":"$Tool:101231773404113083.pros.edges.24","typename":"ReasonEdge"},{"type":"id","generated":true,"id":"$Tool:101231773404113083.pros.edges.25","typename":"ReasonEdge"},{"type":"id","generated":true,"id":"$Tool:101231773404113083.pros.edges.26","typename":"ReasonEdge"},{"type":"id","generated":true,"id":"$Tool:101231773404113083.pros.edges.27","typename":"ReasonEdge"},{"type":"id","generated":true,"id":"$Tool:101231773404113083.pros.edges.28","typename":"ReasonEdge"},{"type":"id","generated":true,"id":"$Tool:101231773404113083.pros.edges.29","typename":"ReasonEdge"},{"type":"id","generated":true,"id":"$Tool:101231773404113083.pros.edges.30","typename":"ReasonEdge"},{"type":"id","generated":true,"id":"$Tool:101231773404113083.pros.edges.31","typename":"ReasonEdge"},{"type":"id","generated":true,"id":"$Tool:101231773404113083.pros.edges.32","typename":"ReasonEdge"},{"type":"id","generated":true,"id":"$Tool:101231773404113083.pros.edges.33","typename":"ReasonEdge"},{"type":"id","generated":true,"id":"$Tool:101231773404113083.pros.edges.34","typename":"ReasonEdge"},{"type":"id","generated":true,"id":"$Tool:101231773404113083.pros.edges.35","typename":"ReasonEdge"},{"type":"id","generated":true,"id":"$Tool:101231773404113083.pros.edges.36","typename":"ReasonEdge"},{"type":"id","generated":true,"id":"$Tool:101231773404113083.pros.edges.37","typename":"ReasonEdge"}],"__typename":"ReasonConnection"},"Reason:101978469762973950":{"id":"101978469762973950","upvoted":false,"upvotesCount":2,"text":"No support for SSHFP records","__typename":"Reason"},"$Tool:101231773404113083.cons.edges.0":{"node":{"type":"id","generated":false,"id":"Reason:101978469762973950","typename":"Reason"},"__typename":"ReasonEdge"},"Reason:107614487142382516":{"id":"107614487142382516","upvoted":false,"upvotesCount":2,"text":"Expensive when you exceed their fair usage limits","__typename":"Reason"},"$Tool:101231773404113083.cons.edges.1":{"node":{"type":"id","generated":false,"id":"Reason:107614487142382516","typename":"Reason"},"__typename":"ReasonEdge"},"$Tool:101231773404113083.cons":{"edges":[{"type":"id","generated":true,"id":"$Tool:101231773404113083.cons.edges.0","typename":"ReasonEdge"},{"type":"id","generated":true,"id":"$Tool:101231773404113083.cons.edges.1","typename":"ReasonEdge"}],"__typename":"ReasonConnection"},"User:101232125256131674":{"id":"101232125256131674","username":"johnnyxbell","title":"Software Engineer","companyName":"","imageUrl":"https://img.stackshare.io/user/261726/default_43253f45178c1952444a2acf9dddc5d2fb9af45c.jpeg","thumbUrl":"https://img.stackshare.io/user/261726/thumb_43253f45178c1952444a2acf9dddc5d2fb9af45c.jpeg","displayName":"Johnny Bell","__typename":"User"},"StackDecision:101489950087714804":{"user":{"type":"id","generated":false,"id":"User:101232125256131674","typename":"User"},"company":null,"link":{"type":"id","generated":true,"id":"$StackDecision:101489950087714804.link","typename":"Link"},"publicId":"101489950087714804","publishedAt":"2019-01-27T18:28:58Z","id":"101489950087714804","htmlContent":"<p>When I first built my portfolio I used <span class=\"tool\">GitHub</span> for the source control and deployed directly to <span class=\"tool\">Netlify</span> on a push to master. This was a perfect setup, I didn't need any knowledge about <span class=\"topic\">#DevOps</span> or anything, it was all just done for me. </p>\n\n<p>One of the issues I had with <span class=\"tool\">Netlify</span> was I wanted to <span class=\"topic\">gzip</span> my JavaScript files, I had this setup in my <span class=\"topic\">#Webpack</span> file, however <span class=\"tool\">Netlify</span> didn't offer an easy way to set this. </p>\n\n<p>Over the weekend I decided I wanted to know more about how <span class=\"topic\">#DevOps</span> worked so I decided to switch from <span class=\"tool\">Netlify</span> to <span class=\"tool\">Amazon S3</span>. Instead of creating any <span class=\"topic\">#Git</span> Webhooks I decided to use <span class=\"tool\">Buddy</span> for my pipeline and to run commands. <span class=\"tool\">Buddy</span> is a fantastic tool, very easy to setup builds, copying the files to my <span class=\"tool\">Amazon S3</span> bucket, then running some <span class=\"topic\">#AWS</span> console commands to set the <code>content-encoding</code> of the JavaScript files. - <span class=\"tool\">Buddy</span> is also free if you only have a few pipelines, so I didn't need to pay anything 🤙🏻.</p>\n\n<p>When I made these changes I also wanted to monitor my code, and make sure I was keeping up with the best practices so I implemented <span class=\"tool\">Code Climate</span> to look over my code and tell me where there <code>code smells</code>, <code>issues</code>, and <code>other issues</code> I've been super happy with it so far, on the free tier so its also free. </p>\n\n<p>I did plan on using <span class=\"tool\">Amazon CloudFront</span> for my SSL and cacheing, however it was overly complex to setup and it costs money. So I decided to go with the free tier of <span class=\"tool\">CloudFlare</span> and it is amazing, best choice I've made for caching / SSL in a long time. </p>","viewCount":343752,"upvotesCount":11,"services":[{"type":"id","generated":false,"id":"Tool:101231773410696721","typename":"Tool"},{"type":"id","generated":false,"id":"Tool:101231774569228015","typename":"Tool"},{"type":"id","generated":false,"id":"Tool:101231773409399220","typename":"Tool"},{"type":"id","generated":false,"id":"Tool:101231775458318270","typename":"Tool"},{"type":"id","generated":false,"id":"Tool:101231773403188549","typename":"Tool"},{"type":"id","generated":false,"id":"Tool:101231773404113083","typename":"Tool"},{"type":"id","generated":false,"id":"Tool:101231773579158988","typename":"Tool"}],"topics":[{"type":"id","generated":false,"id":"Topic:101231988857851707","typename":"Topic"},{"type":"id","generated":false,"id":"Topic:101231988987141218","typename":"Topic"},{"type":"id","generated":false,"id":"Topic:101231988985453891","typename":"Topic"},{"type":"id","generated":false,"id":"Topic:101489949999369309","typename":"Topic"}],"__typename":"StackDecision"},"$StackDecision:101489950087714804.link":{"url":"https://stackshare.io/johnnyxbell/portfolio","title":"Portfolio - johnnyxbell | StackShare","__typename":"Link"},"Tool:101231773410696721":{"id":"101231773410696721","name":"GitHub","slug":"github","title":"Powerful collaboration, review, and code management for open source and private development projects","verified":true,"imageUrl":"https://img.stackshare.io/service/27/default_869c34d29acc794d60ecdd5d2b5bfc042a80a4ec.jpg","canonicalUrl":"/github","path":"/github","votes":10238,"fans":236413,"stacks":239062,"following":false,"followContext":null,"__typename":"Tool"},"Tool:101231774569228015":{"id":"101231774569228015","name":"Netlify","slug":"netlify","title":"Build, deploy and host your static site or app with a drag and drop interface and automatic delpoys from GitHub or Bitbucket","verified":true,"imageUrl":"https://img.stackshare.io/service/2748/default_5dfbb146cf22182bca88c7d07f2515a5888fc12a.jpg","canonicalUrl":"/netlify","path":"/netlify","votes":204,"fans":2657,"stacks":2667,"following":false,"followContext":null,"__typename":"Tool"},"Tool:101231773409399220":{"id":"101231773409399220","name":"Amazon S3","slug":"amazon-s3","title":"Store and retrieve any amount of data, at any time, from anywhere on the web","verified":false,"imageUrl":"https://img.stackshare.io/service/25/amazon-s3.png","canonicalUrl":"/amazon-s3","path":"/amazon-s3","votes":2046,"fans":42638,"stacks":49153,"following":false,"followContext":null,"__typename":"Tool","followers":{"type":"id","generated":true,"id":"$Tool:101231773409399220.followers","typename":"UserConnection"},"githubForksCount":null,"thumbRetinaUrl":"https://img.stackshare.io/service/25/thumb_retina_amazon-s3.png","description":"Amazon Simple Storage Service provides a fully redundant data storage infrastructure for storing and retrieving any amount of data, at any time, from anywhere on the web","contactEnabled":true,"contactButtonText":"Join the Snowflake Build Summit","contactFlow":{"type":"json","json":{"links":[{"url":"https://www.snowflake.com/build/?utm_source=stackshare&utm_medium=display&utm_campaign=na-us-en-stackshare&utm_content=-ld-build-stackshare","type":"website"}],"steps":["direct_link"]}},"pros":{"type":"id","generated":true,"id":"$Tool:101231773409399220.pros","typename":"ReasonConnection"},"cons":{"type":"id","generated":true,"id":"$Tool:101231773409399220.cons","typename":"ReasonConnection"},"stackDecisionsWithAlternatives({\"first\":2})":{"type":"id","generated":true,"id":"$Tool:101231773409399220.stackDecisionsWithAlternatives({\"first\":2})","typename":"StackDecisionConnection"}},"Tool:101231775458318270":{"id":"101231775458318270","name":"Buddy","slug":"buddy","title":"Build, test and deploy on push in seconds.","verified":true,"imageUrl":"https://img.stackshare.io/service/4263/eIQHH23Q_400x400.jpg","canonicalUrl":"/buddy","path":"/buddy","votes":606,"fans":410,"stacks":295,"following":false,"followContext":null,"__typename":"Tool"},"Tool:101231773579158988":{"id":"101231773579158988","name":"Code Climate","slug":"code-climate","title":"Automated Ruby Code Review","verified":true,"imageUrl":"https://img.stackshare.io/service/305/KFgYaUkK.png","canonicalUrl":"/code-climate","path":"/code-climate","votes":278,"fans":638,"stacks":564,"following":false,"followContext":null,"__typename":"Tool"},"Topic:101231988857851707":{"name":"Devops","id":"101231988857851707","__typename":"Topic"},"Topic:101231988987141218":{"name":"Webpack","id":"101231988987141218","__typename":"Topic"},"Topic:101231988985453891":{"name":"Git","id":"101231988985453891","__typename":"Topic"},"Topic:101489949999369309":{"name":"Gzip","id":"101489949999369309","__typename":"Topic"},"$Tool:101231773404113083.stackDecisionsWithAlternatives({\"first\":2}).edges.0":{"node":{"type":"id","generated":false,"id":"StackDecision:101489950087714804","typename":"StackDecision"},"__typename":"StackDecisionEdge"},"StackDecision:101654006202112063":{"user":{"type":"id","generated":false,"id":"User:101232125256131674","typename":"User"},"company":null,"link":null,"publicId":"101654006202112063","publishedAt":"2019-02-25T17:50:37Z","id":"101654006202112063","htmlContent":"<p>I recently moved my portfolio to <span class=\"tool\">Amazon S3</span> and I needed a new way to cache and SSL my site as <span class=\"tool\">Amazon S3</span> does not come with this right out of the box. I tried <span class=\"tool\">Amazon CloudFront</span> as I was already on <span class=\"tool\">Amazon S3</span> I thought this would be super easy and straight forward to setup... It was not, I was unable to get this working even though I followed all the online steps and even reached out for help to Amazon. </p>\n\n<p>I'd used <span class=\"tool\">CloudFlare</span> in the past, and thought let me see if I can set up <span class=\"tool\">CloudFlare</span> on an <span class=\"tool\">Amazon S3</span> bucket. The setup for this was so basic and easy... I had it setup with caching and SSL within 5 minutes, and it was 100% free. </p>","viewCount":251513,"upvotesCount":7,"services":[{"type":"id","generated":false,"id":"Tool:101231773409399220","typename":"Tool"},{"type":"id","generated":false,"id":"Tool:101231773403188549","typename":"Tool"},{"type":"id","generated":false,"id":"Tool:101231773404113083","typename":"Tool"}],"topics":[],"__typename":"StackDecision"},"$Tool:101231773404113083.stackDecisionsWithAlternatives({\"first\":2}).edges.1":{"node":{"type":"id","generated":false,"id":"StackDecision:101654006202112063","typename":"StackDecision"},"__typename":"StackDecisionEdge"},"$Tool:101231773404113083.stackDecisionsWithAlternatives({\"first\":2})":{"edges":[{"type":"id","generated":true,"id":"$Tool:101231773404113083.stackDecisionsWithAlternatives({\"first\":2}).edges.0","typename":"StackDecisionEdge"},{"type":"id","generated":true,"id":"$Tool:101231773404113083.stackDecisionsWithAlternatives({\"first\":2}).edges.1","typename":"StackDecisionEdge"}],"__typename":"StackDecisionConnection"},"$Tool:101231773403188549.alternativeTools({\"first\":8}).edges.1":{"node":{"type":"id","generated":false,"id":"Tool:101231773404113083","typename":"Tool"},"__typename":"ToolEdge"},"Tool:101231773712725009":{"id":"101231773712725009","path":"/google-cloud-storage","slug":"google-cloud-storage","title":"Durable and highly available object storage service","votes":74,"following":false,"followers":{"type":"id","generated":true,"id":"$Tool:101231773712725009.followers","typename":"UserConnection"},"stacks":1459,"githubForksCount":null,"imageUrl":"https://img.stackshare.io/service/694/Cloud_Storage.png","thumbRetinaUrl":"https://img.stackshare.io/service/694/thumb_retina_Cloud_Storage.png","name":"Google Cloud Storage","description":"Google Cloud Storage allows world-wide storing and retrieval of any amount of data and at any time. It provides a simple programming interface which enables developers to take advantage of Google's own reliable and fast networking infrastructure to perform data operations in a secure and cost effective manner. If expansion needs arise, developers can benefit from the scalability provided by Google's infrastructure.","contactEnabled":true,"contactButtonText":"Join the Snowflake Build Summit","contactFlow":{"type":"json","json":{"links":[{"url":"https://www.snowflake.com/build/?utm_source=stackshare&utm_medium=display&utm_campaign=na-us-en-stackshare&utm_content=-ld-build-stackshare","type":"website"}],"steps":["direct_link"]}},"pros":{"type":"id","generated":true,"id":"$Tool:101231773712725009.pros","typename":"ReasonConnection"},"cons":{"type":"id","generated":true,"id":"$Tool:101231773712725009.cons","typename":"ReasonConnection"},"verified":false,"canonicalUrl":"/google-cloud-storage","fans":1396,"followContext":null,"__typename":"Tool","stackDecisionsWithAlternatives({\"first\":2})":{"type":"id","generated":true,"id":"$Tool:101231773712725009.stackDecisionsWithAlternatives({\"first\":2})","typename":"StackDecisionConnection"}},"$Tool:101231773712725009.followers":{"count":1113,"__typename":"UserConnection"},"Reason:101978468303483311":{"id":"101978468303483311","upvoted":false,"upvotesCount":28,"text":"Scalable","__typename":"Reason"},"$Tool:101231773712725009.pros.edges.0":{"node":{"type":"id","generated":false,"id":"Reason:101978468303483311","typename":"Reason"},"__typename":"ReasonEdge"},"Reason:101978468709348159":{"id":"101978468709348159","upvoted":false,"upvotesCount":19,"text":"Cheap","__typename":"Reason"},"$Tool:101231773712725009.pros.edges.1":{"node":{"type":"id","generated":false,"id":"Reason:101978468709348159","typename":"Reason"},"__typename":"ReasonEdge"},"Reason:101978468302842012":{"id":"101978468302842012","upvoted":false,"upvotesCount":14,"text":"Reliable","__typename":"Reason"},"$Tool:101231773712725009.pros.edges.2":{"node":{"type":"id","generated":false,"id":"Reason:101978468302842012","typename":"Reason"},"__typename":"ReasonEdge"},"Reason:101978468303355640":{"id":"101978468303355640","upvoted":false,"upvotesCount":9,"text":"Easy","__typename":"Reason"},"$Tool:101231773712725009.pros.edges.3":{"node":{"type":"id","generated":false,"id":"Reason:101978468303355640","typename":"Reason"},"__typename":"ReasonEdge"},"Reason:101978468303029235":{"id":"101978468303029235","upvoted":false,"upvotesCount":3,"text":"Chealp","__typename":"Reason"},"$Tool:101231773712725009.pros.edges.4":{"node":{"type":"id","generated":false,"id":"Reason:101978468303029235","typename":"Reason"},"__typename":"ReasonEdge"},"Reason:104047234659411107":{"id":"104047234659411107","upvoted":false,"upvotesCount":1,"text":"More praticlal and easy","__typename":"Reason"},"$Tool:101231773712725009.pros.edges.5":{"node":{"type":"id","generated":false,"id":"Reason:104047234659411107","typename":"Reason"},"__typename":"ReasonEdge"},"$Tool:101231773712725009.pros":{"edges":[{"type":"id","generated":true,"id":"$Tool:101231773712725009.pros.edges.0","typename":"ReasonEdge"},{"type":"id","generated":true,"id":"$Tool:101231773712725009.pros.edges.1","typename":"ReasonEdge"},{"type":"id","generated":true,"id":"$Tool:101231773712725009.pros.edges.2","typename":"ReasonEdge"},{"type":"id","generated":true,"id":"$Tool:101231773712725009.pros.edges.3","typename":"ReasonEdge"},{"type":"id","generated":true,"id":"$Tool:101231773712725009.pros.edges.4","typename":"ReasonEdge"},{"type":"id","generated":true,"id":"$Tool:101231773712725009.pros.edges.5","typename":"ReasonEdge"}],"__typename":"ReasonConnection"},"$Tool:101231773712725009.cons":{"edges":[],"__typename":"ReasonConnection"},"User:101848291586373803":{"id":"101848291586373803","username":"aliadocWeb","title":null,"companyName":"aliadoc.com","imageUrl":"https://img.stackshare.io/user/289406/default_bf6f507d852092a8d2d8ad47e136821925c4de3c.png","thumbUrl":"https://img.stackshare.io/user/289406/thumb_bf6f507d852092a8d2d8ad47e136821925c4de3c.png","displayName":"Aliadoc Team","__typename":"User"},"StackDecision:101848826192347222":{"user":{"type":"id","generated":false,"id":"User:101848291586373803","typename":"User"},"company":{"type":"id","generated":true,"id":"$StackDecision:101848826192347222.company","typename":"Company"},"link":null,"publicId":"101848826192347222","publishedAt":"2019-04-01T03:35:50Z","id":"101848826192347222","htmlContent":"<p>In <span class=\"topic\">#Aliadoc</span>, we're exploring the crowdfunding option to get traction before launch. We are building a SaaS platform for website design customization.</p>\n\n<p>For the Admin UI and website editor we use <span class=\"tool\">React</span> and we're currently transitioning from a <span class=\"tool\">Create React App</span> setup to a custom one because our needs have become more specific. We use <span class=\"tool\">CloudFlare</span> as much as possible, it's a great service.</p>\n\n<p>For routing dynamic resources and proxy tasks to feed websites to the editor we leverage <span class=\"tool\">CloudFlare</span> Workers for improved responsiveness. We use <span class=\"tool\">Firebase</span> for our hosting needs and user authentication while also using several <span class=\"tool\">Cloud Functions for Firebase</span> to interact with other services along with <span class=\"tool\">Google App Engine</span> and <span class=\"tool\">Google Cloud Storage</span>, but also the Real Time Database is on the radar for collaborative website editing.</p>\n\n<p>We generally hate configuration but honestly because of the stage of our project we lack resources for doing heavy sysops work. So we are basically just relying on <span class=\"tool\">Serverless</span> technologies as much as we can to do all server side processing.</p>\n\n<p><span class=\"tool\">Visual Studio Code</span> definitively makes programming a much easier and enjoyable task, we just love it. We combine it with <span class=\"tool\">Bitbucket</span> for our source code control needs.</p>","viewCount":711910,"upvotesCount":5,"services":[{"type":"id","generated":false,"id":"Tool:101231773849098825","typename":"Tool"},{"type":"id","generated":false,"id":"Tool:101231776176987604","typename":"Tool"},{"type":"id","generated":false,"id":"Tool:101231773404113083","typename":"Tool"},{"type":"id","generated":false,"id":"Tool:101231773461393493","typename":"Tool"},{"type":"id","generated":false,"id":"Tool:101231776794429029","typename":"Tool"},{"type":"id","generated":false,"id":"Tool:101231773474576994","typename":"Tool"},{"type":"id","generated":false,"id":"Tool:101231773712725009","typename":"Tool"},{"type":"id","generated":false,"id":"Tool:101231775927452566","typename":"Tool"},{"type":"id","generated":false,"id":"Tool:101231775423888689","typename":"Tool"},{"type":"id","generated":false,"id":"Tool:101231773411223883","typename":"Tool"}],"topics":[{"type":"id","generated":false,"id":"Topic:101848825876777386","typename":"Topic"}],"__typename":"StackDecision"},"$StackDecision:101848826192347222.company":{"imageUrl":"https://img.stackshare.io/company/32973/default_c3b0121b422d152a5b46325cdbfe1d87d6638e76.png","thumbUrl":"https://img.stackshare.io/company/32973/thumb_c3b0121b422d152a5b46325cdbfe1d87d6638e76.png","name":"Aliadoc","path":"/companies/aliadoc","features":[],"__typename":"Company"},"Tool:101231773849098825":{"id":"101231773849098825","name":"React","slug":"react","title":"A JavaScript library for building user interfaces","verified":false,"imageUrl":"https://img.stackshare.io/service/1020/OYIaJ1KK.png","canonicalUrl":"/react","path":"/react","votes":3950,"fans":136360,"stacks":143471,"following":false,"followContext":null,"__typename":"Tool"},"Tool:101231776176987604":{"id":"101231776176987604","name":"Create React App","slug":"create-react-app","title":"Create React apps with no build configuration","verified":true,"imageUrl":"https://img.stackshare.io/service/5537/oi64YzXY.jpg","canonicalUrl":"/create-react-app","path":"/create-react-app","votes":4,"fans":1246,"stacks":1012,"following":false,"followContext":null,"__typename":"Tool"},"Tool:101231773461393493":{"id":"101231773461393493","name":"Firebase","slug":"firebase","title":"The Realtime App Platform","verified":true,"imageUrl":"https://img.stackshare.io/service/116/cZLxNFZS.jpg","canonicalUrl":"/firebase","path":"/firebase","votes":1945,"fans":35756,"stacks":35226,"following":false,"followContext":null,"__typename":"Tool"},"Tool:101231776794429029":{"id":"101231776794429029","name":"Cloud Functions for Firebase","slug":"cloud-functions-for-firebase","title":"Run your mobile backend code without managing servers","verified":true,"imageUrl":"https://img.stackshare.io/service/6673/cZLxNFZS.jpg","canonicalUrl":"/cloud-functions-for-firebase","path":"/cloud-functions-for-firebase","votes":6,"fans":486,"stacks":448,"following":false,"followContext":null,"__typename":"Tool"},"Tool:101231773474576994":{"id":"101231773474576994","name":"Google App Engine","slug":"google-app-engine","title":"Build web applications on the same scalable systems that power Google applications","verified":false,"imageUrl":"https://img.stackshare.io/service/139/s01TMTGn.png","canonicalUrl":"/google-app-engine","path":"/google-app-engine","votes":609,"fans":8741,"stacks":8889,"following":false,"followContext":null,"__typename":"Tool"},"Tool:101231775927452566":{"id":"101231775927452566","name":"Serverless","slug":"serverless","title":"The most widely-adopted toolkit for building serverless applications","verified":false,"imageUrl":"https://img.stackshare.io/service/5095/serverless-logo.png","canonicalUrl":"/serverless","path":"/serverless","votes":23,"fans":1386,"stacks":1808,"following":false,"followContext":null,"__typename":"Tool"},"Tool:101231775423888689":{"id":"101231775423888689","name":"Visual Studio Code","slug":"visual-studio-code","title":"Build and debug modern web and cloud applications, by Microsoft","verified":true,"imageUrl":"https://img.stackshare.io/service/4202/Visual_Studio_Code_logo.png","canonicalUrl":"/visual-studio-code","path":"/visual-studio-code","votes":2203,"fans":145663,"stacks":142869,"following":false,"followContext":null,"__typename":"Tool"},"Tool:101231773411223883":{"id":"101231773411223883","name":"Bitbucket","slug":"bitbucket","title":"One place to plan projects, collaborate on code, test and deploy, all with free private repositories","verified":true,"imageUrl":"https://img.stackshare.io/service/28/35O2KIRX_400x400.jpg","canonicalUrl":"/bitbucket","path":"/bitbucket","votes":2841,"fans":35810,"stacks":36679,"following":false,"followContext":null,"__typename":"Tool"},"Topic:101848825876777386":{"name":"Aliadoc","id":"101848825876777386","__typename":"Topic"},"$Tool:101231773712725009.stackDecisionsWithAlternatives({\"first\":2}).edges.0":{"node":{"type":"id","generated":false,"id":"StackDecision:101848826192347222","typename":"StackDecision"},"__typename":"StackDecisionEdge"},"$Tool:101231773712725009.stackDecisionsWithAlternatives({\"first\":2})":{"edges":[{"type":"id","generated":true,"id":"$Tool:101231773712725009.stackDecisionsWithAlternatives({\"first\":2}).edges.0","typename":"StackDecisionEdge"}],"__typename":"StackDecisionConnection"},"$Tool:101231773403188549.alternativeTools({\"first\":8}).edges.2":{"node":{"type":"id","generated":false,"id":"Tool:101231773712725009","typename":"Tool"},"__typename":"ToolEdge"},"Tool:101231773552487870":{"id":"101231773552487870","path":"/fastly","slug":"fastly","title":"We're redefining content delivery.","votes":152,"following":false,"followers":{"type":"id","generated":true,"id":"$Tool:101231773552487870.followers","typename":"UserConnection"},"stacks":1048,"githubForksCount":null,"imageUrl":"https://img.stackshare.io/service/274/9V2sLNfw.png","thumbRetinaUrl":"https://img.stackshare.io/service/274/thumb_retina_9V2sLNfw.png","name":"Fastly","description":"Fastly's real-time content delivery network gives you total control over your content, unprecedented access to performance analytics, and the ability to instantly update content in 150 milliseconds.","contactEnabled":false,"contactButtonText":"Track Fastly metrics and more with Epsagon","contactFlow":{"type":"json","json":{"links":[{"url":"https://epsagon.com/try-epsagon/?utm_source=Advertisement&utm_medium=ppc&utm_campaign=StackShare&utm_term=Fastly","type":"website"}],"steps":["direct_link"]}},"pros":{"type":"id","generated":true,"id":"$Tool:101231773552487870.pros","typename":"ReasonConnection"},"cons":{"type":"id","generated":true,"id":"$Tool:101231773552487870.cons","typename":"ReasonConnection"},"verified":true,"canonicalUrl":"/fastly","fans":599,"followContext":null,"__typename":"Tool","stackDecisionsWithAlternatives({\"first\":2})":{"type":"id","generated":true,"id":"$Tool:101231773552487870.stackDecisionsWithAlternatives({\"first\":2})","typename":"StackDecisionConnection"}},"$Tool:101231773552487870.followers":{"count":491,"__typename":"UserConnection"},"Reason:101978468195626938":{"id":"101978468195626938","upvoted":false,"upvotesCount":28,"text":"Real-time updates","__typename":"Reason"},"$Tool:101231773552487870.pros.edges.0":{"node":{"type":"id","generated":false,"id":"Reason:101978468195626938","typename":"Reason"},"__typename":"ReasonEdge"},"Reason:101978468195287353":{"id":"101978468195287353","upvoted":false,"upvotesCount":25,"text":"Fastest CDN","__typename":"Reason"},"$Tool:101231773552487870.pros.edges.1":{"node":{"type":"id","generated":false,"id":"Reason:101978468195287353","typename":"Reason"},"__typename":"ReasonEdge"},"Reason:101978468135804046":{"id":"101978468135804046","upvoted":false,"upvotesCount":22,"text":"Powerful API","__typename":"Reason"},"$Tool:101231773552487870.pros.edges.2":{"node":{"type":"id","generated":false,"id":"Reason:101978468135804046","typename":"Reason"},"__typename":"ReasonEdge"},"Reason:101978468135565715":{"id":"101978468135565715","upvoted":false,"upvotesCount":20,"text":"Great support","__typename":"Reason"},"$Tool:101231773552487870.pros.edges.3":{"node":{"type":"id","generated":false,"id":"Reason:101978468135565715","typename":"Reason"},"__typename":"ReasonEdge"},"Reason:101978468195394802":{"id":"101978468195394802","upvoted":false,"upvotesCount":14,"text":"Great customer support","__typename":"Reason"},"$Tool:101231773552487870.pros.edges.4":{"node":{"type":"id","generated":false,"id":"Reason:101978468195394802","typename":"Reason"},"__typename":"ReasonEdge"},"Reason:101978469393970763":{"id":"101978469393970763","upvoted":false,"upvotesCount":7,"text":"Instant Purging","__typename":"Reason"},"$Tool:101231773552487870.pros.edges.5":{"node":{"type":"id","generated":false,"id":"Reason:101978469393970763","typename":"Reason"},"__typename":"ReasonEdge"},"Reason:101978469352449441":{"id":"101978469352449441","upvoted":false,"upvotesCount":7,"text":"Custom VCL","__typename":"Reason"},"$Tool:101231773552487870.pros.edges.6":{"node":{"type":"id","generated":false,"id":"Reason:101978469352449441","typename":"Reason"},"__typename":"ReasonEdge"},"Reason:101978468962164204":{"id":"101978468962164204","upvoted":false,"upvotesCount":6,"text":"Good pricing","__typename":"Reason"},"$Tool:101231773552487870.pros.edges.7":{"node":{"type":"id","generated":false,"id":"Reason:101978468962164204","typename":"Reason"},"__typename":"ReasonEdge"},"Reason:101978469394118766":{"id":"101978469394118766","upvoted":false,"upvotesCount":6,"text":"Tag-based Purging","__typename":"Reason"},"$Tool:101231773552487870.pros.edges.8":{"node":{"type":"id","generated":false,"id":"Reason:101978469394118766","typename":"Reason"},"__typename":"ReasonEdge"},"Reason:101978469394308237":{"id":"101978469394308237","upvoted":false,"upvotesCount":5,"text":"HTTP/2 Support","__typename":"Reason"},"$Tool:101231773552487870.pros.edges.9":{"node":{"type":"id","generated":false,"id":"Reason:101978469394308237","typename":"Reason"},"__typename":"ReasonEdge"},"Reason:101978470162797731":{"id":"101978470162797731","upvoted":false,"upvotesCount":4,"text":"Speed & functionality","__typename":"Reason"},"$Tool:101231773552487870.pros.edges.10":{"node":{"type":"id","generated":false,"id":"Reason:101978470162797731","typename":"Reason"},"__typename":"ReasonEdge"},"Reason:101978469673936926":{"id":"101978469673936926","upvoted":false,"upvotesCount":4,"text":"Image processing on demande (Fastly IO)","__typename":"Reason"},"$Tool:101231773552487870.pros.edges.11":{"node":{"type":"id","generated":false,"id":"Reason:101978469673936926","typename":"Reason"},"__typename":"ReasonEdge"},"Reason:101978469885392379":{"id":"101978469885392379","upvoted":false,"upvotesCount":4,"text":"Best CDN","__typename":"Reason"},"$Tool:101231773552487870.pros.edges.12":{"node":{"type":"id","generated":false,"id":"Reason:101978469885392379","typename":"Reason"},"__typename":"ReasonEdge"},"$Tool:101231773552487870.pros":{"edges":[{"type":"id","generated":true,"id":"$Tool:101231773552487870.pros.edges.0","typename":"ReasonEdge"},{"type":"id","generated":true,"id":"$Tool:101231773552487870.pros.edges.1","typename":"ReasonEdge"},{"type":"id","generated":true,"id":"$Tool:101231773552487870.pros.edges.2","typename":"ReasonEdge"},{"type":"id","generated":true,"id":"$Tool:101231773552487870.pros.edges.3","typename":"ReasonEdge"},{"type":"id","generated":true,"id":"$Tool:101231773552487870.pros.edges.4","typename":"ReasonEdge"},{"type":"id","generated":true,"id":"$Tool:101231773552487870.pros.edges.5","typename":"ReasonEdge"},{"type":"id","generated":true,"id":"$Tool:101231773552487870.pros.edges.6","typename":"ReasonEdge"},{"type":"id","generated":true,"id":"$Tool:101231773552487870.pros.edges.7","typename":"ReasonEdge"},{"type":"id","generated":true,"id":"$Tool:101231773552487870.pros.edges.8","typename":"ReasonEdge"},{"type":"id","generated":true,"id":"$Tool:101231773552487870.pros.edges.9","typename":"ReasonEdge"},{"type":"id","generated":true,"id":"$Tool:101231773552487870.pros.edges.10","typename":"ReasonEdge"},{"type":"id","generated":true,"id":"$Tool:101231773552487870.pros.edges.11","typename":"ReasonEdge"},{"type":"id","generated":true,"id":"$Tool:101231773552487870.pros.edges.12","typename":"ReasonEdge"}],"__typename":"ReasonConnection"},"Reason:101978469807579682":{"id":"101978469807579682","upvoted":false,"upvotesCount":1,"text":"Minimum $50/mo spend","__typename":"Reason"},"$Tool:101231773552487870.cons.edges.0":{"node":{"type":"id","generated":false,"id":"Reason:101978469807579682","typename":"Reason"},"__typename":"ReasonEdge"},"$Tool:101231773552487870.cons":{"edges":[{"type":"id","generated":true,"id":"$Tool:101231773552487870.cons.edges.0","typename":"ReasonEdge"}],"__typename":"ReasonConnection"},"User:102074466692641530":{"id":"102074466692641530","username":"jdorfman","title":"Open Source Program Manager","companyName":"Reblaze","imageUrl":"https://img.stackshare.io/user/294762/default_58175368ad1af3d08ac50a73689428b2fad4c11b.jpg","thumbUrl":"https://img.stackshare.io/user/294762/thumb_58175368ad1af3d08ac50a73689428b2fad4c11b.jpg","displayName":"Justin Dorfman","__typename":"User"},"StackDecision:102084808861672396":{"user":{"type":"id","generated":false,"id":"User:102074466692641530","typename":"User"},"company":null,"link":null,"publicId":"102084808861672396","publishedAt":"2019-05-12T19:49:22Z","id":"102084808861672396","htmlContent":"<p>When my SSL cert <span class=\"tool\">MaxCDN</span> was expiring on my <a href=\"https://www.justindorfman.com\" rel=\"nofollow noopener\" target=\"_blank\">personal site</a> I decided it was a good time to revamp some things. Since <a href=\"https://developer.github.com/changes/2018-04-25-github-services-deprecation/\" rel=\"nofollow noopener\" target=\"_blank\">GitHub Services is depreciated</a> I can no longer have <span class=\"topic\">#CDN</span> cache purges automated among other things. So I decided on the following: <span class=\"tool\">GitHub Pages</span>, <span class=\"tool\">Netlify</span>, <span class=\"tool\">Let's Encrypt</span> and <span class=\"tool\">Jekyll</span>. Staying the same was <span class=\"tool\">Bootstrap</span>, <span class=\"tool\">jQuery</span>, <span class=\"tool\">Grunt</span> &amp; <span class=\"topic\">#GoogleFonts</span>. </p>\n\n<p>What's awesome about <span class=\"tool\">GitHub Pages</span> is that it has a <span class=\"topic\">#CDN</span> (<span class=\"tool\">Fastly</span>) built-in and anytime you push to master, it purges the cache instantaneously without you have to do anything special. <span class=\"tool\">Netlify</span> is magic, I highly recommend it to anyone using <span class=\"topic\">#StaticSiteGenerators</span>.</p>\n\n<p>For the most part, everything went smoothly. The only things I had issues with were the following:</p>\n\n<ul>\n<li>If you want to point <code>www</code> to <span class=\"tool\">GitHub Pages</span> you need to rename the repo to <code>www</code>\n</li>\n<li>If you edit something in the <code>_config.yml</code> you need to restart <code>bundle exec jekyll s</code> or changes won't show</li>\n<li>I had to disable the <span class=\"tool\">Grunt</span> <code>htmlmin</code> module. I replaced it with <a href=\"http://jch.penibelst.de/\" rel=\"nofollow noopener\" target=\"_blank\">Jekyll layout that compresses HTML</a> for <span class=\"topic\">#webperf</span> </li>\n</ul>\n\n<p>Last but certainly not least, I made a donation to <span class=\"tool\">Let's Encrypt</span>. If you use their service consider doing it too: <a href=\"https://letsencrypt.org/donate/\" rel=\"nofollow noopener\" target=\"_blank\">https://letsencrypt.org/donate/</a></p>","viewCount":208896,"upvotesCount":4,"services":[{"type":"id","generated":false,"id":"Tool:101231773403629839","typename":"Tool"},{"type":"id","generated":false,"id":"Tool:101231773708072227","typename":"Tool"},{"type":"id","generated":false,"id":"Tool:101231774569228015","typename":"Tool"},{"type":"id","generated":false,"id":"Tool:101231775437062264","typename":"Tool"},{"type":"id","generated":false,"id":"Tool:101231773892637981","typename":"Tool"},{"type":"id","generated":false,"id":"Tool:101231773885548898","typename":"Tool"},{"type":"id","generated":false,"id":"Tool:101231773849559490","typename":"Tool"},{"type":"id","generated":false,"id":"Tool:101231773775953805","typename":"Tool"},{"type":"id","generated":false,"id":"Tool:101231773552487870","typename":"Tool"}],"topics":[{"type":"id","generated":false,"id":"Topic:101433696892322442","typename":"Topic"},{"type":"id","generated":false,"id":"Topic:101433796676744597","typename":"Topic"},{"type":"id","generated":false,"id":"Topic:101231988786008643","typename":"Topic"},{"type":"id","generated":false,"id":"Topic:101433820690058143","typename":"Topic"}],"__typename":"StackDecision"},"Tool:101231773403629839":{"id":"101231773403629839","name":"MaxCDN","slug":"maxcdn","title":"Our CDN makes your site load faster!","verified":true,"imageUrl":"https://img.stackshare.io/service/14/HG2q2Oxj.png","canonicalUrl":"/maxcdn","path":"/maxcdn","votes":99,"fans":673,"stacks":1590,"following":false,"followContext":null,"__typename":"Tool","followers":{"type":"id","generated":true,"id":"$Tool:101231773403629839.followers","typename":"UserConnection"},"githubForksCount":null,"thumbRetinaUrl":"https://img.stackshare.io/service/14/thumb_retina_HG2q2Oxj.png","description":"The MaxCDN Content Delivery Network efficiently delivers your site’s static file through hundreds of servers instead of slogging through a single host. This \"smart route\" technology distributes your content to your visitors via the city closest to them.","contactEnabled":false,"contactButtonText":null,"contactFlow":{"type":"json","json":{}},"pros":{"type":"id","generated":true,"id":"$Tool:101231773403629839.pros","typename":"ReasonConnection"},"cons":{"type":"id","generated":true,"id":"$Tool:101231773403629839.cons","typename":"ReasonConnection"},"stackDecisionsWithAlternatives({\"first\":2})":{"type":"id","generated":true,"id":"$Tool:101231773403629839.stackDecisionsWithAlternatives({\"first\":2})","typename":"StackDecisionConnection"}},"Tool:101231773708072227":{"id":"101231773708072227","name":"GitHub Pages","slug":"github-pages","title":"Public webpages freely hosted and easily published.","verified":true,"imageUrl":"https://img.stackshare.io/service/683/default_5eeb660db1239eeb3f1c1f6187f2abf0f3a0500d.png","canonicalUrl":"/github-pages","path":"/github-pages","votes":1103,"fans":15262,"stacks":15979,"following":false,"followContext":null,"__typename":"Tool"},"Tool:101231775437062264":{"id":"101231775437062264","name":"Let's Encrypt","slug":"lets-encrypt","title":"A free, automated, and open Certificate Authority (CA)","verified":false,"imageUrl":"https://img.stackshare.io/service/4225/lSuJvwXU_400x400.jpg","canonicalUrl":"/lets-encrypt","path":"/lets-encrypt","votes":97,"fans":1432,"stacks":1621,"following":false,"followContext":null,"__typename":"Tool"},"Tool:101231773892637981":{"id":"101231773892637981","name":"Jekyll","slug":"jekyll","title":"Blog-aware, static site generator in Ruby","verified":false,"imageUrl":"https://img.stackshare.io/service/1114/ad968c1615d956e800fa36494314f48c.jpeg","canonicalUrl":"/jekyll","path":"/jekyll","votes":231,"fans":1676,"stacks":1521,"following":false,"followContext":null,"__typename":"Tool"},"Tool:101231773885548898":{"id":"101231773885548898","name":"Bootstrap","slug":"bootstrap","title":"Simple and flexible HTML, CSS, and JS for popular UI components and interactions","verified":false,"imageUrl":"https://img.stackshare.io/service/1101/C9QJ7V3X.png","canonicalUrl":"/bootstrap","path":"/bootstrap","votes":7653,"fans":15754,"stacks":54783,"following":false,"followContext":null,"__typename":"Tool"},"Tool:101231773849559490":{"id":"101231773849559490","name":"jQuery","slug":"jquery","title":"The Write Less, Do More, JavaScript Library.","verified":false,"imageUrl":"https://img.stackshare.io/service/1021/lxEKmMnB_400x400.jpg","canonicalUrl":"/jquery","path":"/jquery","votes":6552,"fans":72508,"stacks":180893,"following":false,"followContext":null,"__typename":"Tool"},"Tool:101231773775953805":{"id":"101231773775953805","name":"Grunt","slug":"grunt","title":"The JavaScript Task Runner","verified":false,"imageUrl":"https://img.stackshare.io/service/845/falgg2jybmhgk16y62lr.png","canonicalUrl":"/grunt","path":"/grunt","votes":697,"fans":6409,"stacks":7079,"following":false,"followContext":null,"__typename":"Tool"},"Topic:101433696892322442":{"name":"CDN","id":"101433696892322442","__typename":"Topic"},"Topic:101433796676744597":{"name":"GoogleFonts","id":"101433796676744597","__typename":"Topic"},"Topic:101231988786008643":{"name":"StaticSiteGenerators","id":"101231988786008643","__typename":"Topic"},"Topic:101433820690058143":{"name":"Webperf","id":"101433820690058143","__typename":"Topic"},"$Tool:101231773552487870.stackDecisionsWithAlternatives({\"first\":2}).edges.0":{"node":{"type":"id","generated":false,"id":"StackDecision:102084808861672396","typename":"StackDecision"},"__typename":"StackDecisionEdge"},"$Tool:101231773552487870.stackDecisionsWithAlternatives({\"first\":2})":{"edges":[{"type":"id","generated":true,"id":"$Tool:101231773552487870.stackDecisionsWithAlternatives({\"first\":2}).edges.0","typename":"StackDecisionEdge"}],"__typename":"StackDecisionConnection"},"$Tool:101231773403188549.alternativeTools({\"first\":8}).edges.3":{"node":{"type":"id","generated":false,"id":"Tool:101231773552487870","typename":"Tool"},"__typename":"ToolEdge"},"$Tool:101231773403629839.followers":{"count":553,"__typename":"UserConnection"},"Reason:101978468178396439":{"id":"101978468178396439","upvoted":false,"upvotesCount":47,"text":"Easy setup","__typename":"Reason"},"$Tool:101231773403629839.pros.edges.0":{"node":{"type":"id","generated":false,"id":"Reason:101978468178396439","typename":"Reason"},"__typename":"ReasonEdge"},"Reason:101978468178581073":{"id":"101978468178581073","upvoted":false,"upvotesCount":32,"text":"Speed to my clients","__typename":"Reason"},"$Tool:101231773403629839.pros.edges.1":{"node":{"type":"id","generated":false,"id":"Reason:101978468178581073","typename":"Reason"},"__typename":"ReasonEdge"},"Reason:101978468178608244":{"id":"101978468178608244","upvoted":false,"upvotesCount":15,"text":"Great service & Customer Support","__typename":"Reason"},"$Tool:101231773403629839.pros.edges.2":{"node":{"type":"id","generated":false,"id":"Reason:101978468178608244","typename":"Reason"},"__typename":"ReasonEdge"},"Reason:101978468184035994":{"id":"101978468184035994","upvoted":false,"upvotesCount":5,"text":"Shared and Affordable SSL","__typename":"Reason"},"$Tool:101231773403629839.pros.edges.3":{"node":{"type":"id","generated":false,"id":"Reason:101978468184035994","typename":"Reason"},"__typename":"ReasonEdge"},"$Tool:101231773403629839.pros":{"edges":[{"type":"id","generated":true,"id":"$Tool:101231773403629839.pros.edges.0","typename":"ReasonEdge"},{"type":"id","generated":true,"id":"$Tool:101231773403629839.pros.edges.1","typename":"ReasonEdge"},{"type":"id","generated":true,"id":"$Tool:101231773403629839.pros.edges.2","typename":"ReasonEdge"},{"type":"id","generated":true,"id":"$Tool:101231773403629839.pros.edges.3","typename":"ReasonEdge"}],"__typename":"ReasonConnection"},"$Tool:101231773403629839.cons":{"edges":[],"__typename":"ReasonConnection"},"$Tool:101231773403629839.stackDecisionsWithAlternatives({\"first\":2}).edges.0":{"node":{"type":"id","generated":false,"id":"StackDecision:102084808861672396","typename":"StackDecision"},"__typename":"StackDecisionEdge"},"User:101231990874733685":{"id":"101231990874733685","username":"toddhgardner","title":"President","companyName":"TrackJS","imageUrl":"https://img.stackshare.io/user/3115/default_bac35fbcb9f90ba0e300fd21ac26d4bb06720b9c.jpg","thumbUrl":"https://img.stackshare.io/user/3115/thumb_bac35fbcb9f90ba0e300fd21ac26d4bb06720b9c.jpg","displayName":"Todd Gardner","__typename":"User"},"StackDecision:101155442966067865":{"user":{"type":"id","generated":false,"id":"User:101231990874733685","typename":"User"},"company":{"type":"id","generated":true,"id":"$StackDecision:101155442966067865.company","typename":"Company"},"link":null,"publicId":"101155442966067865","publishedAt":"2018-11-29T16:39:26Z","id":"101155442966067865","htmlContent":"<p>We migrated the hosting of our CDN, which is used to serve the JavaScript Error collection agent, from <span class=\"tool\">Amazon CloudFront</span> to <span class=\"tool\">MaxCDN</span>. During our test, we found MaxCDN to be more reliable and less expensive for serving he file.</p>\n\n<p>The reports and controls were also considerably better.</p>","viewCount":52681,"upvotesCount":3,"services":[{"type":"id","generated":false,"id":"Tool:101231773403188549","typename":"Tool"},{"type":"id","generated":false,"id":"Tool:101231773403629839","typename":"Tool"}],"topics":[],"__typename":"StackDecision"},"$StackDecision:101155442966067865.company":{"imageUrl":"https://img.stackshare.io/company/1105/default_d7c0cd0aba44132869be5b1b29840f130ec1408e.jpg","thumbUrl":"https://img.stackshare.io/company/1105/thumb_d7c0cd0aba44132869be5b1b29840f130ec1408e.jpg","name":"TrackJS","path":"/companies/trackjs","features":[],"__typename":"Company"},"$Tool:101231773403629839.stackDecisionsWithAlternatives({\"first\":2}).edges.1":{"node":{"type":"id","generated":false,"id":"StackDecision:101155442966067865","typename":"StackDecision"},"__typename":"StackDecisionEdge"},"$Tool:101231773403629839.stackDecisionsWithAlternatives({\"first\":2})":{"edges":[{"type":"id","generated":true,"id":"$Tool:101231773403629839.stackDecisionsWithAlternatives({\"first\":2}).edges.0","typename":"StackDecisionEdge"},{"type":"id","generated":true,"id":"$Tool:101231773403629839.stackDecisionsWithAlternatives({\"first\":2}).edges.1","typename":"StackDecisionEdge"}],"__typename":"StackDecisionConnection"},"$Tool:101231773403188549.alternativeTools({\"first\":8}).edges.4":{"node":{"type":"id","generated":false,"id":"Tool:101231773403629839","typename":"Tool"},"__typename":"ToolEdge"},"$Tool:101231773409399220.followers":{"count":35281,"__typename":"UserConnection"},"Reason:101978468055285283":{"id":"101978468055285283","upvoted":false,"upvotesCount":592,"text":"Reliable","__typename":"Reason"},"$Tool:101231773409399220.pros.edges.0":{"node":{"type":"id","generated":false,"id":"Reason:101978468055285283","typename":"Reason"},"__typename":"ReasonEdge"},"Reason:101978468055394349":{"id":"101978468055394349","upvoted":false,"upvotesCount":493,"text":"Scalable","__typename":"Reason"},"$Tool:101231773409399220.pros.edges.1":{"node":{"type":"id","generated":false,"id":"Reason:101978468055394349","typename":"Reason"},"__typename":"ReasonEdge"},"Reason:101978468092884924":{"id":"101978468092884924","upvoted":false,"upvotesCount":458,"text":"Cheap","__typename":"Reason"},"$Tool:101231773409399220.pros.edges.2":{"node":{"type":"id","generated":false,"id":"Reason:101978468092884924","typename":"Reason"},"__typename":"ReasonEdge"},"Reason:101978468063929072":{"id":"101978468063929072","upvoted":false,"upvotesCount":329,"text":"Simple & easy","__typename":"Reason"},"$Tool:101231773409399220.pros.edges.3":{"node":{"type":"id","generated":false,"id":"Reason:101978468063929072","typename":"Reason"},"__typename":"ReasonEdge"},"Reason:101978468401584683":{"id":"101978468401584683","upvoted":false,"upvotesCount":83,"text":"Many sdks","__typename":"Reason"},"$Tool:101231773409399220.pros.edges.4":{"node":{"type":"id","generated":false,"id":"Reason:101978468401584683","typename":"Reason"},"__typename":"ReasonEdge"},"Reason:101978468092740101":{"id":"101978468092740101","upvoted":false,"upvotesCount":30,"text":"Logical","__typename":"Reason"},"$Tool:101231773409399220.pros.edges.5":{"node":{"type":"id","generated":false,"id":"Reason:101978468092740101","typename":"Reason"},"__typename":"ReasonEdge"},"Reason:101978468786952416":{"id":"101978468786952416","upvoted":false,"upvotesCount":13,"text":"Easy Setup","__typename":"Reason"},"$Tool:101231773409399220.pros.edges.6":{"node":{"type":"id","generated":false,"id":"Reason:101978468786952416","typename":"Reason"},"__typename":"ReasonEdge"},"Reason:101978468852420160":{"id":"101978468852420160","upvoted":false,"upvotesCount":11,"text":"REST API","__typename":"Reason"},"$Tool:101231773409399220.pros.edges.7":{"node":{"type":"id","generated":false,"id":"Reason:101978468852420160","typename":"Reason"},"__typename":"ReasonEdge"},"Reason:101978468245217770":{"id":"101978468245217770","upvoted":false,"upvotesCount":11,"text":"1000+ POPs","__typename":"Reason"},"$Tool:101231773409399220.pros.edges.8":{"node":{"type":"id","generated":false,"id":"Reason:101978468245217770","typename":"Reason"},"__typename":"ReasonEdge"},"Reason:101978468789275798":{"id":"101978468789275798","upvoted":false,"upvotesCount":6,"text":"Secure","__typename":"Reason"},"$Tool:101231773409399220.pros.edges.9":{"node":{"type":"id","generated":false,"id":"Reason:101978468789275798","typename":"Reason"},"__typename":"ReasonEdge"},"Reason:101978468786605404":{"id":"101978468786605404","upvoted":false,"upvotesCount":4,"text":"Easy ","__typename":"Reason"},"$Tool:101231773409399220.pros.edges.10":{"node":{"type":"id","generated":false,"id":"Reason:101978468786605404","typename":"Reason"},"__typename":"ReasonEdge"},"Reason:101978469947279334":{"id":"101978469947279334","upvoted":false,"upvotesCount":4,"text":"Plug and play","__typename":"Reason"},"$Tool:101231773409399220.pros.edges.11":{"node":{"type":"id","generated":false,"id":"Reason:101978469947279334","typename":"Reason"},"__typename":"ReasonEdge"},"Reason:101978469271233331":{"id":"101978469271233331","upvoted":false,"upvotesCount":3,"text":"Web UI for uploading files","__typename":"Reason"},"$Tool:101231773409399220.pros.edges.12":{"node":{"type":"id","generated":false,"id":"Reason:101978469271233331","typename":"Reason"},"__typename":"ReasonEdge"},"Reason:102287186252050980":{"id":"102287186252050980","upvoted":false,"upvotesCount":2,"text":"Flexible","__typename":"Reason"},"$Tool:101231773409399220.pros.edges.13":{"node":{"type":"id","generated":false,"id":"Reason:102287186252050980","typename":"Reason"},"__typename":"ReasonEdge"},"Reason:101978469947470114":{"id":"101978469947470114","upvoted":false,"upvotesCount":2,"text":"GDPR ready","__typename":"Reason"},"$Tool:101231773409399220.pros.edges.14":{"node":{"type":"id","generated":false,"id":"Reason:101978469947470114","typename":"Reason"},"__typename":"ReasonEdge"},"Reason:102287188253158383":{"id":"102287188253158383","upvoted":false,"upvotesCount":2,"text":"Faster on response","__typename":"Reason"},"$Tool:101231773409399220.pros.edges.15":{"node":{"type":"id","generated":false,"id":"Reason:102287188253158383","typename":"Reason"},"__typename":"ReasonEdge"},"Reason:101978469271074714":{"id":"101978469271074714","upvoted":false,"upvotesCount":1,"text":"Easy integration with CloudFront","__typename":"Reason"},"$Tool:101231773409399220.pros.edges.16":{"node":{"type":"id","generated":false,"id":"Reason:101978469271074714","typename":"Reason"},"__typename":"ReasonEdge"},"Reason:101978468831340216":{"id":"101978468831340216","upvoted":false,"upvotesCount":1,"text":"Easy to use","__typename":"Reason"},"$Tool:101231773409399220.pros.edges.17":{"node":{"type":"id","generated":false,"id":"Reason:101978468831340216","typename":"Reason"},"__typename":"ReasonEdge"},"Reason:102287198570906993":{"id":"102287198570906993","upvoted":false,"upvotesCount":1,"text":"Plug-gable","__typename":"Reason"},"$Tool:101231773409399220.pros.edges.18":{"node":{"type":"id","generated":false,"id":"Reason:102287198570906993","typename":"Reason"},"__typename":"ReasonEdge"},"$Tool:101231773409399220.pros":{"edges":[{"type":"id","generated":true,"id":"$Tool:101231773409399220.pros.edges.0","typename":"ReasonEdge"},{"type":"id","generated":true,"id":"$Tool:101231773409399220.pros.edges.1","typename":"ReasonEdge"},{"type":"id","generated":true,"id":"$Tool:101231773409399220.pros.edges.2","typename":"ReasonEdge"},{"type":"id","generated":true,"id":"$Tool:101231773409399220.pros.edges.3","typename":"ReasonEdge"},{"type":"id","generated":true,"id":"$Tool:101231773409399220.pros.edges.4","typename":"ReasonEdge"},{"type":"id","generated":true,"id":"$Tool:101231773409399220.pros.edges.5","typename":"ReasonEdge"},{"type":"id","generated":true,"id":"$Tool:101231773409399220.pros.edges.6","typename":"ReasonEdge"},{"type":"id","generated":true,"id":"$Tool:101231773409399220.pros.edges.7","typename":"ReasonEdge"},{"type":"id","generated":true,"id":"$Tool:101231773409399220.pros.edges.8","typename":"ReasonEdge"},{"type":"id","generated":true,"id":"$Tool:101231773409399220.pros.edges.9","typename":"ReasonEdge"},{"type":"id","generated":true,"id":"$Tool:101231773409399220.pros.edges.10","typename":"ReasonEdge"},{"type":"id","generated":true,"id":"$Tool:101231773409399220.pros.edges.11","typename":"ReasonEdge"},{"type":"id","generated":true,"id":"$Tool:101231773409399220.pros.edges.12","typename":"ReasonEdge"},{"type":"id","generated":true,"id":"$Tool:101231773409399220.pros.edges.13","typename":"ReasonEdge"},{"type":"id","generated":true,"id":"$Tool:101231773409399220.pros.edges.14","typename":"ReasonEdge"},{"type":"id","generated":true,"id":"$Tool:101231773409399220.pros.edges.15","typename":"ReasonEdge"},{"type":"id","generated":true,"id":"$Tool:101231773409399220.pros.edges.16","typename":"ReasonEdge"},{"type":"id","generated":true,"id":"$Tool:101231773409399220.pros.edges.17","typename":"ReasonEdge"},{"type":"id","generated":true,"id":"$Tool:101231773409399220.pros.edges.18","typename":"ReasonEdge"}],"__typename":"ReasonConnection"},"Reason:101978469750611873":{"id":"101978469750611873","upvoted":false,"upvotesCount":7,"text":"Permissions take some time to get right","__typename":"Reason"},"$Tool:101231773409399220.cons.edges.0":{"node":{"type":"id","generated":false,"id":"Reason:101978469750611873","typename":"Reason"},"__typename":"ReasonEdge"},"Reason:101978469750363619":{"id":"101978469750363619","upvoted":false,"upvotesCount":6,"text":"Takes time/work to organize buckets & folders properly","__typename":"Reason"},"$Tool:101231773409399220.cons.edges.1":{"node":{"type":"id","generated":false,"id":"Reason:101978469750363619","typename":"Reason"},"__typename":"ReasonEdge"},"Reason:103408274174765106":{"id":"103408274174765106","upvoted":false,"upvotesCount":5,"text":"Requires a credit card","__typename":"Reason"},"$Tool:101231773409399220.cons.edges.2":{"node":{"type":"id","generated":false,"id":"Reason:103408274174765106","typename":"Reason"},"__typename":"ReasonEdge"},"Reason:103408274715685525":{"id":"103408274715685525","upvoted":false,"upvotesCount":3,"text":"Complex to set up","__typename":"Reason"},"$Tool:101231773409399220.cons.edges.3":{"node":{"type":"id","generated":false,"id":"Reason:103408274715685525","typename":"Reason"},"__typename":"ReasonEdge"},"$Tool:101231773409399220.cons":{"edges":[{"type":"id","generated":true,"id":"$Tool:101231773409399220.cons.edges.0","typename":"ReasonEdge"},{"type":"id","generated":true,"id":"$Tool:101231773409399220.cons.edges.1","typename":"ReasonEdge"},{"type":"id","generated":true,"id":"$Tool:101231773409399220.cons.edges.2","typename":"ReasonEdge"},{"type":"id","generated":true,"id":"$Tool:101231773409399220.cons.edges.3","typename":"ReasonEdge"}],"__typename":"ReasonConnection"},"User:103065467604707715":{"id":"103065467604707715","username":"SinghAsDev","title":"Tech Lead, Big Data Platform","companyName":"Pinterest","imageUrl":"https://img.stackshare.io/user/316861/default_820b90aa6cea6df9a57a5d0cae91bf79fc99eaef.png","thumbUrl":"https://img.stackshare.io/user/316861/thumb_820b90aa6cea6df9a57a5d0cae91bf79fc99eaef.png","displayName":"Ashish Singh","__typename":"User"},"StackDecision:103207251043472057":{"user":{"type":"id","generated":false,"id":"User:103065467604707715","typename":"User"},"company":{"type":"id","generated":true,"id":"$StackDecision:103207251043472057.company","typename":"Company"},"link":{"type":"id","generated":true,"id":"$StackDecision:103207251043472057.link","typename":"Link"},"publicId":"103207251043472057","publishedAt":"2019-11-27T01:21:12Z","id":"103207251043472057","htmlContent":"<p>To provide employees with the critical need of interactive querying, we’ve worked with <span class=\"tool\">Presto</span>, an open-source distributed SQL query engine, over the years. Operating Presto at Pinterest’s scale has involved resolving quite a few challenges like, supporting deeply nested and huge thrift schemas, slow/ bad worker detection and remediation, auto-scaling cluster, graceful cluster shutdown and impersonation support for ldap authenticator.</p>\n\n<p>Our infrastructure is built on top of <span class=\"tool\">Amazon EC2</span> and we leverage <span class=\"tool\">Amazon S3</span> for storing our data. This separates compute and storage layers, and allows multiple compute clusters to share the S3 data.</p>\n\n<p>We have hundreds of petabytes of data and tens of thousands of <span class=\"tool\">Apache Hive</span> tables. Our Presto clusters are comprised of a fleet of 450 r4.8xl EC2 instances. Presto clusters together have over 100 TBs of memory and 14K vcpu cores. Within Pinterest, we have close to more than 1,000 monthly active users (out of total 1,600+ Pinterest employees) using Presto, who run about 400K queries on these clusters per month.</p>\n\n<p>Each query submitted to Presto cluster is logged to a <span class=\"tool\">Kafka</span> topic via Singer. Singer is a logging agent built at Pinterest and we talked about it in a <a href=\"https://medium.com/pinterest-engineering/scalable-and-reliable-data-ingestion-at-pinterest-b921c2ee8754\" rel=\"nofollow noopener\" target=\"_blank\">previous post</a>. Each query is logged when it is submitted and when it finishes. When a Presto cluster crashes, we will have query submitted events without corresponding query finished events. These events enable us to capture the effect of cluster crashes over time.</p>\n\n<p>Each Presto cluster at Pinterest has workers on a mix of dedicated AWS EC2 instances and <span class=\"tool\">Kubernetes</span> pods. Kubernetes platform provides us with the capability to add and remove workers from a Presto cluster very quickly. The best-case latency on bringing up a new worker on Kubernetes is less than a minute. However, when the Kubernetes cluster itself is out of resources and needs to scale up, it can take up to ten minutes. Some other advantages of deploying on Kubernetes platform is that our Presto deployment becomes agnostic of cloud vendor, instance types, OS, etc.</p>\n\n<p><span class=\"topic\">#BigData</span> <span class=\"topic\">#AWS</span> <span class=\"topic\">#DataScience</span> <span class=\"topic\">#DataEngineering</span> </p>","viewCount":1227763,"upvotesCount":38,"services":[{"type":"id","generated":false,"id":"Tool:101231774217017036","typename":"Tool"},{"type":"id","generated":false,"id":"Tool:101231774501522052","typename":"Tool"},{"type":"id","generated":false,"id":"Tool:101231773405612798","typename":"Tool"},{"type":"id","generated":false,"id":"Tool:101231773409399220","typename":"Tool"},{"type":"id","generated":false,"id":"Tool:101231773865214260","typename":"Tool"},{"type":"id","generated":false,"id":"Tool:101231774206661614","typename":"Tool"}],"topics":[{"type":"id","generated":false,"id":"Topic:101231988991858530","typename":"Topic"},{"type":"id","generated":false,"id":"Topic:103207288684570558","typename":"Topic"},{"type":"id","generated":false,"id":"Topic:101231988867646475","typename":"Topic"},{"type":"id","generated":false,"id":"Topic:101231988990664620","typename":"Topic"}],"__typename":"StackDecision"},"$StackDecision:103207251043472057.company":{"imageUrl":"https://img.stackshare.io/company/260/default_c077fc04bb219001b7a1ab10f90ebcdb00c143a9.png","thumbUrl":"https://img.stackshare.io/company/260/thumb_c077fc04bb219001b7a1ab10f90ebcdb00c143a9.png","name":"Pinterest","path":"/companies/pinterest","features":[],"__typename":"Company"},"$StackDecision:103207251043472057.link":{"url":"https://medium.com/pinterest-engineering/presto-at-pinterest-a8bda7515e52","title":"Presto at Pinterest - Pinterest Engineering Blog - Medium","__typename":"Link"},"Tool:101231774217017036":{"id":"101231774217017036","name":"Apache Hive","slug":"apache-hive","title":"Data Warehouse Software for Reading, Writing, and Managing Large Datasets","verified":false,"imageUrl":"https://img.stackshare.io/service/1911/27eb4217dfd5cb2d579cb56bbcc7b290_400x400.jpeg","canonicalUrl":"/apache-hive","path":"/apache-hive","votes":0,"fans":561,"stacks":418,"following":false,"followContext":null,"__typename":"Tool"},"Tool:101231774501522052":{"id":"101231774501522052","name":"Presto","slug":"presto","title":"Distributed SQL Query Engine for Big Data","verified":true,"imageUrl":"https://img.stackshare.io/service/2606/default_9c42299fc673a12eed0ad20cb7f5c1fd4ef5c80f.png","canonicalUrl":"/presto","path":"/presto","votes":66,"fans":1062,"stacks":378,"following":false,"followContext":null,"__typename":"Tool"},"Tool:101231773405612798":{"id":"101231773405612798","name":"Amazon EC2","slug":"amazon-ec2","title":"Scalable, pay-as-you-go compute capacity in the cloud","verified":false,"imageUrl":"https://img.stackshare.io/service/18/amazon-ec2.png","canonicalUrl":"/amazon-ec2","path":"/amazon-ec2","votes":2547,"fans":39415,"stacks":44679,"following":false,"followContext":null,"__typename":"Tool"},"Tool:101231773865214260":{"id":"101231773865214260","name":"Kafka","slug":"kafka","title":"Distributed, fault tolerant, high throughput pub-sub messaging system","verified":false,"imageUrl":"https://img.stackshare.io/service/1063/kazUJooF_400x400.jpg","canonicalUrl":"/kafka","path":"/kafka","votes":596,"fans":22171,"stacks":19910,"following":false,"followContext":null,"__typename":"Tool"},"Tool:101231774206661614":{"id":"101231774206661614","name":"Kubernetes","slug":"kubernetes","title":"Manage a cluster of Linux containers as a single system to accelerate Dev and simplify Ops","verified":false,"imageUrl":"https://img.stackshare.io/service/1885/21_d3cvM.png","canonicalUrl":"/kubernetes","path":"/kubernetes","votes":639,"fans":51002,"stacks":49953,"following":false,"followContext":null,"__typename":"Tool"},"Topic:101231988991858530":{"name":"DataScience","id":"101231988991858530","__typename":"Topic"},"Topic:103207288684570558":{"name":"DataEngineering","id":"103207288684570558","__typename":"Topic"},"Topic:101231988867646475":{"name":"AWS","id":"101231988867646475","__typename":"Topic"},"Topic:101231988990664620":{"name":"BigData","id":"101231988990664620","__typename":"Topic"},"$Tool:101231773409399220.stackDecisionsWithAlternatives({\"first\":2}).edges.0":{"node":{"type":"id","generated":false,"id":"StackDecision:103207251043472057","typename":"StackDecision"},"__typename":"StackDecisionEdge"},"User:104042388677869390":{"id":"104042388677869390","username":"zimoony","title":"Senior Fullstack Developer","companyName":"QUANTUSflow Software GmbH","imageUrl":"https://img.stackshare.io/user/535402/default_002baf8a5098e7badd949774288e37e836a64e0f.jpeg","thumbUrl":"https://img.stackshare.io/user/535402/thumb_002baf8a5098e7badd949774288e37e836a64e0f.jpeg","displayName":"Simon Reymann","__typename":"User"},"StackDecision:104069607668616391":{"user":{"type":"id","generated":false,"id":"User:104042388677869390","typename":"User"},"company":{"type":"id","generated":true,"id":"$StackDecision:104069607668616391.company","typename":"Company"},"link":null,"publicId":"104069607668616391","publishedAt":"2020-04-27T08:29:50Z","id":"104069607668616391","htmlContent":"<p>Our whole DevOps stack consists of the following tools:</p>\n\n<ul>\n<li><span class=\"tool\">GitHub</span> (incl. <span class=\"tool\">GitHub Pages</span>/<span class=\"tool\">Markdown</span> for Documentation, GettingStarted and HowTo's) for collaborative review and code management tool</li>\n<li>Respectively <span class=\"tool\">Git</span> as revision control system</li>\n<li><span class=\"tool\">SourceTree</span> as <span class=\"tool\">Git</span> GUI</li>\n<li><span class=\"tool\">Visual Studio Code</span> as IDE</li>\n<li><span class=\"tool\">CircleCI</span> for continuous integration (automatize development process)</li>\n<li><span class=\"tool\">Prettier</span> / <span class=\"tool\">TSLint</span> / <span class=\"tool\">ESLint</span> as code linter</li>\n<li><span class=\"tool\">SonarQube</span> as quality gate</li>\n<li><span class=\"tool\">Docker</span> as container management (incl. <span class=\"tool\">Docker Compose</span> for multi-container application management)</li>\n<li><span class=\"tool\">VirtualBox</span> for operating system simulation tests</li>\n<li><span class=\"tool\">Kubernetes</span> as cluster management for docker containers</li>\n<li><span class=\"tool\">Heroku</span> for deploying in test environments</li>\n<li><span class=\"tool\">nginx</span> as web server (preferably used as facade server in production environment)</li>\n<li><span class=\"tool\">SSLMate</span> (using <span class=\"tool\">OpenSSL</span>) for certificate management</li>\n<li><span class=\"tool\">Amazon EC2</span> (incl. <span class=\"tool\">Amazon S3</span>) for deploying in stage (production-like) and production environments</li>\n<li><span class=\"tool\">PostgreSQL</span> as preferred database system</li>\n<li><span class=\"tool\">Redis</span> as preferred in-memory database/store (great for caching)</li>\n</ul>\n\n<p>The main reason we have chosen <span class=\"tool\">Kubernetes</span> over <span class=\"tool\">Docker Swarm</span> is related to the following artifacts:</p>\n\n<ul>\n<li>\n<strong>Key features:</strong> Easy and flexible installation, Clear dashboard, Great scaling operations, Monitoring is an integral part, Great load balancing concepts, Monitors the condition and ensures compensation in the event of failure.</li>\n<li>\n<strong>Applications:</strong> An application can be deployed using a combination of pods, deployments, and services (or micro-services).</li>\n<li>\n<strong>Functionality:</strong> Kubernetes as a complex installation and setup process, but it not as limited as Docker Swarm.</li>\n<li>\n<strong>Monitoring:</strong> It supports multiple versions of logging and monitoring when the services are deployed within the cluster (Elasticsearch/Kibana (ELK), Heapster/Grafana, Sysdig cloud integration).</li>\n<li>\n<strong>Scalability:</strong> All-in-one framework for distributed systems.</li>\n<li>\n<strong>Other Benefits:</strong> Kubernetes is backed by the Cloud Native Computing Foundation (CNCF), huge community among container orchestration tools, it is an open source and modular tool that works with any OS.</li>\n</ul>","viewCount":5054131,"upvotesCount":29,"services":[{"type":"id","generated":false,"id":"Tool:101231774758913738","typename":"Tool"},{"type":"id","generated":false,"id":"Tool:101231774572660226","typename":"Tool"},{"type":"id","generated":false,"id":"Tool:101231773861864225","typename":"Tool"},{"type":"id","generated":false,"id":"Tool:101231774802095562","typename":"Tool"},{"type":"id","generated":false,"id":"Tool:101231773854768982","typename":"Tool"},{"type":"id","generated":false,"id":"Tool:101231773853533403","typename":"Tool"},{"type":"id","generated":false,"id":"Tool:101231773409399220","typename":"Tool"},{"type":"id","generated":false,"id":"Tool:101231773405612798","typename":"Tool"},{"type":"id","generated":false,"id":"Tool:101231773470689784","typename":"Tool"},{"type":"id","generated":false,"id":"Tool:101231774206661614","typename":"Tool"},{"type":"id","generated":false,"id":"Tool:101231773746758442","typename":"Tool"},{"type":"id","generated":false,"id":"Tool:101231774781423216","typename":"Tool"},{"type":"id","generated":false,"id":"Tool:101231773669807419","typename":"Tool"},{"type":"id","generated":false,"id":"Tool:101231774515773093","typename":"Tool"},{"type":"id","generated":false,"id":"Tool:101231774903366255","typename":"Tool"},{"type":"id","generated":false,"id":"Tool:101231776199438193","typename":"Tool"},{"type":"id","generated":false,"id":"Tool:101231776970439629","typename":"Tool"},{"type":"id","generated":false,"id":"Tool:101231773501041914","typename":"Tool"},{"type":"id","generated":false,"id":"Tool:101231775423888689","typename":"Tool"},{"type":"id","generated":false,"id":"Tool:101231774092760028","typename":"Tool"},{"type":"id","generated":false,"id":"Tool:101231773858546548","typename":"Tool"},{"type":"id","generated":false,"id":"Tool:101231773905830618","typename":"Tool"},{"type":"id","generated":false,"id":"Tool:101231773708072227","typename":"Tool"},{"type":"id","generated":false,"id":"Tool:101231773410696721","typename":"Tool"}],"topics":[],"__typename":"StackDecision"},"$StackDecision:104069607668616391.company":{"imageUrl":"https://img.stackshare.io/company/161697/default_08547f3b95ad3a1f312db050bc6e0a5460ff1969.png","thumbUrl":"https://img.stackshare.io/company/161697/thumb_08547f3b95ad3a1f312db050bc6e0a5460ff1969.png","name":"QUANTUSflow Software GmbH","path":"/companies/quantusflow-software-gmbh","features":[],"__typename":"Company"},"Tool:101231774758913738":{"id":"101231774758913738","name":"OpenSSL","slug":"openssl","title":"Full-featured toolkit for the Transport Layer Security and Secure Sockets Layer protocols","verified":false,"imageUrl":"https://img.stackshare.io/service/3091/preview.png","canonicalUrl":"/openssl","path":"/openssl","votes":0,"fans":7277,"stacks":11593,"following":false,"followContext":null,"__typename":"Tool"},"Tool:101231774572660226":{"id":"101231774572660226","name":"SSLMate","slug":"sslmate","title":"Buy SSL Certificates from the Command Line. Automate your renewals.","verified":false,"imageUrl":"https://img.stackshare.io/service/2752/i7GmJlTT.png","canonicalUrl":"/sslmate","path":"/sslmate","votes":2,"fans":24,"stacks":11,"following":false,"followContext":null,"__typename":"Tool"},"Tool:101231773861864225":{"id":"101231773861864225","name":"NGINX","slug":"nginx","title":"A high performance free open source web server powering busiest sites on the Internet.","verified":true,"imageUrl":"https://img.stackshare.io/service/1052/YMxUfyWf.png","canonicalUrl":"/nginx","path":"/nginx","votes":5491,"fans":64846,"stacks":104948,"following":false,"followContext":null,"__typename":"Tool"},"Tool:101231774802095562":{"id":"101231774802095562","name":"Docker Swarm","slug":"docker-swarm","title":"Native clustering for Docker. Turn a pool of Docker hosts into a single, virtual host.","verified":true,"imageUrl":"https://img.stackshare.io/service/3177/preview.png","canonicalUrl":"/docker-swarm","path":"/docker-swarm","votes":268,"fans":1152,"stacks":752,"following":false,"followContext":null,"__typename":"Tool"},"Tool:101231773854768982":{"id":"101231773854768982","name":"Redis","slug":"redis","title":"Open source (BSD licensed), in-memory data structure store","verified":false,"imageUrl":"https://img.stackshare.io/service/1031/default_cbce472cd134adc6688572f999e9122b9657d4ba.png","canonicalUrl":"/redis","path":"/redis","votes":3866,"fans":47837,"stacks":52315,"following":false,"followContext":null,"__typename":"Tool"},"Tool:101231773853533403":{"id":"101231773853533403","name":"PostgreSQL","slug":"postgresql","title":"A powerful, open source object-relational database system","verified":false,"imageUrl":"https://img.stackshare.io/service/1028/ASOhU5xJ.png","canonicalUrl":"/postgresql","path":"/postgresql","votes":3467,"fans":80046,"stacks":83748,"following":false,"followContext":null,"__typename":"Tool"},"Tool:101231773470689784":{"id":"101231773470689784","name":"Heroku","slug":"heroku","title":"Build, deliver, monitor and scale web apps and APIs with a trail blazing developer experience.","verified":true,"imageUrl":"https://img.stackshare.io/service/133/3wgIDj3j.png","canonicalUrl":"/heroku","path":"/heroku","votes":3210,"fans":23138,"stacks":23421,"following":false,"followContext":null,"__typename":"Tool"},"Tool:101231773746758442":{"id":"101231773746758442","name":"VirtualBox","slug":"virtualbox","title":"Run nearly any operating system on a single machine and to freely switch between OS instances running simultaneously","verified":false,"imageUrl":"https://img.stackshare.io/service/774/vbox_94px.png","canonicalUrl":"/virtualbox","path":"/virtualbox","votes":1128,"fans":27051,"stacks":27360,"following":false,"followContext":null,"__typename":"Tool"},"Tool:101231774781423216":{"id":"101231774781423216","name":"Docker Compose","slug":"docker-compose","title":"Define and run multi-container applications with Docker","verified":true,"imageUrl":"https://img.stackshare.io/service/3136/docker-compose.png","canonicalUrl":"/docker-compose","path":"/docker-compose","votes":501,"fans":17601,"stacks":18544,"following":false,"followContext":null,"__typename":"Tool"},"Tool:101231773669807419":{"id":"101231773669807419","name":"Docker","slug":"docker","title":"Enterprise Container Platform for High-Velocity Innovation.","verified":true,"imageUrl":"https://img.stackshare.io/service/586/n4u37v9t_400x400.png","canonicalUrl":"/docker","path":"/docker","votes":3825,"fans":136543,"stacks":151553,"following":false,"followContext":null,"__typename":"Tool"},"Tool:101231774515773093":{"id":"101231774515773093","name":"SonarQube","slug":"sonarqube","title":"Continuous Code Quality","verified":false,"imageUrl":"https://img.stackshare.io/service/2638/zIVhxKyn_400x400.png","canonicalUrl":"/sonarqube","path":"/sonarqube","votes":49,"fans":2251,"stacks":1568,"following":false,"followContext":null,"__typename":"Tool"},"Tool:101231774903366255":{"id":"101231774903366255","name":"ESLint","slug":"eslint","title":"The fully pluggable JavaScript code quality tool","verified":false,"imageUrl":"https://img.stackshare.io/service/3337/Q4L7Jncy.jpg","canonicalUrl":"/eslint","path":"/eslint","votes":28,"fans":14802,"stacks":21412,"following":false,"followContext":null,"__typename":"Tool"},"Tool:101231776199438193":{"id":"101231776199438193","name":"TSLint","slug":"tslint","title":"An extensible linter for the TypeScript language","verified":false,"imageUrl":"https://img.stackshare.io/service/5561/303157.png","canonicalUrl":"/tslint","path":"/tslint","votes":0,"fans":387,"stacks":1914,"following":false,"followContext":null,"__typename":"Tool"},"Tool:101231776970439629":{"id":"101231776970439629","name":"Prettier","slug":"prettier","title":"Prettier is an opinionated code formatter. ","verified":false,"imageUrl":"https://img.stackshare.io/service/7035/default_66f265943abed56bcdbfca1c866a4261b1fbb063.jpg","canonicalUrl":"/prettier","path":"/prettier","votes":7,"fans":1210,"stacks":4352,"following":false,"followContext":null,"__typename":"Tool"},"Tool:101231773501041914":{"id":"101231773501041914","name":"CircleCI","slug":"circleci","title":"Automate your development process quickly, safely, and at scale","verified":true,"imageUrl":"https://img.stackshare.io/service/190/CvqrSSFs_400x400.jpg","canonicalUrl":"/circleci","path":"/circleci","votes":962,"fans":8336,"stacks":10708,"following":false,"followContext":null,"__typename":"Tool"},"Tool:101231774092760028":{"id":"101231774092760028","name":"SourceTree","slug":"sourcetree","title":"A free Git GUI client for Windows and macOS","verified":false,"imageUrl":"https://img.stackshare.io/service/1599/sourcetree.png","canonicalUrl":"/sourcetree","path":"/sourcetree","votes":728,"fans":9019,"stacks":9432,"following":false,"followContext":null,"__typename":"Tool"},"Tool:101231773858546548":{"id":"101231773858546548","name":"Git","slug":"git","title":"Fast, scalable, distributed revision control system","verified":false,"imageUrl":"https://img.stackshare.io/service/1046/git.png","canonicalUrl":"/git","path":"/git","votes":6591,"fans":171297,"stacks":172739,"following":false,"followContext":null,"__typename":"Tool"},"Tool:101231773905830618":{"id":"101231773905830618","name":"Markdown","slug":"markdown","title":"Text-to-HTML conversion tool/syntax for web writers, by John Gruber","verified":false,"imageUrl":"https://img.stackshare.io/service/1147/markdown.png","canonicalUrl":"/markdown","path":"/markdown","votes":961,"fans":17457,"stacks":18504,"following":false,"followContext":null,"__typename":"Tool"},"$Tool:101231773409399220.stackDecisionsWithAlternatives({\"first\":2}).edges.1":{"node":{"type":"id","generated":false,"id":"StackDecision:104069607668616391","typename":"StackDecision"},"__typename":"StackDecisionEdge"},"$Tool:101231773409399220.stackDecisionsWithAlternatives({\"first\":2})":{"edges":[{"type":"id","generated":true,"id":"$Tool:101231773409399220.stackDecisionsWithAlternatives({\"first\":2}).edges.0","typename":"StackDecisionEdge"},{"type":"id","generated":true,"id":"$Tool:101231773409399220.stackDecisionsWithAlternatives({\"first\":2}).edges.1","typename":"StackDecisionEdge"}],"__typename":"StackDecisionConnection"},"$Tool:101231773403188549.alternativeTools({\"first\":8}).edges.5":{"node":{"type":"id","generated":false,"id":"Tool:101231773409399220","typename":"Tool"},"__typename":"ToolEdge"},"Tool:101231776164003250":{"id":"101231776164003250","path":"/azure-cdn","slug":"azure-cdn","title":"A global CDN solution for delivering high-bandwidth content","votes":1,"following":false,"followers":{"type":"id","generated":true,"id":"$Tool:101231776164003250.followers","typename":"UserConnection"},"stacks":57,"githubForksCount":null,"imageUrl":"https://img.stackshare.io/service/5512/azure-cdn.png","thumbRetinaUrl":"https://img.stackshare.io/service/5512/thumb_retina_azure-cdn.png","name":"Azure CDN","description":"It lets you reduce load times, save bandwidth, and speed responsiveness—whether you’re developing or managing websites or mobile apps, or encoding and distributing streaming media, gaming software, firmware updates, or IoT endpoints.","contactEnabled":false,"contactButtonText":null,"contactFlow":{"type":"json","json":{}},"pros":{"type":"id","generated":true,"id":"$Tool:101231776164003250.pros","typename":"ReasonConnection"},"cons":{"type":"id","generated":true,"id":"$Tool:101231776164003250.cons","typename":"ReasonConnection"},"stackDecisionsWithAlternatives({\"first\":2})":{"type":"id","generated":true,"id":"$Tool:101231776164003250.stackDecisionsWithAlternatives({\"first\":2})","typename":"StackDecisionConnection"},"__typename":"Tool"},"$Tool:101231776164003250.followers":{"count":82,"__typename":"UserConnection"},"Reason:105023577994306814":{"id":"105023577994306814","upvoted":false,"upvotesCount":1,"text":"Low Latency","__typename":"Reason"},"$Tool:101231776164003250.pros.edges.0":{"node":{"type":"id","generated":false,"id":"Reason:105023577994306814","typename":"Reason"},"__typename":"ReasonEdge"},"$Tool:101231776164003250.pros":{"edges":[{"type":"id","generated":true,"id":"$Tool:101231776164003250.pros.edges.0","typename":"ReasonEdge"}],"__typename":"ReasonConnection"},"$Tool:101231776164003250.cons":{"edges":[],"__typename":"ReasonConnection"},"$Tool:101231776164003250.stackDecisionsWithAlternatives({\"first\":2})":{"edges":[],"__typename":"StackDecisionConnection"},"$Tool:101231773403188549.alternativeTools({\"first\":8}).edges.6":{"node":{"type":"id","generated":false,"id":"Tool:101231776164003250","typename":"Tool"},"__typename":"ToolEdge"},"Tool:101231773404723186":{"id":"101231773404723186","path":"/incapsula","slug":"incapsula","title":"Cloud-based service that makes websites safer, faster and more reliable. ","votes":5,"following":false,"followers":{"type":"id","generated":true,"id":"$Tool:101231773404723186.followers","typename":"UserConnection"},"stacks":1341,"githubForksCount":0,"imageUrl":"https://img.stackshare.io/service/16/pmMygGUP.jpg","thumbRetinaUrl":"https://img.stackshare.io/service/16/thumb_retina_pmMygGUP.jpg","name":"Incapsula","description":"Through an application-aware, global content delivery network (CDN), Incapsula provides any website and web application with best-of-breed security, DDoS protection, load balancing and failover solutions.","contactEnabled":false,"contactButtonText":null,"contactFlow":{"type":"json","json":{}},"pros":{"type":"id","generated":true,"id":"$Tool:101231773404723186.pros","typename":"ReasonConnection"},"cons":{"type":"id","generated":true,"id":"$Tool:101231773404723186.cons","typename":"ReasonConnection"},"stackDecisionsWithAlternatives({\"first\":2})":{"type":"id","generated":true,"id":"$Tool:101231773404723186.stackDecisionsWithAlternatives({\"first\":2})","typename":"StackDecisionConnection"},"__typename":"Tool"},"$Tool:101231773404723186.followers":{"count":68,"__typename":"UserConnection"},"Reason:101978469885220255":{"id":"101978469885220255","upvoted":false,"upvotesCount":5,"text":"Best of them","__typename":"Reason"},"$Tool:101231773404723186.pros.edges.0":{"node":{"type":"id","generated":false,"id":"Reason:101978469885220255","typename":"Reason"},"__typename":"ReasonEdge"},"$Tool:101231773404723186.pros":{"edges":[{"type":"id","generated":true,"id":"$Tool:101231773404723186.pros.edges.0","typename":"ReasonEdge"}],"__typename":"ReasonConnection"},"$Tool:101231773404723186.cons":{"edges":[],"__typename":"ReasonConnection"},"$Tool:101231773404723186.stackDecisionsWithAlternatives({\"first\":2})":{"edges":[],"__typename":"StackDecisionConnection"},"$Tool:101231773403188549.alternativeTools({\"first\":8}).edges.7":{"node":{"type":"id","generated":false,"id":"Tool:101231773404723186","typename":"Tool"},"__typename":"ToolEdge"}}</script> <!-- glamorIds: 136 --> <script type="application/json" id="ToolAlternatives-glamor-4fc15ef7-7e62-4d15-9ed3-8f2cfea81f59">["1htug8r","1yodi52","iepywa","x5hg3h","u0iaox","9ilv8v","f3khu","1ag7ge9","ld8qhm","11b98zt","1cylxxa","19r489t","1mjw833","a5x1lt","1m5j888","4bpmfq","1pvkxrw","1g92dqh","1x2bey4","1cs0rzs","1j0qgmo","eemya1","3dgua6","1guve57","12alag6","81jah4","12i35kv","kxs423","z9c3fl","i52n91","13sfqhu","1xexurq","12llqor","69zjs9","8a04gk","1m38k02","162qu2y","p797gu","jyk0kg","4hck59","1drwozb","gbti5j","1ahj942","1an0suy","1dgfc7p","14pk3xx","1o4togz","12257h","np1rfd","1mlbi0l","1cda8k4","2an9kq","5x5cr6","rsz8c","4gnhqq","1v4wqws","7c9av6","16s8o6z","6nrkpz","1pwtf47","1iqua1m","1ob9em9","1mpii3w","uw1ldh","xkasvz","atv6j6","1m8tyev","1vf0ygt","utnqcw","ds0hbm","dg4ww9","z9ms26","6uh2e7","t68yd0","1rz3855","i6njnm","1dp4k20","ztg526","1srb7t4","1j2w1cg","1b2ktnx","13nf4of","xd3exe","n746ki","1wr1kub","1nxoxgf","mtutfo","1krun48","z63j1n","1puyxnn","13u3lpy","em9idi","guqgrw","41bx4t","83t7xw","m7giud","1to1q1s","zwwro1","1ps7r35","1w2c3xd","13hey0t","ua0sjh","8qpfeu","kb8or3","1d3wilq","ljm4wn","mwikcm","1jltg37","1489hth","8wh4b7","pltn6z","1hhgtx3","rpzmwi","5f7045","3k44bn","1qckosq","1a4uubp","q4ncy","1mj0hbk","1dnnpo5","ubpjqb","1erkkk4","a55l86","usifiy","6t66tf","1x4ysa3","1bn5mmw","1dnwvu3","1v4bhi8","6wyd29","19dpmz","v6oua5","16r6zz5","f2odf3","1m02by6","gpa5xw"]</script> <style>@-webkit-keyframes animation_1htug8r{to{transform:rotate(360deg);-webkit-transform:rotate(360deg);}}@-moz-keyframes animation_1htug8r{to{transform:rotate(360deg);-webkit-transform:rotate(360deg);}}@-o-keyframes animation_1htug8r{to{transform:rotate(360deg);-webkit-transform:rotate(360deg);}}@keyframes animation_1htug8r{to{transform:rotate(360deg);-webkit-transform:rotate(360deg);}}@-webkit-keyframes animation_1yodi52{0%{background-position:0 0;}100%{background-position:100em 0;}}@-moz-keyframes animation_1yodi52{0%{background-position:0 0;}100%{background-position:100em 0;}}@-o-keyframes animation_1yodi52{0%{background-position:0 0;}100%{background-position:100em 0;}}@keyframes animation_1yodi52{0%{background-position:0 0;}100%{background-position:100em 0;}}@-webkit-keyframes animation_iepywa{0%, 100%{opacity:0;}50%{opacity:1;}}@-moz-keyframes animation_iepywa{0%, 100%{opacity:0;}50%{opacity:1;}}@-o-keyframes animation_iepywa{0%, 100%{opacity:0;}50%{opacity:1;}}@keyframes animation_iepywa{0%, 100%{opacity:0;}50%{opacity:1;}}@-webkit-keyframes animation_x5hg3h{100%{stroke-dashoffset:0;}}@-moz-keyframes animation_x5hg3h{100%{stroke-dashoffset:0;}}@-o-keyframes animation_x5hg3h{100%{stroke-dashoffset:0;}}@keyframes animation_x5hg3h{100%{stroke-dashoffset:0;}}@-webkit-keyframes animation_u0iaox{0%, 100%{transform:none;-webkit-transform:none;}50%{transform:scale3d(1.1, 1.1, 1);-webkit-transform:scale3d(1.1, 1.1, 1);}}@-moz-keyframes animation_u0iaox{0%, 100%{transform:none;-webkit-transform:none;}50%{transform:scale3d(1.1, 1.1, 1);-webkit-transform:scale3d(1.1, 1.1, 1);}}@-o-keyframes animation_u0iaox{0%, 100%{transform:none;-webkit-transform:none;}50%{transform:scale3d(1.1, 1.1, 1);-webkit-transform:scale3d(1.1, 1.1, 1);}}@keyframes animation_u0iaox{0%, 100%{transform:none;-webkit-transform:none;}50%{transform:scale3d(1.1, 1.1, 1);-webkit-transform:scale3d(1.1, 1.1, 1);}}@-webkit-keyframes animation_9ilv8v{100%{box-shadow:inset 0px 0px 0px 30px #068dfe;}}@-moz-keyframes animation_9ilv8v{100%{box-shadow:inset 0px 0px 0px 30px #068dfe;}}@-o-keyframes animation_9ilv8v{100%{box-shadow:inset 0px 0px 0px 30px #068dfe;}}@keyframes animation_9ilv8v{100%{box-shadow:inset 0px 0px 0px 30px #068dfe;}}.css-f3khu,[data-css-f3khu]{margin:10px 0;}.css-1ag7ge9,[data-css-1ag7ge9]{font-family:Open Sans, Helvetica Neue, Helvetica, Arial, sans;font-weight:400;font-size:13px;line-height:1.7;letter-spacing:normal;-webkit-font-smoothing:antialiased;display:-webkit-box; display: -moz-box; display: -ms-flexbox; display: -webkit-flex; display: flex;flex-wrap:wrap;-webkit-box-lines:multiple;-webkit-flex-wrap:wrap;}@media only screen and (max-width: 812px){.css-1ag7ge9 > a,[data-css-1ag7ge9] > a{text-align:center;}}.css-ld8qhm,[data-css-ld8qhm]{text-decoration:none;cursor:pointer;color:#c2c2c2;}.css-ld8qhm:hover,[data-css-ld8qhm]:hover{color:#068dfe;}.css-11b98zt,[data-css-11b98zt]{color:#c2c2c2;margin:0 5px 0 5px;}.css-11b98zt::after,[data-css-11b98zt]::after{content:"/";}.css-1cylxxa,[data-css-1cylxxa]{font-family:Open Sans, Helvetica Neue, Helvetica, Arial, sans;font-weight:600;font-size:25px;line-height:1;letter-spacing:normal;-webkit-font-smoothing:antialiased;padding:0;margin:0;color:#333;}.css-19r489t,[data-css-19r489t]{border-bottom:2px solid #e1e1e1;width:100%;}.css-1mjw833,[data-css-1mjw833]{max-width:100%;}.css-a5x1lt,[data-css-a5x1lt]{display:-webkit-box; display: -moz-box; display: -ms-flexbox; display: -webkit-flex; display: flex;align-items:center;-webkit-box-align:center;-webkit-align-items:center;}@media only screen and (max-width: 480px){.css-a5x1lt,[data-css-a5x1lt]{flex-direction:column;margin-bottom:15px;-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-direction:column;}}.css-1m5j888,[data-css-1m5j888]{height:110px;width:110px;margin-right:25px;margin-bottom:10px;border-radius:4px;border:1px solid #e1e1e1;}@media only screen and (max-width: 480px){.css-1m5j888,[data-css-1m5j888]{margin-right:0;height:70px;width:70px;}}.css-4bpmfq,[data-css-4bpmfq]{width:100%;max-width:500px;}@media only screen and (max-width: 480px){.css-4bpmfq,[data-css-4bpmfq]{text-align:center;}}.css-1pvkxrw,[data-css-1pvkxrw]{display:-webkit-box; display: -moz-box; display: -ms-flexbox; display: -webkit-flex; display: flex;align-items:center;-webkit-box-align:center;-webkit-align-items:center;}.css-1pvkxrw .fork,[data-css-1pvkxrw] .fork{margin-top:5px;}@media only screen and (max-width: 480px){.css-1pvkxrw,[data-css-1pvkxrw]{justify-content:center;-webkit-box-pack:center;-webkit-justify-content:center;}}.css-1g92dqh,[data-css-1g92dqh]{color:#707070;padding:5px 0;}.css-1x2bey4,[data-css-1x2bey4]{font-family:Open Sans, Helvetica Neue, Helvetica, Arial, sans;font-weight:400;font-size:13px;line-height:1.7;letter-spacing:normal;-webkit-font-smoothing:antialiased;color:#707070;}.css-1cs0rzs,[data-css-1cs0rzs]{display:-webkit-box; display: -moz-box; display: -ms-flexbox; display: -webkit-flex; display: flex;align-items:flex-start;width:450px;-webkit-box-align:start;-webkit-align-items:flex-start;}@media only screen and (max-width: 480px){.css-1cs0rzs,[data-css-1cs0rzs]{width:100%;}}.css-1j0qgmo,[data-css-1j0qgmo]{display:-webkit-box; display: -moz-box; display: -ms-flexbox; display: -webkit-flex; display: flex;align-items:flex-start;width:100%;justify-content:space-between;-webkit-box-align:start;-webkit-align-items:flex-start;-webkit-box-pack:justify;-webkit-justify-content:space-between;}@media only screen and (max-width: 480px){.css-1j0qgmo,[data-css-1j0qgmo]{flex-wrap:wrap;width:100%;justify-content:center;margin:0 auto;-webkit-box-lines:multiple;-webkit-flex-wrap:wrap;-webkit-box-pack:center;-webkit-justify-content:center;}}.css-eemya1,[data-css-eemya1]{font-family:Open Sans, Helvetica Neue, Helvetica, Arial, sans;font-weight:400;font-size:12px;line-height:1.7;letter-spacing:normal;-webkit-font-smoothing:antialiased;color:#008FF9;}.css-eemya1 a,[data-css-eemya1] a, .css-eemya1 a:hover, [data-css-eemya1] a:hover, .css-eemya1 a:visited, [data-css-eemya1] a:visited{color:#707070;text-decoration:none;}.css-3dgua6,[data-css-3dgua6]{display:none;}@media only screen and (max-width: 480px){.css-3dgua6,[data-css-3dgua6]{display:block;}}.css-1guve57,[data-css-1guve57]{display:-webkit-box; display: -moz-box; display: -ms-flexbox; display: -webkit-flex; display: flex;}@media only screen and (max-width: 480px){.css-1guve57,[data-css-1guve57]{display:none;}}.css-12alag6,[data-css-12alag6]{display:-webkit-box; display: -moz-box; display: -ms-flexbox; display: -webkit-flex; display: flex;align-items:center;-webkit-box-align:center;-webkit-align-items:center;}.css-81jah4,[data-css-81jah4]{display:-webkit-box; display: -moz-box; display: -ms-flexbox; display: -webkit-flex; display: flex;justify-content:center;margin:50px 0;-webkit-box-pack:center;-webkit-justify-content:center;}.css-12i35kv,[data-css-12i35kv]{font-family:Open Sans, Helvetica Neue, Helvetica, Arial, sans;font-weight:400;font-size:13px;line-height:1.7;letter-spacing:normal;-webkit-font-smoothing:antialiased;display:-webkit-box; display: -moz-box; display: -ms-flexbox; display: -webkit-flex; display: flex;justify-content:space-between;margin:10px 0 10px 0;-webkit-box-pack:justify;-webkit-justify-content:space-between;}@media only screen and (max-width: 480px){.css-12i35kv,[data-css-12i35kv]{align-items:center;flex-direction:column;-webkit-box-align:center;-webkit-align-items:center;-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-direction:column;}}.css-kxs423,[data-css-kxs423]{display:-webkit-box; display: -moz-box; display: -ms-flexbox; display: -webkit-flex; display: flex;align-items:flex-start;padding:0 8px 0 24px;margin:5px 8px 0 0;flex-direction:column;border-left:1px solid #e1e1e1;gap:9px;-webkit-box-align:start;-webkit-align-items:flex-start;-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-direction:column;}.css-kxs423 a,[data-css-kxs423] a, .css-kxs423 span, [data-css-kxs423] span{padding-right:8px;display:-webkit-box; display: -moz-box; display: -ms-flexbox; display: -webkit-flex; display: flex;flex-wrap:nowrap;flex:2;align-items:center;-webkit-box-lines:nowrap;-webkit-flex-wrap:nowrap;-webkit-flex:2;-webkit-box-align:center;-webkit-align-items:center;}.css-kxs423 a div,[data-css-kxs423] a div, .css-kxs423 span div, [data-css-kxs423] span div{text-align:initial;display:inline-block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}.css-kxs423 div > span,[data-css-kxs423] div > span{width:90px;}.css-kxs423 a,[data-css-kxs423] a{text-decoration:none;}.css-kxs423 svg,[data-css-kxs423] svg{margin-right:8px;position:relative;top:2px;width:14px;height:14px;}.css-kxs423 a:first-child > svg,[data-css-kxs423] a:first-child > svg{margin-left:0;}.css-kxs423 a:nth-last-child(2),[data-css-kxs423] a:nth-last-child(2), .css-kxs423 span:nth-last-child(2), [data-css-kxs423] span:nth-last-child(2){padding-right:0;}@media only screen and (max-width: 480px){.css-kxs423,[data-css-kxs423]{width:100%;padding-right:0;display:grid;grid-template-columns:48% 48%;grid-gap:11px;-ms-grid-template-columns:48% 48%;-ms-grid-gap:11px;}.css-kxs423 a,[data-css-kxs423] a, .css-kxs423 span, [data-css-kxs423] span{padding-right:0;}.css-kxs423 a,[data-css-kxs423] a{height:40px;border:1px solid #dedede;display:-webkit-box; display: -moz-box; display: -ms-flexbox; display: -webkit-flex; display: flex;align-items:center;justify-content:center;-webkit-box-align:center;-webkit-align-items:center;-webkit-box-pack:center;-webkit-justify-content:center;}.css-kxs423 svg,[data-css-kxs423] svg{margin-left:0;}.css-kxs423 a:nth-last-child(2),[data-css-kxs423] a:nth-last-child(2), .css-kxs423 span:nth-last-child(2), [data-css-kxs423] span:nth-last-child(2){padding-right:0;}.css-kxs423 a:nth-last-child(2),[data-css-kxs423] a:nth-last-child(2){border-right:1px solid #dedede;}}.css-z9c3fl,[data-css-z9c3fl]{display:-webkit-box; display: -moz-box; display: -ms-flexbox; display: -webkit-flex; display: flex;position:relative;}.css-i52n91,[data-css-i52n91]{font-family:Open Sans, Helvetica Neue, Helvetica, Arial, sans;font-weight:600;font-size:18px;line-height:1.7;letter-spacing:normal;-webkit-font-smoothing:antialiased;color:#333;margin:0;}.css-13sfqhu,[data-css-13sfqhu]{font-family:Open Sans, Helvetica Neue, Helvetica, Arial, sans;font-weight:400;font-size:13px;line-height:1.69;letter-spacing:normal;-webkit-font-smoothing:antialiased;margin-top:8px;color:#707070;}.css-1xexurq,[data-css-1xexurq]{font-family:Open Sans, Helvetica Neue, Helvetica, Arial, sans;font-weight:400;font-size:13px;line-height:1.7;letter-spacing:normal;-webkit-font-smoothing:antialiased;text-decoration:none;color:#068dfe;margin-top:10px;}.css-12llqor,[data-css-12llqor]{width:260px;margin-left:20px;margin-bottom:25px;}.css-69zjs9,[data-css-69zjs9]{background:#f7f7f7;width:100%;display:-webkit-box; display: -moz-box; display: -ms-flexbox; display: -webkit-flex; display: flex;justify-content:center;padding-top:68px;padding-bottom:68px;-webkit-box-pack:center;-webkit-justify-content:center;}@media only screen and (max-width: 812px){.css-69zjs9,[data-css-69zjs9]{padding-top:30px;padding-bottom:50px;}}.css-8a04gk,[data-css-8a04gk]{width:1140px;display:-webkit-box; display: -moz-box; display: -ms-flexbox; display: -webkit-flex; display: flex;justify-content:space-between;padding-left:20px;padding-right:20px;-webkit-box-pack:justify;-webkit-justify-content:space-between;}@media only screen and (max-width: 812px){.css-8a04gk,[data-css-8a04gk]{flex-direction:column;justify-content:center;-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-direction:column;-webkit-box-pack:center;-webkit-justify-content:center;}}.css-1m38k02,[data-css-1m38k02]{font-family:Open Sans, Helvetica Neue, Helvetica, Arial, sans;font-weight:400;font-size:13px;line-height:1.7;letter-spacing:normal;-webkit-font-smoothing:antialiased;color:#333;display:-webkit-box; display: -moz-box; display: -ms-flexbox; display: -webkit-flex; display: flex;flex-direction:column;-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-direction:column;}@media only screen and (max-width: 812px){.css-1m38k02,[data-css-1m38k02]{text-align:center;}}.css-162qu2y,[data-css-162qu2y]{font-size:20px;font-weight:600;letter-spacing:0.4px;}.css-p797gu,[data-css-p797gu]{font-size:13px;line-height:2.07;letter-spacing:0.3px;text-decoration:none;color:#333;}.css-p797gu:hover,[data-css-p797gu]:hover{color:#068dfe;}@media only screen and (max-width: 768px){.css-p797gu,[data-css-p797gu]{font-size:14px;}}.css-jyk0kg,[data-css-jyk0kg]{position:relative;width:260px;height:100%;padding-top:30px;}.css-jyk0kg > div,[data-css-jyk0kg] > div{position:absolute;bottom:0;right:0;width:100%;display:-webkit-box; display: -moz-box; display: -ms-flexbox; display: -webkit-flex; display: flex;flex-flow:column nowrap;justify-content:flex-end;align-items:stretch;margin-bottom:20px;-webkit-flex-flow:column nowrap;-webkit-box-pack:end;-webkit-justify-content:flex-end;-webkit-box-align:stretch;-webkit-align-items:stretch;}.css-jyk0kg > div > div:last-of-type > div ,[data-css-jyk0kg] > div > div:last-of-type > div {margin:0;max-width:100%;}.css-jyk0kg > div a,[data-css-jyk0kg] > div a{max-width:100%;}.css-jyk0kg > div > * + *,[data-css-jyk0kg] > div > * + *{margin-top:10px;}@media only screen and (max-width: 768px){.css-jyk0kg,[data-css-jyk0kg]{width:100%;margin:20px 0 0 0;padding:0;}}.css-4hck59,[data-css-4hck59]{display:-webkit-box; display: -moz-box; display: -ms-flexbox; display: -webkit-flex; display: flex;justify-content:center;align-items:center;-webkit-box-pack:center;-webkit-justify-content:center;-webkit-box-align:center;-webkit-align-items:center;}.css-1drwozb,[data-css-1drwozb]{display:-webkit-box; display: -moz-box; display: -ms-flexbox; display: -webkit-flex; display: flex;width:80%;justify-content:space-between;align-items:center;order:4;-webkit-box-pack:justify;-webkit-justify-content:space-between;-webkit-box-align:center;-webkit-align-items:center;-webkit-order:4;}@media only screen and (max-width: 480px){.css-1drwozb,[data-css-1drwozb]{margin-bottom:20px;}}.css-gbti5j,[data-css-gbti5j]{display:-webkit-box; display: -moz-box; display: -ms-flexbox; display: -webkit-flex; display: flex;flex-direction:column;align-items:center;position:relative;color:#707070;font-family:Open Sans, Helvetica Neue, Helvetica, Arial, sans;font-weight:400;font-size:13px;line-height:1.7;letter-spacing:normal;-webkit-font-smoothing:antialiased;-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-direction:column;-webkit-box-align:center;-webkit-align-items:center;}.css-gbti5j>:first-child,[data-css-gbti5j]>:first-child{margin-bottom:5px;}.css-gbti5j>span,[data-css-gbti5j]>span{color:#333;line-height:1.22;letter-spacing:0.8px;font-weight:600;font-size:18px;}.css-1ahj942,[data-css-1ahj942]{border-left:1px solid #e1e1e1;width:1px;height:36px;}.css-1an0suy,[data-css-1an0suy]{display:-webkit-box; display: -moz-box; display: -ms-flexbox; display: -webkit-flex; display: flex;flex-direction:column;align-items:center;position:relative;color:#707070;font-family:Open Sans, Helvetica Neue, Helvetica, Arial, sans;font-weight:400;font-size:13px;line-height:1.7;letter-spacing:normal;-webkit-font-smoothing:antialiased;transition:color 0.6s ease-in-out;-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-direction:column;-webkit-box-align:center;-webkit-align-items:center;-webkit-transition:color 0.6s ease-in-out;-moz-transition:color 0.6s ease-in-out;}.css-1an0suy>:first-child,[data-css-1an0suy]>:first-child{margin-bottom:5px;}.css-1an0suy>span,[data-css-1an0suy]>span{color:#333;line-height:1.22;letter-spacing:0.8px;font-weight:600;font-size:18px;}.css-1an0suy div,[data-css-1an0suy] div{position:absolute;top:-15px;right:0;left:0;text-align:center;font-family:Open Sans, Helvetica Neue, Helvetica, Arial, sans;font-weight:600;font-size:13px;line-height:1.7;letter-spacing:normal;-webkit-font-smoothing:antialiased;color:#45C57C;opacity:0;animation:none;-webkit-animation:none;}.css-1dgfc7p,[data-css-1dgfc7p]{display:-webkit-box; display: -moz-box; display: -ms-flexbox; display: -webkit-flex; display: flex;justify-content:space-between;-webkit-box-pack:justify;-webkit-justify-content:space-between;}.css-1dgfc7p > button,[data-css-1dgfc7p] > button{width:48%;margin-right:10px;}.css-1dgfc7p > button:last-child,[data-css-1dgfc7p] > button:last-child{margin:0;}.css-14pk3xx,[data-css-14pk3xx]{height:32px;display:-webkit-box; display: -moz-box; display: -ms-flexbox; display: -webkit-flex; display: flex;justify-content:center;align-items:center;border-radius:2px;border:1px solid #068dfe;font-family:Open Sans, Helvetica Neue, Helvetica, Arial, sans;font-size:13px;font-weight:400;letter-spacing:0.8px;background-color:#068dfe;color:#fff;text-decoration:none;cursor:pointer;-webkit-font-smoothing:antialiased;padding-top:0;padding-bottom:0;padding-left:8px;padding-right:8px;width:98px;outline:none;flex-grow:0;flex-shrink:0;margin-right:10px;-webkit-box-pack:center;-webkit-justify-content:center;-webkit-box-align:center;-webkit-align-items:center;-webkit-flex-grow:0;-webkit-flex-shrink:0;}.css-14pk3xx:hover,[data-css-14pk3xx]:hover{background-color:rgba(6,141,254,0.8);border-color:rgba(6,141,254,0.79);color:#fff;}.css-1o4togz,[data-css-1o4togz]{height:32px;display:-webkit-box; display: -moz-box; display: -ms-flexbox; display: -webkit-flex; display: flex;justify-content:center;align-items:center;border-radius:2px;border:1px solid #068dfe;font-family:Open Sans, Helvetica Neue, Helvetica, Arial, sans;font-size:13px;font-weight:400;letter-spacing:0.8px;background-color:#068dfe;color:#fff;text-decoration:none;cursor:pointer;-webkit-font-smoothing:antialiased;padding-top:0;padding-bottom:0;padding-left:16px;padding-right:16px;width:auto;outline:none;flex-grow:0;flex-shrink:0;-webkit-box-pack:center;-webkit-justify-content:center;-webkit-box-align:center;-webkit-align-items:center;-webkit-flex-grow:0;-webkit-flex-shrink:0;}.css-1o4togz:hover,[data-css-1o4togz]:hover{background-color:rgba(6,141,254,0.8);border-color:rgba(6,141,254,0.79);color:#fff;}.css-12257h,[data-css-12257h]{margin:25px 0;}.css-np1rfd,[data-css-np1rfd]{width:70px;height:70px;border:1px solid #e1e1e1;border-radius:4px;}@media only screen and (max-width: 480px){.css-np1rfd,[data-css-np1rfd]{width:60px;height:60px;}}.css-1mlbi0l,[data-css-1mlbi0l]{display:-webkit-box; display: -moz-box; display: -ms-flexbox; display: -webkit-flex; display: flex;align-items:center;margin-bottom:15px;flex-shrink:0;cursor:default;-webkit-box-align:center;-webkit-align-items:center;-webkit-flex-shrink:0;}.css-1mlbi0l > div:first-of-type,[data-css-1mlbi0l] > div:first-of-type{width:40px;flex-shrink:0;-webkit-flex-shrink:0;}.css-1cda8k4,[data-css-1cda8k4]{display:inline-block;border-radius:2px;cursor:pointer;background-color:#fff;border:1px solid #c2c2c2;color:#4a4a4a;}.css-2an9kq,[data-css-2an9kq]{display:-webkit-box; display: -moz-box; display: -ms-flexbox; display: -webkit-flex; display: flex;flex-direction:column;justify-content:center;align-items:center;padding-top:5px;padding-left:8px;padding-right:8px;-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-direction:column;-webkit-box-pack:center;-webkit-justify-content:center;-webkit-box-align:center;-webkit-align-items:center;}.css-5x5cr6,[data-css-5x5cr6]{font-family:Open Sans, Helvetica Neue, Helvetica, Arial, sans;font-size:12px;font-weight:600;line-height:1.83;letter-spacing:0.5px;}.css-rsz8c,[data-css-rsz8c]{font-family:Open Sans, Helvetica Neue, Helvetica, Arial, sans;font-weight:400;font-size:13px;line-height:1.7;letter-spacing:normal;-webkit-font-smoothing:antialiased;margin-left:10px;text-decoration:none;color:#000;}.css-4gnhqq,[data-css-4gnhqq]{display:-webkit-box; display: -moz-box; display: -ms-flexbox; display: -webkit-flex; display: flex;justify-content:space-between;align-items:center;-webkit-box-pack:justify;-webkit-justify-content:space-between;-webkit-box-align:center;-webkit-align-items:center;}.css-1v4wqws,[data-css-1v4wqws]{display:block;flex-direction:none;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-webkit-flex-direction:none;}.css-7c9av6,[data-css-7c9av6]{margin:0;padding:0;}.css-16s8o6z,[data-css-16s8o6z]{font-family:Open Sans, Helvetica Neue, Helvetica, Arial, sans;font-weight:400;font-size:13px;line-height:1.7;letter-spacing:normal;-webkit-font-smoothing:antialiased;height:100%;display:-webkit-box; display: -moz-box; display: -ms-flexbox; display: -webkit-flex; display: flex;align-items:center;justify-content:center;fontsize:14px;color:#c2c2c2;font-style:italic;text-align:center;-webkit-box-align:center;-webkit-align-items:center;-webkit-box-pack:center;-webkit-justify-content:center;}.css-6nrkpz,[data-css-6nrkpz]{list-style:none;}.css-1pwtf47,[data-css-1pwtf47]{display:-webkit-box; display: -moz-box; display: -ms-flexbox; display: -webkit-flex; display: flex;flex-direction:row;align-items:center;text-decoration:none;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-webkit-flex-direction:row;-webkit-box-align:center;-webkit-align-items:center;}.css-1iqua1m,[data-css-1iqua1m]{height:32px;display:-webkit-box; display: -moz-box; display: -ms-flexbox; display: -webkit-flex; display: flex;justify-content:center;align-items:center;border-radius:2px;border:1px solid #068dfe;font-family:Open Sans, Helvetica Neue, Helvetica, Arial, sans;font-size:13px;font-weight:400;letter-spacing:0.8px;background-color:#068dfe;color:#fff;text-decoration:none;cursor:pointer;-webkit-font-smoothing:antialiased;padding-top:0;padding-bottom:0;padding-left:16px;padding-right:16px;width:auto;outline:none;-webkit-box-pack:center;-webkit-justify-content:center;-webkit-box-align:center;-webkit-align-items:center;}.css-1iqua1m:hover,[data-css-1iqua1m]:hover{background-color:rgba(6,141,254,0.8);border-color:rgba(6,141,254,0.79);color:#fff;}.css-1ob9em9,[data-css-1ob9em9]{max-width:225px;margin:0 auto;width:100%;}.css-1ob9em9 > button,[data-css-1ob9em9] > button{width:100%;margin:auto;padding-left:16px;padding-right:16px;}.css-1mpii3w,[data-css-1mpii3w]{height:auto;display:-webkit-box; display: -moz-box; display: -ms-flexbox; display: -webkit-flex; display: flex;justify-content:center;align-items:center;border-radius:2px;border:1px solid #f87a46;font-family:Open Sans, Helvetica Neue, Helvetica, Arial, sans;font-size:13px;font-weight:400;letter-spacing:0.8px;background-color:#f87a46;color:#fff;text-decoration:none;cursor:pointer;-webkit-font-smoothing:antialiased;padding-top:0;padding-bottom:0;padding-left:16px;padding-right:16px;width:auto;outline:none;line-height:20px;min-height:32px;-webkit-box-pack:center;-webkit-justify-content:center;-webkit-box-align:center;-webkit-align-items:center;}.css-1mpii3w:hover,[data-css-1mpii3w]:hover{background-color:rgba(248,122,70,0.8);border-color:rgba(248,122,70,0.8);color:#fff;}.css-uw1ldh,[data-css-uw1ldh]{font-family:Open Sans, Helvetica Neue, Helvetica, Arial, sans;font-weight:400;font-size:13px;line-height:1.7;letter-spacing:0.2px;-webkit-font-smoothing:antialiased;border-bottom:1px solid;border-color:#e1e1e1;padding:10px 0 20px 0;width:100%;}.css-xkasvz,[data-css-xkasvz]{display:-webkit-box; display: -moz-box; display: -ms-flexbox; display: -webkit-flex; display: flex;padding:20px 0;width:100%;}.css-atv6j6,[data-css-atv6j6]{margin-top:5px;}.css-1m8tyev,[data-css-1m8tyev]{position:relative;}.css-1m8tyev a,[data-css-1m8tyev] a{display:inline-block;}.css-1m8tyev img,[data-css-1m8tyev] img{width:31px;height:31px;border-radius:50%;}.css-1m8tyev> svg,[data-css-1m8tyev]> svg{width:31px;height:31px;}.css-1vf0ygt,[data-css-1vf0ygt]{margin-left:15px;width:100%;}.css-1vf0ygt a,[data-css-1vf0ygt] a{color:#333;}.css-1vf0ygt a:hover,[data-css-1vf0ygt] a:hover{color:#068dfe;}.css-utnqcw,[data-css-utnqcw]{font-weight:bold;font-size:14px;width:100%;display:-webkit-box; display: -moz-box; display: -ms-flexbox; display: -webkit-flex; display: flex;justify-content:space-between;-webkit-box-pack:justify;-webkit-justify-content:space-between;}.css-ds0hbm,[data-css-ds0hbm]{color:#4a4a4a;}.css-dg4ww9,[data-css-dg4ww9]{width:100%;margin-top:0;margin-bottom:18px;display:-webkit-box; display: -moz-box; display: -ms-flexbox; display: -webkit-flex; display: flex;align-items:center;font-family:Open Sans, Helvetica Neue, Helvetica, Arial, sans;font-weight:400;font-size:13px;line-height:1.7;letter-spacing:normal;-webkit-font-smoothing:antialiased;flex-wrap:wrap;-webkit-box-align:center;-webkit-align-items:center;-webkit-box-lines:multiple;-webkit-flex-wrap:wrap;}.css-dg4ww9 > svg:first-of-type,[data-css-dg4ww9] > svg:first-of-type{margin-right:7px;}.css-dg4ww9 > a,[data-css-dg4ww9] > a{text-decoration:none;margin-right:7px;}.css-dg4ww9 > a:last-of-type,[data-css-dg4ww9] > a:last-of-type{text-decoration:none;margin-right:0;}.css-dg4ww9 > *,[data-css-dg4ww9] > *{margin-bottom:13px;}.css-dg4ww9 > a > span:last-of-type,[data-css-dg4ww9] > a > span:last-of-type{font-size:14px;}.css-z9ms26,[data-css-z9ms26]{font-family:Open Sans, Helvetica Neue, Helvetica, Arial, sans;font-weight:600;font-size:14px;line-height:1.7;letter-spacing:normal;-webkit-font-smoothing:antialiased;color:#2d2d2d;margin-right:7px;}.css-6uh2e7,[data-css-6uh2e7]{font-family:Open Sans, Helvetica Neue, Helvetica, Arial, sans;font-weight:400;font-size:14px;line-height:1.7;letter-spacing:normal;-webkit-font-smoothing:antialiased;color:#939393;margin-right:7px;}.css-t68yd0,[data-css-t68yd0]{display:-webkit-box; display: -moz-box; display: -ms-flexbox; display: -webkit-flex; display: flex;position:relative;justify-content:center;align-items:center;width:22px;min-width:22px;height:22px;min-height:22px;background-color:#fff;border-radius:3.1px;border:0;-webkit-box-pack:center;-webkit-justify-content:center;-webkit-box-align:center;-webkit-align-items:center;}.css-t68yd0:hover,[data-css-t68yd0]:hover{background-color:#fff;}.css-1rz3855,[data-css-1rz3855]{border:solid 1px #c2c2c2;border-radius:3.1px;height:22px;width:22px;}.css-i6njnm,[data-css-i6njnm]{font-family:Open Sans, Helvetica Neue, Helvetica, Arial, sans;font-weight:400;font-size:13px;line-height:1.7;letter-spacing:normal;-webkit-font-smoothing:antialiased;margin-left:7px;color:#000;}.css-1dp4k20,[data-css-1dp4k20]{height:75px;position:relative;overflow:hidden;}.css-1dp4k20:after,[data-css-1dp4k20]:after{content:" ";position:absolute;bottom:0;left:0;width:100%;height:30px;background:-webkit-linear-gradient(to bottom, rgba(255,255,255,0), #fff 80%); background: -moz-linear-gradient(to bottom, rgba(255,255,255,0), #fff 80%); background: linear-gradient(to bottom, rgba(255,255,255,0), #fff 80%);}.css-ztg526 .topic,[data-css-ztg526] .topic,.css-ztg526 .tool,[data-css-ztg526] .tool{font-weight:normal;background:rgba(6,141,254,0.15);padding:0px 2px;}.css-ztg526 a,[data-css-ztg526] a,.css-ztg526 a:visited,[data-css-ztg526] a:visited{color:#068dfe;text-decoration:underline;cursor:pointer;}.css-ztg526 a:hover,[data-css-ztg526] a:hover,.css-ztg526 a:visited:hover,[data-css-ztg526] a:visited:hover{text-decoration:underline;}.css-ztg526 pre,[data-css-ztg526] pre{white-space:pre-wrap;word-wrap:break-word;background:#fafafa;color:#333;margin:15px 0;font-family:monospace;padding:10px;border-radius:0;}.css-ztg526 code,[data-css-ztg526] code{border-radius:0;background:#fafafa;color:#333;}.css-1srb7t4,[data-css-1srb7t4]{font-family:Open Sans, Helvetica Neue, Helvetica, Arial, sans;font-weight:400;font-size:13px;line-height:1.6666666666666667;letter-spacing:normal;-webkit-font-smoothing:antialiased;width:100%;text-align:center;text-decoration:underline;cursor:pointer;color:#333;}.css-1srb7t4:hover,[data-css-1srb7t4]:hover{color:#333;text-decoration:none;}.css-1j2w1cg,[data-css-1j2w1cg]{cursor:pointer;text-decoration:none;display:-webkit-box; display: -moz-box; display: -ms-flexbox; display: -webkit-flex; display: flex;align-items:center;margin-right:0;-webkit-box-align:center;-webkit-align-items:center;}.css-1j2w1cg > div:last-of-type,[data-css-1j2w1cg] > div:last-of-type{margin-right:0;}.css-1b2ktnx,[data-css-1b2ktnx]{font-family:Open Sans, Helvetica Neue, Helvetica, Arial, sans;font-weight:600;font-size:14px;line-height:1.7;letter-spacing:normal;-webkit-font-smoothing:antialiased;color:#2d2d2d;margin-right:7px;margin-left:7px;}.css-13nf4of,[data-css-13nf4of]{margin:15px 0;border-top:solid 1px #e1e1e1;border-bottom:solid 1px #e1e1e1;padding:15px 0;}.css-13nf4of a,[data-css-13nf4of] a{color:#333;text-decoration:underline;}.css-xd3exe,[data-css-xd3exe]{margin-right:5px;}.css-n746ki,[data-css-n746ki]{margin-top:30px;display:-webkit-box; display: -moz-box; display: -ms-flexbox; display: -webkit-flex; display: flex;justify-content:center;z-index:1;-webkit-box-pack:center;-webkit-justify-content:center;}.css-1wr1kub,[data-css-1wr1kub]{width:100%;background:#f9f9f9;display:-webkit-box; display: -moz-box; display: -ms-flexbox; display: -webkit-flex; display: flex;justify-content:center;flex-direction:column;align-items:center;-webkit-box-pack:center;-webkit-justify-content:center;-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-direction:column;-webkit-box-align:center;-webkit-align-items:center;}.css-1nxoxgf,[data-css-1nxoxgf]{width:100%;background:#fff;}.css-mtutfo,[data-css-mtutfo]{width:100%;height:100%;max-width:1170px;padding-left:15px;padding-right:15px;margin:0 auto;display:-webkit-box; display: -moz-box; display: -ms-flexbox; display: -webkit-flex; display: flex;justify-content:initial;flex-direction:column;-webkit-box-pack:initial;-webkit-justify-content:initial;-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-direction:column;}.css-1krun48 path,[data-css-1krun48] path{fill:#068dfe;}.css-z63j1n,[data-css-z63j1n]{display:-webkit-box; display: -moz-box; display: -ms-flexbox; display: -webkit-flex; display: flex;width:100%;justify-content:flex-end;margin-top:40px;-webkit-box-pack:end;-webkit-justify-content:flex-end;}.css-1puyxnn,[data-css-1puyxnn]{width:100%;height:100%;padding:20px 15px 0;max-width:1170px;min-height:100vh;display:-webkit-box; display: -moz-box; display: -ms-flexbox; display: -webkit-flex; display: flex;justify-content:initial;flex-direction:column;-webkit-box-pack:initial;-webkit-justify-content:initial;-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-direction:column;}.css-13u3lpy,[data-css-13u3lpy]{margin-top:20px;display:-webkit-box; display: -moz-box; display: -ms-flexbox; display: -webkit-flex; display: flex;justify-content:center;flex-direction:row;-webkit-box-pack:center;-webkit-justify-content:center;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-webkit-flex-direction:row;}.css-em9idi,[data-css-em9idi]{display:-webkit-box; display: -moz-box; display: -ms-flexbox; display: -webkit-flex; display: flex;margin-left:auto;min-width:280px;}.css-guqgrw,[data-css-guqgrw]{width:100%;}@media only screen and (max-width: 480px){.css-guqgrw,[data-css-guqgrw]{display:-webkit-box; display: -moz-box; display: -ms-flexbox; display: -webkit-flex; display: flex;justify-content:initial;flex-direction:column;align-items:center;-webkit-box-pack:initial;-webkit-justify-content:initial;-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-direction:column;-webkit-box-align:center;-webkit-align-items:center;}}.css-41bx4t,[data-css-41bx4t]{font-family:Open Sans, Helvetica Neue, Helvetica, Arial, sans;font-weight:600;font-size:13px;line-height:1.7;letter-spacing:normal;-webkit-font-smoothing:antialiased;color:#a1a1a1;text-transform:uppercase;margin-bottom:10px;}.css-83t7xw>ul>li,[data-css-83t7xw]>ul>li{width:50%;margin-bottom:30px;padding-right:30px;}@media only screen and (max-width: 480px){.css-83t7xw>ul>li,[data-css-83t7xw]>ul>li{width:100%;padding-right:0;}}.css-m7giud,[data-css-m7giud]{padding:0;max-width:860px;justify-content:space-between;display:-webkit-box; display: -moz-box; display: -ms-flexbox; display: -webkit-flex; display: flex;flex-wrap:wrap;text-align:center;-webkit-box-pack:justify;-webkit-justify-content:space-between;-webkit-box-lines:multiple;-webkit-flex-wrap:wrap;}.css-1to1q1s,[data-css-1to1q1s]{font-family:Open Sans, Helvetica Neue, Helvetica, Arial, sans;font-weight:400;font-size:13px;line-height:1.7;letter-spacing:normal;-webkit-font-smoothing:antialiased;list-style-type:none;color:#707070;display:-webkit-box; display: -moz-box; display: -ms-flexbox; display: -webkit-flex; display: flex;}.css-1to1q1s:hover,[data-css-1to1q1s]:hover{color:#068dfe;}.css-zwwro1,[data-css-zwwro1]{display:-webkit-box; display: -moz-box; display: -ms-flexbox; display: -webkit-flex; display: flex;flex-direction:column;margin-left:18px;justify-content:center;text-align:initial;-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-direction:column;-webkit-box-pack:center;-webkit-justify-content:center;}.css-1ps7r35,[data-css-1ps7r35]{font-size:12px;margin:5px 0;font-weight:600;letter-spacing:0.17px;color:#333;}.css-1w2c3xd,[data-css-1w2c3xd]{font-size:11px;overflow:hidden;margin:0;line-height:1.64;color:#707070;}.css-1w2c3xd > span,[data-css-1w2c3xd] > span{display:none;}.css-13hey0t,[data-css-13hey0t]{width:100%;padding-bottom:80px;}@media only screen and (max-width: 480px){.css-13hey0t,[data-css-13hey0t]{display:-webkit-box; display: -moz-box; display: -ms-flexbox; display: -webkit-flex; display: flex;justify-content:initial;flex-direction:column;align-items:center;-webkit-box-pack:initial;-webkit-justify-content:initial;-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-direction:column;-webkit-box-align:center;-webkit-align-items:center;}}.css-ua0sjh,[data-css-ua0sjh]{font-family:Open Sans, Helvetica Neue, Helvetica, Arial, sans;font-weight:600;font-size:18px;line-height:1.7;letter-spacing:normal;-webkit-font-smoothing:antialiased;color:#333;}@media only screen and (max-width: 768px){.css-ua0sjh,[data-css-ua0sjh]{align-self:flex-start;margin-bottom:25px;-webkit-align-self:flex-start;}}.css-8qpfeu,[data-css-8qpfeu]{width:100%;padding:25px 0;margin-bottom:20px;background:#fff;border-radius:4px;box-shadow:0 1px 0 0 #e1e1e1;border:1px solid #e1e1e1;display:-webkit-box; display: -moz-box; display: -ms-flexbox; display: -webkit-flex; display: flex;justify-content:initial;flex-direction:column;align-items:center;-webkit-box-pack:initial;-webkit-justify-content:initial;-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-direction:column;-webkit-box-align:center;-webkit-align-items:center;}@media only screen and (max-width: 480px){.css-8qpfeu,[data-css-8qpfeu]{border:solid 1px #e1e1e1;border-radius:4px;box-shadow:none;margin-bottom:20px;padding:10px;padding-top:35px;}}.css-kb8or3,[data-css-kb8or3]{width:100%;display:-webkit-box; display: -moz-box; display: -ms-flexbox; display: -webkit-flex; display: flex;justify-content:initial;flex-direction:column;-webkit-box-pack:initial;-webkit-justify-content:initial;-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-direction:column;}.css-1d3wilq,[data-css-1d3wilq]{display:-webkit-box; display: -moz-box; display: -ms-flexbox; display: -webkit-flex; display: flex;justify-content:space-between;flex-direction:row;align-items:center;width:100%;padding:0 20px;-webkit-box-pack:justify;-webkit-justify-content:space-between;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-webkit-flex-direction:row;-webkit-box-align:center;-webkit-align-items:center;}@media only screen and (max-width: 480px){.css-1d3wilq,[data-css-1d3wilq]{padding:0;flex-direction:column;-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-direction:column;}}.css-ljm4wn,[data-css-ljm4wn]{display:-webkit-box; display: -moz-box; display: -ms-flexbox; display: -webkit-flex; display: flex;justify-content:initial;flex-direction:row;align-items:center;-webkit-box-pack:initial;-webkit-justify-content:initial;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-webkit-flex-direction:row;-webkit-box-align:center;-webkit-align-items:center;}@media only screen and (max-width: 480px){.css-ljm4wn,[data-css-ljm4wn]{flex-direction:column;-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-direction:column;}}.css-mwikcm,[data-css-mwikcm]{width:110px;display:-webkit-box; display: -moz-box; display: -ms-flexbox; display: -webkit-flex; display: flex;justify-content:center;flex-direction:row;-webkit-box-pack:center;-webkit-justify-content:center;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-webkit-flex-direction:row;}.css-1jltg37,[data-css-1jltg37]{text-decoration:none;cursor:pointer;color:#333;width:70px;height:70px;margin-right:20px;border-radius:2px;border:1px solid #e1e1e1;}.css-1jltg37:hover,[data-css-1jltg37]:hover, .css-1jltg37:focus, [data-css-1jltg37]:focus{color:#068dfe;}@media only screen and (max-width: 768px){.css-1jltg37,[data-css-1jltg37]{margin-right:initial;width:80px;height:80px;}}.css-1489hth,[data-css-1489hth]{width:68px;height:68px;}@media only screen and (max-width: 768px){.css-1489hth,[data-css-1489hth]{width:78px;height:78px;}}.css-8wh4b7,[data-css-8wh4b7]{height:100%;width:100%;display:-webkit-box; display: -moz-box; display: -ms-flexbox; display: -webkit-flex; display: flex;justify-content:initial;flex-direction:column;-webkit-box-pack:initial;-webkit-justify-content:initial;-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-direction:column;}@media only screen and (max-width: 768px){.css-8wh4b7,[data-css-8wh4b7]{display:-webkit-box; display: -moz-box; display: -ms-flexbox; display: -webkit-flex; display: flex;justify-content:initial;flex-direction:column;align-items:center;-webkit-box-pack:initial;-webkit-justify-content:initial;-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-direction:column;-webkit-box-align:center;-webkit-align-items:center;}}.css-pltn6z,[data-css-pltn6z]{font-family:Open Sans, Helvetica Neue, Helvetica, Arial, sans;font-weight:600;font-size:18px;line-height:1.7;letter-spacing:normal;-webkit-font-smoothing:antialiased;margin:0;}@media only screen and (max-width: 768px){.css-pltn6z,[data-css-pltn6z]{margin:15px auto;}}.css-1hhgtx3,[data-css-1hhgtx3]{text-decoration:none;cursor:pointer;color:#333;}.css-1hhgtx3:hover,[data-css-1hhgtx3]:hover, .css-1hhgtx3:focus, [data-css-1hhgtx3]:focus{color:#068dfe;}.css-rpzmwi,[data-css-rpzmwi]{padding:5px 0;}@media only screen and (max-width: 768px){.css-rpzmwi,[data-css-rpzmwi]{display:none;}}.css-5f7045,[data-css-5f7045]{display:-webkit-box; display: -moz-box; display: -ms-flexbox; display: -webkit-flex; display: flex;align-items:center;margin-right:28px;-webkit-box-align:center;-webkit-align-items:center;}.css-3k44bn,[data-css-3k44bn]{height:23px;width:23px;}.css-1qckosq,[data-css-1qckosq]{font-family:Open Sans, Helvetica Neue, Helvetica, Arial, sans;font-weight:600;font-size:13px;line-height:1.7;letter-spacing:normal;-webkit-font-smoothing:antialiased;fonst-size:15px;color:#333;margin-left:5px;}.css-1a4uubp,[data-css-1a4uubp]{position:relative;top:3px;}.css-q4ncy,[data-css-q4ncy]{font-family:Open Sans, Helvetica Neue, Helvetica, Arial, sans;font-weight:400;font-size:14px;line-height:1.5;letter-spacing:normal;-webkit-font-smoothing:antialiased;color:#707070;}@media only screen and (max-width: 768px){.css-q4ncy,[data-css-q4ncy]{text-align:center;margin:20px 0;}}.css-1mj0hbk,[data-css-1mj0hbk]{display:none;}@media only screen and (max-width: 768px){.css-1mj0hbk,[data-css-1mj0hbk]{display:-webkit-box; display: -moz-box; display: -ms-flexbox; display: -webkit-flex; display: flex;width:100%;margin-bottom:10px;}.css-1mj0hbk > div,[data-css-1mj0hbk] > div{margin:0 auto;}}.css-1dnnpo5,[data-css-1dnnpo5]{display:-webkit-box; display: -moz-box; display: -ms-flexbox; display: -webkit-flex; display: flex;justify-content:initial;flex-direction:column;align-items:center;-webkit-box-pack:initial;-webkit-justify-content:initial;-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-direction:column;-webkit-box-align:center;-webkit-align-items:center;}@media only screen and (max-width: 480px){.css-1dnnpo5,[data-css-1dnnpo5]{width:100%;}}.css-ubpjqb,[data-css-ubpjqb]{display:-webkit-box; display: -moz-box; display: -ms-flexbox; display: -webkit-flex; display: flex;width:100%;padding:10px 0;}.css-ubpjqb > button,[data-css-ubpjqb] > button{width:125px;}@media only screen and (max-width: 768px){.css-ubpjqb,[data-css-ubpjqb]{justify-content:space-between;-webkit-box-pack:justify;-webkit-justify-content:space-between;}.css-ubpjqb > button,[data-css-ubpjqb] > button{width:48%;margin:0;}}.css-1erkkk4,[data-css-1erkkk4]{font-family:Open Sans, Helvetica Neue, Helvetica, Arial, sans;font-weight:400;font-size:13px;line-height:1.7;letter-spacing:normal;-webkit-font-smoothing:antialiased;display:grid;grid-template-columns:33% 33% 33%;margin-top:28px;margin-right:20px;margin-left:20px;-ms-grid-template-columns:33% 33% 33%;}@media only screen and (max-width: 480px){.css-1erkkk4,[data-css-1erkkk4]{display:block;margin:0;}}.css-a55l86,[data-css-a55l86]{width:100%;padding:5px;min-height:240px;}@media only screen and (max-width: 1199px){.css-a55l86,[data-css-a55l86]{border-right:none;}}@media only screen and (max-width: 768px){.css-a55l86,[data-css-a55l86]{border:0;margin-top:30px;width:auto;}}@media only screen and (max-width: 480px){.css-a55l86,[data-css-a55l86]{padding:0;}}.css-usifiy,[data-css-usifiy]{height:42px;border-radius:4px;background-color:#f8f8f8;font-size:13px;font-weight:600;line-height:1.08;letter-spacing:0.66px;color:#707070;padding-left:20px;margin-bottom:15px;display:-webkit-box; display: -moz-box; display: -ms-flexbox; display: -webkit-flex; display: flex;align-items:center;-webkit-box-align:center;-webkit-align-items:center;}.css-6t66tf,[data-css-6t66tf]{margin-left:15px;}@media only screen and (max-width: 480px){.css-6t66tf,[data-css-6t66tf]{margin-left:0;}}.css-1x4ysa3,[data-css-1x4ysa3]{position:relative;overflow-y:scroll;display:-webkit-box; display: -moz-box; display: -ms-flexbox; display: -webkit-flex; display: flex;flex-grow:1;height:160px;max-height:auto;flex-direction:column;flex-wrap:nowrap;-webkit-flex-grow:1;-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-direction:column;-webkit-box-lines:nowrap;-webkit-flex-wrap:nowrap;}.css-1x4ysa3::-webkit-scrollbar,[data-css-1x4ysa3]::-webkit-scrollbar{width:4px;}.css-1x4ysa3::-webkit-scrollbar-thumb,[data-css-1x4ysa3]::-webkit-scrollbar-thumb{background:#c2c2c2;border-radius:2.5px;}.css-1x4ysa3 > div,[data-css-1x4ysa3] > div{flex-basis:unset;-webkit-flex-basis:unset;}@media only screen and (max-width: 480px){.css-1x4ysa3 > div,[data-css-1x4ysa3] > div{flex-basis:unset;-webkit-flex-basis:unset;}}.css-1bn5mmw,[data-css-1bn5mmw]{text-decoration:none;min-width:300px;display:-webkit-box; display: -moz-box; display: -ms-flexbox; display: -webkit-flex; display: flex;justify-content:initial;flex-direction:column;-webkit-box-pack:initial;-webkit-justify-content:initial;-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-direction:column;}.css-1dnwvu3,[data-css-1dnwvu3]{text-decoration:none;}.css-1v4bhi8,[data-css-1v4bhi8]{width:150px;margin-right:100px;display:-webkit-box; display: -moz-box; display: -ms-flexbox; display: -webkit-flex; display: flex;justify-content:space-between;flex-direction:row;align-items:center;-webkit-box-pack:justify;-webkit-justify-content:space-between;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-webkit-flex-direction:row;-webkit-box-align:center;-webkit-align-items:center;}.css-6wyd29,[data-css-6wyd29]{width:50px;height:50px;border-radius:2px;border:1px solid #e1e1e1;}.css-19dpmz,[data-css-19dpmz]{font-family:Open Sans, Helvetica Neue, Helvetica, Arial, sans;font-weight:400;font-size:11px;line-height:1.7;letter-spacing:normal;-webkit-font-smoothing:antialiased;color:#4a4a4a;height:21px;width:21px;box-sizing:content-box;flex-shrink:0;margin-right:5px;margin-left:5px;border-radius:50%;border:1px solid #e1e1e1;display:-webkit-box; display: -moz-box; display: -ms-flexbox; display: -webkit-flex; display: flex;justify-content:center;flex-direction:row;align-items:center;-webkit-flex-shrink:0;-webkit-box-pack:center;-webkit-justify-content:center;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-webkit-flex-direction:row;-webkit-box-align:center;-webkit-align-items:center;}.css-v6oua5,[data-css-v6oua5]{display:-webkit-box; display: -moz-box; display: -ms-flexbox; display: -webkit-flex; display: flex;margin-top:15px;}.css-v6oua5 div,[data-css-v6oua5] div{font-family:Open Sans, Helvetica Neue, Helvetica, Arial, sans;font-weight:400;font-size:14px;line-height:1.7;letter-spacing:normal;-webkit-font-smoothing:antialiased;color:#707070;}.css-16r6zz5,[data-css-16r6zz5]{height:25px;width:25px;margin-right:5px;}.css-16r6zz5 svg > g,[data-css-16r6zz5] svg > g{fill:#068dfe;stroke:#068dfe;}.css-f2odf3,[data-css-f2odf3]{width:100%;padding:20px 20px 0;display:-webkit-box; display: -moz-box; display: -ms-flexbox; display: -webkit-flex; display: flex;justify-content:initial;flex-direction:column;align-items:center;-webkit-box-pack:initial;-webkit-justify-content:initial;-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-direction:column;-webkit-box-align:center;-webkit-align-items:center;}.css-f2odf3 > div:last-child,[data-css-f2odf3] > div:last-child{border-bottom:none;}@media only screen and (max-width: 1199px){.css-f2odf3,[data-css-f2odf3]{width:95%;}}@media only screen and (max-width: 768px){.css-f2odf3,[data-css-f2odf3]{width:93%;}}@media only screen and (max-width: 480px){.css-f2odf3,[data-css-f2odf3]{width:97%;}}.css-1m02by6,[data-css-1m02by6]{width:100%;height:42px;border-radius:4px;padding-left:10px;background:#fafafa;display:-webkit-box; display: -moz-box; display: -ms-flexbox; display: -webkit-flex; display: flex;justify-content:flex-start;flex-direction:row;align-items:center;-webkit-box-pack:start;-webkit-justify-content:flex-start;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-webkit-flex-direction:row;-webkit-box-align:center;-webkit-align-items:center;}.css-1m02by6 h2,[data-css-1m02by6] h2{font-family:Open Sans, Helvetica Neue, Helvetica, Arial, sans;font-weight:600;font-size:14px;line-height:1.7;letter-spacing:normal;-webkit-font-smoothing:antialiased;color:#707070;margin:0;text-transform:uppercase;}.css-gpa5xw,[data-css-gpa5xw]{font-family:Open Sans, Helvetica Neue, Helvetica, Arial, sans;font-weight:400;font-size:13px;line-height:1.7;letter-spacing:normal;-webkit-font-smoothing:antialiased;color:#707070;display:-webkit-box; display: -moz-box; display: -ms-flexbox; display: -webkit-flex; display: flex;flex-direction:column;margin-left:0;margin-right:0;width:100%;-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-direction:column;}.css-gpa5xw strong,[data-css-gpa5xw] strong{color:#333;}.css-gpa5xw:last-child > div,[data-css-gpa5xw]:last-child > div{margin:0;max-width:260px;}@media only screen and (max-width: 480px){.css-gpa5xw,[data-css-gpa5xw]{padding:0;box-sizing:border-box;}}@media only screen and (max-width: 812px){.css-gpa5xw > div,[data-css-gpa5xw] > div{display:-webkit-box; display: -moz-box; display: -ms-flexbox; display: -webkit-flex; display: flex;justify-content:center;-webkit-box-pack:center;-webkit-justify-content:center;}}@media only screen and (max-width: 768px){.css-gpa5xw:last-child > div,[data-css-gpa5xw]:last-child > div{margin:0;max-width:100%;}}</style> <div id="ToolAlternatives-react-component-4fc15ef7-7e62-4d15-9ed3-8f2cfea81f59" data-ssr="true" ><div class="css-1wr1kub"><div class="css-1nxoxgf"><div class="css-mtutfo"><div class="css-f3khu"><div data-testid="breadcrumbs" class="css-1ag7ge9"><a href="/" class="css-ld8qhm">Home</a><div class="css-11b98zt"></div><a href="/application_and_data" class="css-ld8qhm">Application and Data</a><div class="css-11b98zt"></div><a href="/assets-and-media" class="css-ld8qhm">Assets and Media</a><div class="css-11b98zt"></div><a href="/cdn" class="css-ld8qhm">Content Delivery Network</a></div></div><div class="css-12i35kv"><div class="css-1mjw833"><div class="css-a5x1lt"><a href="http://aws.amazon.com/cloudfront/" target="_blank" rel="noopener noreferrer" title="Alternatives to Amazon CloudFront website"><img src="https://img.stackshare.io/service/13/amazon-cloudfront.png" alt="Alternatives to Amazon CloudFront logo" class="css-1m5j888"/></a><div class="css-4bpmfq"><div class="css-1pvkxrw"><h1 class="css-1cylxxa">Alternatives to Amazon CloudFront</h1></div><div class="css-1g92dqh"><span class="css-1x2bey4"> Akamai, CloudFlare, Google Cloud Storage, Fastly, and MaxCDN are the most popular alternatives and competitors to Amazon CloudFront. </span></div></div></div></div><div class="css-1cs0rzs"><div class="css-1j0qgmo"><div class="css-kxs423"><a href="/jobs/amazon-cloudfront"><svg class="css-1krun48" id="Layer_1" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 30 30"><g><path class="st0" d="M.7 16.8h28.6v1.8H.7v-1.8zm27.7.9l-.9.9v-1.8l.9.9z"></path><path class="st0" d="M4.6 6.1h20.7c2.2 0 3.9 1.8 3.9 3.9v13.6c0 2.2-1.8 3.9-3.9 3.9H4.6c-2.2 0-3.9-1.8-3.9-3.9V10c0-2.2 1.8-3.9 3.9-3.9zm0 1.8c-1.2 0-2.1 1-2.1 2.1v13.6c0 1.2 1 2.1 2.1 2.1h20.7c1.2 0 2.1-1 2.1-2.1V10c0-1.2-1-2.1-2.1-2.1H4.6z"></path><path class="st0" d="M10.5 16.8v4.3c0 1.1.9 2 2 2h5c1.1 0 2-.9 2-2v-4.3h-1.8v4.3c0 .1-.1.2-.2.2h-5c-.1 0-.2-.1-.2-.2v-4.3h-1.8zM8.8 7V4.5c0-1.1.9-2 2-2h8.6c1.1 0 2 .9 2 2V7h-1.8V4.5c0-.1-.1-.2-.2-.2h-8.6c-.1 0-.2.1-.2.2V7H8.8z"></path></g></svg> <div class="css-eemya1">View Jobs</div></a><a href="/amazon-cloudfront"><svg xmlns="http://www.w3.org/2000/svg" width="15" height="16" viewBox="0 0 15 16"><path fill="#068DFE" fill-rule="evenodd" d="M13.564 13.523c.263-.26.407-.607.407-.976 0-.368-.144-.715-.407-.975L7.516 5.906a3.076 3.076 0 0 0-.144-.131l-.235-.197.11-.286a3.265 3.265 0 0 0-.752-3.471A3.307 3.307 0 0 0 4.162.86c-.013 0-.027 0-.04.002l1.82 1.806-.783 2.459-2.472.777L.862 4.093a3.25 3.25 0 0 0 .965 2.355c.53.528 1.22.84 1.94.927a4.44 4.44 0 0 1 1.993-.486c2.467 0 4.475 1.996 4.475 4.45 0 .222-.034.434-.066.647l1.432 1.53a1.398 1.398 0 0 0 1.963.007zM5.76 14.656a3.341 3.341 0 0 0 3.268-2.631c.047-.222.073-.451.073-.686 0-.19-.025-.375-.057-.557a3.32 3.32 0 0 0-2.478-2.65 3.299 3.299 0 0 0-.806-.11c-.4 0-.78.083-1.134.21-1.284.464-2.207 1.676-2.207 3.107 0 1.829 1.498 3.317 3.34 3.317zm8.396-3.711c.44.439.677 1.002.677 1.602a2.234 2.234 0 0 1-2.244 2.236 2.26 2.26 0 0 1-1.597-.657l-1.08-1.154A4.473 4.473 0 0 1 5.76 15.79c-2.467 0-4.475-1.997-4.475-4.451 0-1.32.59-2.493 1.512-3.31a4.154 4.154 0 0 1-1.578-.97 4.114 4.114 0 0 1-1.203-3.28.753.753 0 0 1 1.279-.468l1.63 1.618 1.548-.487.488-1.531-1.626-1.614a.751.751 0 0 1 .467-1.28 4.162 4.162 0 0 1 3.3 1.194 4.126 4.126 0 0 1 1.045 4.106l6.009 5.629zm-7.97-1.96l.218.235a.517.517 0 1 1-.991.205c0-.285.231-.516.517-.516.095 0 .18.032.255.076zm-.298 1.65c.216 0 .388.173.388.387v2.319a.385.385 0 0 1-.388.386.385.385 0 0 1-.388-.386v-2.32c0-.213.172-.386.388-.386zm6.083 1.109a.675.675 0 0 1 .95 0 .663.663 0 0 1 0 .942.675.675 0 0 1-.95 0 .663.663 0 0 1 0-.942z"></path></svg> <div class="css-eemya1">Tool Profile</div></a><a rel="nofollow" href="http://twitter.com/awscloud"><svg xmlns="http://www.w3.org/2000/svg" width="14" height="12" viewBox="0 0 14 12"><path fill="none" stroke="#49A8F9" d="M11.884 3.45c.486-.344.891-.79 1.236-1.275a5.58 5.58 0 0 1-1.439.385c.527-.304.892-.79 1.074-1.378a5.216 5.216 0 0 1-1.56.608A2.449 2.449 0 0 0 9.39 1a2.473 2.473 0 0 0-2.473 2.491c0 .183.02.385.06.567A7.08 7.08 0 0 1 1.83 1.446c-.203.384-.324.81-.324 1.255 0 .871.425 1.62 1.094 2.066a2.29 2.29 0 0 1-1.115-.304v.02a2.5 2.5 0 0 0 1.987 2.451 2.274 2.274 0 0 1-.649.081c-.162 0-.324-.02-.466-.04.304.992 1.236 1.66 2.31 1.681-.85.668-1.905 1.134-3.08 1.134-.203 0-.406-.02-.588-.04 1.094.709 2.412 1.093 3.81 1.093 4.58 0 7.074-3.787 7.074-7.068V3.45z"></path></svg> <div class="css-eemya1">awscloud</div></a><a rel="nofollow" href="http://aws.amazon.com/cloudfront/"><svg xmlns="http://www.w3.org/2000/svg" width="11" height="11" viewBox="0 0 11 11"><g fill="#49A8F9" fill-rule="evenodd"><path d="M10.5 0h-4a.5.5 0 0 0 0 1h2.793L4.146 6.146a.5.5 0 1 0 .708.708L10 1.707V4.5a.5.5 0 0 0 1 0v-4a.5.5 0 0 0-.5-.5"></path><path d="M8.5 5a.5.5 0 0 0-.5.5V10H1V3h4.5a.5.5 0 0 0 0-1h-5a.5.5 0 0 0-.5.5v8a.5.5 0 0 0 .5.5h8a.5.5 0 0 0 .5-.5v-5a.5.5 0 0 0-.5-.5"></path></g></svg> <div class="css-eemya1">aws.amazon.com</div></a><div class="css-3dgua6"></div></div><div class="css-1guve57"></div></div></div></div><div class="css-z63j1n"><div class="css-jyk0kg"><div><div class="css-4hck59"><div class="css-1drwozb"><div class="css-gbti5j"><label>Stacks</label><span>20K</span></div><div class="css-1ahj942"></div><div class="css-1an0suy"><label>Followers</label><span>9.6K</span><div>+ 1</div></div><div class="css-1ahj942"></div><div class="css-gbti5j"><label>Votes</label><span>935</span></div></div></div><div class="css-1dgfc7p"><button data-testid="follow" class="css-14pk3xx"><svg width="11" height="11" viewBox="0 0 11 11" xmlns="http://www.w3.org/2000/svg" fill-rule="evenodd" clip-rule="evenodd" stroke-linecap="round" stroke-linejoin="round" stroke-miterlimit="1.5"><path d="M5.5 0v11M0 5.5h11" fill="none" stroke="#fff"></path></svg> <!-- -->Follow</button><button data-testid="iUseThis" class="css-1o4togz"><svg width="11" height="11" viewBox="0 0 11 11" xmlns="http://www.w3.org/2000/svg" fill-rule="evenodd" clip-rule="evenodd" stroke-linecap="round" stroke-linejoin="round" stroke-miterlimit="1.5"><path d="M5.5 0v11M0 5.5h11" fill="none" stroke="#fff"></path></svg> I use this</button></div></div></div></div></div></div><div class="css-19r489t"></div><main class="css-1puyxnn"><div class="css-z9c3fl"><div class="css-nil"><div class="css-nil"><h2 class="css-i52n91">What is Amazon CloudFront and what are its top alternatives?</h2><div class="css-13sfqhu">Amazon CloudFront can be used to deliver your entire website, including dynamic, static, streaming, and interactive content using a global network of edge locations. Requests for your content are automatically routed to the nearest edge location, so content is delivered with the best possible performance.</div><div class="css-13sfqhu">Amazon CloudFront<!-- --> is a tool in the <strong>Content Delivery Network</strong> category of a tech stack.</div><div class="css-13sfqhu"></div><div class="css-13sfqhu"><a href="/ampstories/amazon-cloudfront" class="css-1xexurq">Explore <!-- -->Amazon CloudFront&#x27;s<!-- --> Story</a></div></div><div class="css-12257h"><h2 class="css-41bx4t">Top Alternatives to <!-- -->Amazon CloudFront</h2><div class="css-83t7xw"><ul class="css-m7giud"><li class="css-1to1q1s"><a href="/akamai"><img src="https://img.stackshare.io/service/12/thumb_retina_05272bd47547a7580e6086fe0d4d1c7f6626b349.png" alt="Akamai" class="css-np1rfd"/></a><div class="css-zwwro1"><a href="/akamai" class="css-1ps7r35">Akamai</a><p class="css-1w2c3xd">If you&#x27;ve ever shopped online, downloaded music, watched a web video or connected <span>to work remotely, you&#x27;ve probably used Akamai&#x27;s cloud platform. Akamai helps businesses connect the hyperconnected, empowering them to transform and reinvent their business online. We remove the complexities of technology, so you can focus on driving your business faster forward. </span>...</p></div></li><li class="css-1to1q1s"><a href="/cloudflare"><img src="https://img.stackshare.io/service/15/thumb_retina_twitter-profile-400x400.png" alt="CloudFlare" class="css-np1rfd"/></a><div class="css-zwwro1"><a href="/cloudflare" class="css-1ps7r35">CloudFlare</a><p class="css-1w2c3xd">Cloudflare speeds up and protects millions of websites, APIs, SaaS services, <span>and other properties connected to the Internet. </span>...</p></div></li><li class="css-1to1q1s"><a href="/google-cloud-storage"><img src="https://img.stackshare.io/service/694/thumb_retina_Cloud_Storage.png" alt="Google Cloud Storage" class="css-np1rfd"/></a><div class="css-zwwro1"><a href="/google-cloud-storage" class="css-1ps7r35">Google Cloud Storage</a><p class="css-1w2c3xd">Google Cloud Storage allows world-wide storing and retrieval of any amount of <span>data and at any time. It provides a simple programming interface which enables developers to take advantage of Google&#x27;s own reliable and fast networking infrastructure to perform data operations in a secure and cost effective manner. If expansion needs arise, developers can benefit from the scalability provided by Google&#x27;s infrastructure. </span>...</p></div></li><li class="css-1to1q1s"><a href="/fastly"><img src="https://img.stackshare.io/service/274/thumb_retina_9V2sLNfw.png" alt="Fastly" class="css-np1rfd"/></a><div class="css-zwwro1"><a href="/fastly" class="css-1ps7r35">Fastly</a><p class="css-1w2c3xd">Fastly&#x27;s real-time content delivery network gives you total control over your <span>content, unprecedented access to performance analytics, and the ability to instantly update content in 150 milliseconds. </span>...</p></div></li><li class="css-1to1q1s"><a href="/maxcdn"><img src="https://img.stackshare.io/service/14/thumb_retina_HG2q2Oxj.png" alt="MaxCDN" class="css-np1rfd"/></a><div class="css-zwwro1"><a href="/maxcdn" class="css-1ps7r35">MaxCDN</a><p class="css-1w2c3xd">The MaxCDN Content Delivery Network efficiently delivers your site’s static <span>file through hundreds of servers instead of slogging through a single host. This &quot;smart route&quot; technology distributes your content to your visitors via the city closest to them. </span>...</p></div></li><li class="css-1to1q1s"><a href="/amazon-s3"><img src="https://img.stackshare.io/service/25/thumb_retina_amazon-s3.png" alt="Amazon S3" class="css-np1rfd"/></a><div class="css-zwwro1"><a href="/amazon-s3" class="css-1ps7r35">Amazon S3</a><p class="css-1w2c3xd">Amazon Simple Storage Service provides a fully redundant data storage infrastructure <span>for storing and retrieving any amount of data, at any time, from anywhere on the web </span>...</p></div></li><li class="css-1to1q1s"><a href="/azure-cdn"><img src="https://img.stackshare.io/service/5512/thumb_retina_azure-cdn.png" alt="Azure CDN" class="css-np1rfd"/></a><div class="css-zwwro1"><a href="/azure-cdn" class="css-1ps7r35">Azure CDN</a><p class="css-1w2c3xd">It lets you reduce load times, save bandwidth, and speed responsiveness—whether <span>you’re developing or managing websites or mobile apps, or encoding and distributing streaming media, gaming software, firmware updates, or IoT endpoints. </span>...</p></div></li><li class="css-1to1q1s"><a href="/incapsula"><img src="https://img.stackshare.io/service/16/thumb_retina_pmMygGUP.jpg" alt="Incapsula" class="css-np1rfd"/></a><div class="css-zwwro1"><a href="/incapsula" class="css-1ps7r35">Incapsula</a><p class="css-1w2c3xd">Through an application-aware, global content delivery network (CDN), Incapsula <span>provides any website and web application with best-of-breed security, DDoS protection, load balancing and failover solutions. </span>...</p></div></li></ul><div class="css-n746ki"></div></div><div class="css-13u3lpy"><button class="css-1iqua1m">Sign up to see more</button></div></div></div><aside class="css-em9idi"><div class="css-12llqor"><div class="css-81jah4"></div></div></aside></div><div class="css-guqgrw"><div class="css-13hey0t"><h3 class="css-ua0sjh">Amazon CloudFront alternatives &amp; related posts</h3><div class="css-8qpfeu"><div class="css-kb8or3"><div class="css-1d3wilq"><div class="css-ljm4wn"><div class="css-mwikcm"><a href="/akamai" class="css-1jltg37"><img src="https://img.stackshare.io/service/12/thumb_retina_05272bd47547a7580e6086fe0d4d1c7f6626b349.png" alt="Akamai logo" class="css-1489hth"/></a></div><div class="css-8wh4b7"><h2 class="css-pltn6z"><a href="/akamai" class="css-1hhgtx3">Akamai</a></h2><div class="css-rpzmwi"><div class="css-12alag6"><div class="css-5f7045"><div class="css-3k44bn"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 30 30"><g fill="#A1A1A1" stroke="#A1A1A1" stroke-width=".2"><path fill-rule="evenodd" d="M20.467 21.867a2.415 2.415 0 0 1-2.318-1.74h-2.192l-.012.008-2.615-4.499h-1.598a2.415 2.415 0 1 1 0-1.35h1.641l-.058-.034 2.63-4.526.022.013h2.172a2.415 2.415 0 1 1 0 1.35h-1.424l-2.23 3.838-.002.003.001.004 2.234 3.843h1.431a2.415 2.415 0 1 1 2.318 3.09zm-.01-10.184a1.27 1.27 0 1 0-1.244-1.515v.492a1.27 1.27 0 0 0 1.244 1.023zm-11.043 2.01a1.268 1.268 0 1 0 0 2.537 1.268 1.268 0 0 0 0-2.537zm11.053 4.491a1.27 1.27 0 0 0-1.244 1.022v.493a1.27 1.27 0 0 0 1.244 1.022 1.27 1.27 0 0 0 0-2.537z"></path></g></svg></div><div class="css-1qckosq">1.9K</div></div><div class="css-5f7045"><div class="css-3k44bn"><svg class="css-1a4uubp" xmlns="http://www.w3.org/2000/svg" width="20" height="17" viewBox="0 0 20 17"><path fill="#A09F9F" fill-rule="evenodd" stroke="#999" stroke-width=".2" d="M14.432 12.715l2.348-2.746a.415.415 0 0 1 .607-.038.47.47 0 0 1 .028.646l-2.64 3.09a.419.419 0 0 1-.3.15h-.014a.414.414 0 0 1-.3-.127l-1.498-1.516a.466.466 0 0 1-.014-.637.413.413 0 0 1 .606-.015l1.177 1.193zm-3.165-.868a3.749 3.749 0 0 0 3.744 3.745 3.749 3.749 0 0 0 3.744-3.745 3.749 3.749 0 0 0-3.744-3.745 3.749 3.749 0 0 0-3.744 3.745zm2.001-4.195a4.523 4.523 0 0 1 1.743-.35 4.55 4.55 0 0 1 4.545 4.545 4.55 4.55 0 0 1-4.545 4.545 4.55 4.55 0 0 1-4.545-4.545 4.53 4.53 0 0 1 1.91-3.688c-.026-.013-.045-.029-.045-.054V5.837c0-.159.08-.308.207-.395a.588.588 0 0 0 .254-.487V2.6c0-.907-.721-1.64-1.602-1.64h-.494c-.886 0-1.603.738-1.603 1.64v2.355c0 .192.095.376.255.487a.47.47 0 0 1 .207.395v2.268a.588.588 0 0 1-.32.526c-.288.145-1.791.921-3.181 2.089a.66.66 0 0 0-.235.511v1.612a.456.456 0 0 1-.458.473.47.47 0 0 1-.466-.478v-1.612c0-.487.207-.94.575-1.249.153-.129.307-.253.461-.373V7.21a.5.5 0 0 1 .214-.41.352.352 0 0 0 .156-.296V4.618c0-.666-.525-1.206-1.172-1.206h-.394c-.646 0-1.166.54-1.166 1.201v1.886c0 .121.058.231.155.296.136.09.214.245.214.41v1.817c0 .225-.121.42-.316.52a13.83 13.83 0 0 0-2.513 1.662.421.421 0 0 0-.146.325v1.291a.487.487 0 0 1-.481.496A.487.487 0 0 1 0 12.82v-1.291c0-.425.18-.821.501-1.091.967-.821 2.003-1.411 2.479-1.667V7.435a1.368 1.368 0 0 1-.369-.936V4.613c0-1.211.958-2.192 2.129-2.192h.394c1.177 0 2.129.986 2.129 2.192v1.886c0 .356-.136.686-.369.936V8.91a19.344 19.344 0 0 1 1.733-1.037V6.059a1.557 1.557 0 0 1-.462-1.109V2.595C8.165 1.162 9.305 0 10.7 0h.495c1.399 0 2.535 1.167 2.535 2.595V4.95c0 .424-.17.82-.462 1.109v1.593z"></path></svg></div><div class="css-1qckosq">417</div></div><div class="css-5f7045"><div class="css-3k44bn"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 30 30"><path fill="#A1A1A1" stroke="#A1A1A1" stroke-width=".2" d="M23.42 15.403c.855-.864.59-2.612-.892-2.612l-3.903.002c.148-.837.363-2.226.354-2.357-.082-1.242-.863-2.754-.896-2.815-.143-.27-.862-.634-1.586-.478-.935.203-1.03.808-1.027.975 0 0 .04 1.655.044 2.097-.447.996-1.99 3.613-2.457 3.815a.706.706 0 0 0-.37-.105H7.755A.76.76 0 0 0 7 14.69v6.908a.72.72 0 0 0 .71.665h4.43a.718.718 0 0 0 .711-.722v-.23s.165-.012.24.037c.285.183.636.414 1.095.414h6.61c2.47 0 2.205-2.224 1.98-2.527.417-.46.675-1.273.323-1.915.27-.29.746-1.09.32-1.917zM11.986 21.54H7.71v-6.894h4.278v6.894zm10.28-6.196l-.041.17c1.138.329.532 1.659-.284 1.745l-.04.17c1.091.282.57 1.652-.285 1.745l-.04.17c.891.149.675 1.691-.675 1.691l-6.722.003c-.475 0-.907-.549-1.257-.549h-.304v-5.306c.38-.239.846-.549 1.106-.772.49-.424 2.497-3.71 2.497-4.122 0-.412-.045-2.191-.045-2.191s.394-.514 1.272-.14c0 0 .74 1.406.815 2.526 0 0-.333 2.307-.512 3.03h4.66c1.146.002.927 1.659-.146 1.83z"></path></svg></div><div class="css-1qckosq">0</div></div></div></div><div class="css-q4ncy">The leading platform for cloud, mobile, media and security across any device, anywhere.</div><div class="css-1mj0hbk"><div class="css-1drwozb"><div class="css-gbti5j"><label>Stacks</label><span>1.9K</span></div><div class="css-1ahj942"></div><div class="css-1an0suy"><label>Followers</label><span>417</span><div>+ 1</div></div><div class="css-1ahj942"></div><div class="css-gbti5j"><label>Votes</label><span>0</span></div></div></div></div></div><div class="css-1dnnpo5"><div class="css-ubpjqb"><button data-testid="follow" class="css-14pk3xx"><svg width="11" height="11" viewBox="0 0 11 11" xmlns="http://www.w3.org/2000/svg" fill-rule="evenodd" clip-rule="evenodd" stroke-linecap="round" stroke-linejoin="round" stroke-miterlimit="1.5"><path d="M5.5 0v11M0 5.5h11" fill="none" stroke="#fff"></path></svg> <!-- -->Follow</button><button data-testid="iUseThis" class="css-1o4togz"><svg width="11" height="11" viewBox="0 0 11 11" xmlns="http://www.w3.org/2000/svg" fill-rule="evenodd" clip-rule="evenodd" stroke-linecap="round" stroke-linejoin="round" stroke-miterlimit="1.5"><path d="M5.5 0v11M0 5.5h11" fill="none" stroke="#fff"></path></svg> I use this</button></div></div></div><div class="css-1erkkk4"><div class="css-a55l86"><div class="css-usifiy">PROS OF <!-- -->AKAMAI</div><div class="css-6t66tf"><div class="css-nil"><div class="css-1v4wqws"><div class="css-nil"><div class="css-1x4ysa3"><h2 hidden="" class="css-nil"></h2><ul class="css-7c9av6"></ul><div class="css-16s8o6z">Be the first to leave a pro</div></div></div></div></div></div></div><div class="css-a55l86"><div class="css-usifiy">CONS OF <!-- -->AKAMAI</div><div class="css-6t66tf"><div class="css-nil"><div class="css-1v4wqws"><div class="css-nil"><div class="css-1x4ysa3"><h2 hidden="" class="css-nil"></h2><ul class="css-7c9av6"></ul><div class="css-16s8o6z">Be the first to leave a con</div></div></div></div></div></div></div><div class="css-a55l86"><div class="css-usifiy">COMPARE</div><div class="css-6t66tf"><div class="css-1bn5mmw"><a href="/stackups/akamai-vs-amazon-cloudfront" class="css-1dnwvu3"><div class="css-1v4bhi8"><img src="https://img.stackshare.io/service/12/thumb_retina_05272bd47547a7580e6086fe0d4d1c7f6626b349.png" alt="Akamai logo" class="css-6wyd29"/><div class="css-19dpmz">VS</div><img src="https://img.stackshare.io/service/13/thumb_retina_amazon-cloudfront.png" alt="Amazon CloudFront logo" class="css-6wyd29"/></div><div class="css-v6oua5"><div class="css-16r6zz5"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 30 30"><g fill="#A1A1A1" stroke="#A1A1A1" stroke-width=".2"><path d="M13.626 18.015l.511-.81a.405.405 0 0 0-.136-.565.422.422 0 0 0-.576.133l-.51.81c-.927 1.469-2.25 2.312-3.632 2.312H7.416a.412.412 0 1 0 0 .823h1.87c1.68-.007 3.26-.99 4.34-2.703zm9.944-7.882l-2.023-1.99a.42.42 0 0 0-.59 0 .403.403 0 0 0 0 .578l1.316 1.291h-1.939c-1.676 0-3.26.984-4.34 2.697l-.314.498a.405.405 0 0 0 .137.566.42.42 0 0 0 .572-.134l.313-.499c.927-1.468 2.249-2.308 3.632-2.308h1.936l-1.315 1.291a.403.403 0 0 0 0 .579c.082.08.188.12.297.12a.42.42 0 0 0 .296-.12l2.027-1.99a.406.406 0 0 0-.003-.58zm-.862.34v-.04l.02.02-.02.02z"></path><path d="M20.954 22.581c.082.08.188.12.297.12a.42.42 0 0 0 .296-.12l2.027-1.99a.403.403 0 0 0 0-.58l-2.027-1.986a.42.42 0 0 0-.59 0 .403.403 0 0 0 0 .578l1.316 1.292h-1.877c-1.38 0-2.706-.843-3.632-2.312L13.69 12.71c-1.08-1.716-2.664-2.697-4.34-2.697H7.416a.412.412 0 1 0 0 .823h1.931c1.38 0 2.705.843 3.632 2.309l3.073 4.874c1.08 1.716 2.664 2.7 4.34 2.7h1.877l-1.315 1.291a.4.4 0 0 0 0 .572zm1.754-2.265l.02.02-.02.02v-.04z"></path></g></svg></div><div>Compare Akamai vs Amazon CloudFront</div></div></a></div></div></div></div></div><div class="css-f2odf3"><div class="css-1m02by6"><h2>related Akamai posts</h2></div></div></div><div class="css-8qpfeu"><div class="css-kb8or3"><div class="css-1d3wilq"><div class="css-ljm4wn"><div class="css-mwikcm"><a href="/cloudflare" class="css-1jltg37"><img src="https://img.stackshare.io/service/15/thumb_retina_twitter-profile-400x400.png" alt="CloudFlare logo" class="css-1489hth"/></a></div><div class="css-8wh4b7"><h2 class="css-pltn6z"><a href="/cloudflare" class="css-1hhgtx3">CloudFlare</a></h2><div class="css-rpzmwi"><div class="css-12alag6"><div class="css-5f7045"><div class="css-3k44bn"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 30 30"><g fill="#A1A1A1" stroke="#A1A1A1" stroke-width=".2"><path fill-rule="evenodd" d="M20.467 21.867a2.415 2.415 0 0 1-2.318-1.74h-2.192l-.012.008-2.615-4.499h-1.598a2.415 2.415 0 1 1 0-1.35h1.641l-.058-.034 2.63-4.526.022.013h2.172a2.415 2.415 0 1 1 0 1.35h-1.424l-2.23 3.838-.002.003.001.004 2.234 3.843h1.431a2.415 2.415 0 1 1 2.318 3.09zm-.01-10.184a1.27 1.27 0 1 0-1.244-1.515v.492a1.27 1.27 0 0 0 1.244 1.023zm-11.043 2.01a1.268 1.268 0 1 0 0 2.537 1.268 1.268 0 0 0 0-2.537zm11.053 4.491a1.27 1.27 0 0 0-1.244 1.022v.493a1.27 1.27 0 0 0 1.244 1.022 1.27 1.27 0 0 0 0-2.537z"></path></g></svg></div><div class="css-1qckosq">72.1K</div></div><div class="css-5f7045"><div class="css-3k44bn"><svg class="css-1a4uubp" xmlns="http://www.w3.org/2000/svg" width="20" height="17" viewBox="0 0 20 17"><path fill="#A09F9F" fill-rule="evenodd" stroke="#999" stroke-width=".2" d="M14.432 12.715l2.348-2.746a.415.415 0 0 1 .607-.038.47.47 0 0 1 .028.646l-2.64 3.09a.419.419 0 0 1-.3.15h-.014a.414.414 0 0 1-.3-.127l-1.498-1.516a.466.466 0 0 1-.014-.637.413.413 0 0 1 .606-.015l1.177 1.193zm-3.165-.868a3.749 3.749 0 0 0 3.744 3.745 3.749 3.749 0 0 0 3.744-3.745 3.749 3.749 0 0 0-3.744-3.745 3.749 3.749 0 0 0-3.744 3.745zm2.001-4.195a4.523 4.523 0 0 1 1.743-.35 4.55 4.55 0 0 1 4.545 4.545 4.55 4.55 0 0 1-4.545 4.545 4.55 4.55 0 0 1-4.545-4.545 4.53 4.53 0 0 1 1.91-3.688c-.026-.013-.045-.029-.045-.054V5.837c0-.159.08-.308.207-.395a.588.588 0 0 0 .254-.487V2.6c0-.907-.721-1.64-1.602-1.64h-.494c-.886 0-1.603.738-1.603 1.64v2.355c0 .192.095.376.255.487a.47.47 0 0 1 .207.395v2.268a.588.588 0 0 1-.32.526c-.288.145-1.791.921-3.181 2.089a.66.66 0 0 0-.235.511v1.612a.456.456 0 0 1-.458.473.47.47 0 0 1-.466-.478v-1.612c0-.487.207-.94.575-1.249.153-.129.307-.253.461-.373V7.21a.5.5 0 0 1 .214-.41.352.352 0 0 0 .156-.296V4.618c0-.666-.525-1.206-1.172-1.206h-.394c-.646 0-1.166.54-1.166 1.201v1.886c0 .121.058.231.155.296.136.09.214.245.214.41v1.817c0 .225-.121.42-.316.52a13.83 13.83 0 0 0-2.513 1.662.421.421 0 0 0-.146.325v1.291a.487.487 0 0 1-.481.496A.487.487 0 0 1 0 12.82v-1.291c0-.425.18-.821.501-1.091.967-.821 2.003-1.411 2.479-1.667V7.435a1.368 1.368 0 0 1-.369-.936V4.613c0-1.211.958-2.192 2.129-2.192h.394c1.177 0 2.129.986 2.129 2.192v1.886c0 .356-.136.686-.369.936V8.91a19.344 19.344 0 0 1 1.733-1.037V6.059a1.557 1.557 0 0 1-.462-1.109V2.595C8.165 1.162 9.305 0 10.7 0h.495c1.399 0 2.535 1.167 2.535 2.595V4.95c0 .424-.17.82-.462 1.109v1.593z"></path></svg></div><div class="css-1qckosq">18.9K</div></div><div class="css-5f7045"><div class="css-3k44bn"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 30 30"><path fill="#A1A1A1" stroke="#A1A1A1" stroke-width=".2" d="M23.42 15.403c.855-.864.59-2.612-.892-2.612l-3.903.002c.148-.837.363-2.226.354-2.357-.082-1.242-.863-2.754-.896-2.815-.143-.27-.862-.634-1.586-.478-.935.203-1.03.808-1.027.975 0 0 .04 1.655.044 2.097-.447.996-1.99 3.613-2.457 3.815a.706.706 0 0 0-.37-.105H7.755A.76.76 0 0 0 7 14.69v6.908a.72.72 0 0 0 .71.665h4.43a.718.718 0 0 0 .711-.722v-.23s.165-.012.24.037c.285.183.636.414 1.095.414h6.61c2.47 0 2.205-2.224 1.98-2.527.417-.46.675-1.273.323-1.915.27-.29.746-1.09.32-1.917zM11.986 21.54H7.71v-6.894h4.278v6.894zm10.28-6.196l-.041.17c1.138.329.532 1.659-.284 1.745l-.04.17c1.091.282.57 1.652-.285 1.745l-.04.17c.891.149.675 1.691-.675 1.691l-6.722.003c-.475 0-.907-.549-1.257-.549h-.304v-5.306c.38-.239.846-.549 1.106-.772.49-.424 2.497-3.71 2.497-4.122 0-.412-.045-2.191-.045-2.191s.394-.514 1.272-.14c0 0 .74 1.406.815 2.526 0 0-.333 2.307-.512 3.03h4.66c1.146.002.927 1.659-.146 1.83z"></path></svg></div><div class="css-1qckosq">1.8K</div></div></div></div><div class="css-q4ncy">The Web Performance &amp; Security Company.</div><div class="css-1mj0hbk"><div class="css-1drwozb"><div class="css-gbti5j"><label>Stacks</label><span>72.1K</span></div><div class="css-1ahj942"></div><div class="css-1an0suy"><label>Followers</label><span>18.9K</span><div>+ 1</div></div><div class="css-1ahj942"></div><div class="css-gbti5j"><label>Votes</label><span>1.8K</span></div></div></div></div></div><div class="css-1dnnpo5"><div class="css-ubpjqb"><button data-testid="follow" class="css-14pk3xx"><svg width="11" height="11" viewBox="0 0 11 11" xmlns="http://www.w3.org/2000/svg" fill-rule="evenodd" clip-rule="evenodd" stroke-linecap="round" stroke-linejoin="round" stroke-miterlimit="1.5"><path d="M5.5 0v11M0 5.5h11" fill="none" stroke="#fff"></path></svg> <!-- -->Follow</button><button data-testid="iUseThis" class="css-1o4togz"><svg width="11" height="11" viewBox="0 0 11 11" xmlns="http://www.w3.org/2000/svg" fill-rule="evenodd" clip-rule="evenodd" stroke-linecap="round" stroke-linejoin="round" stroke-miterlimit="1.5"><path d="M5.5 0v11M0 5.5h11" fill="none" stroke="#fff"></path></svg> I use this</button></div></div></div><div class="css-1erkkk4"><div class="css-a55l86"><div class="css-usifiy">PROS OF <!-- -->CLOUDFLARE</div><div class="css-6t66tf"><div class="css-nil"><div class="css-1v4wqws"><div class="css-nil"><div class="css-1x4ysa3"><h2 hidden="" class="css-nil"></h2><ul class="css-7c9av6"><li class="css-6nrkpz"><div class="css-1mlbi0l"><div class="css-1cda8k4"><div class="css-2an9kq"><svg style="margin-top:3px;margin-bottom:3px" xmlns="http://www.w3.org/2000/svg" width="10" height="8" viewBox="0 0 10 8"><path fill="#565656" fill-rule="evenodd" d="M5 0l5 8H0z"></path></svg><span class="css-5x5cr6">422</span></div></div><span class="css-rsz8c">Easy setup, great cdn</span></div></li><li class="css-6nrkpz"><div class="css-1mlbi0l"><div class="css-1cda8k4"><div class="css-2an9kq"><svg style="margin-top:3px;margin-bottom:3px" xmlns="http://www.w3.org/2000/svg" width="10" height="8" viewBox="0 0 10 8"><path fill="#565656" fill-rule="evenodd" d="M5 0l5 8H0z"></path></svg><span class="css-5x5cr6">275</span></div></div><span class="css-rsz8c">Free ssl</span></div></li><li class="css-6nrkpz"><div class="css-1mlbi0l"><div class="css-1cda8k4"><div class="css-2an9kq"><svg style="margin-top:3px;margin-bottom:3px" xmlns="http://www.w3.org/2000/svg" width="10" height="8" viewBox="0 0 10 8"><path fill="#565656" fill-rule="evenodd" d="M5 0l5 8H0z"></path></svg><span class="css-5x5cr6">199</span></div></div><span class="css-rsz8c">Easy setup</span></div></li><li class="css-6nrkpz"><div class="css-1mlbi0l"><div class="css-1cda8k4"><div class="css-2an9kq"><svg style="margin-top:3px;margin-bottom:3px" xmlns="http://www.w3.org/2000/svg" width="10" height="8" viewBox="0 0 10 8"><path fill="#565656" fill-rule="evenodd" d="M5 0l5 8H0z"></path></svg><span class="css-5x5cr6">189</span></div></div><span class="css-rsz8c">Security</span></div></li><li class="css-6nrkpz"><div class="css-1mlbi0l"><div class="css-1cda8k4"><div class="css-2an9kq"><svg style="margin-top:3px;margin-bottom:3px" xmlns="http://www.w3.org/2000/svg" width="10" height="8" viewBox="0 0 10 8"><path fill="#565656" fill-rule="evenodd" d="M5 0l5 8H0z"></path></svg><span class="css-5x5cr6">180</span></div></div><span class="css-rsz8c">Ssl</span></div></li><li class="css-6nrkpz"><div class="css-1mlbi0l"><div class="css-1cda8k4"><div class="css-2an9kq"><svg style="margin-top:3px;margin-bottom:3px" xmlns="http://www.w3.org/2000/svg" width="10" height="8" viewBox="0 0 10 8"><path fill="#565656" fill-rule="evenodd" d="M5 0l5 8H0z"></path></svg><span class="css-5x5cr6">98</span></div></div><span class="css-rsz8c">Great cdn</span></div></li><li class="css-6nrkpz"><div class="css-1mlbi0l"><div class="css-1cda8k4"><div class="css-2an9kq"><svg style="margin-top:3px;margin-bottom:3px" xmlns="http://www.w3.org/2000/svg" width="10" height="8" viewBox="0 0 10 8"><path fill="#565656" fill-rule="evenodd" d="M5 0l5 8H0z"></path></svg><span class="css-5x5cr6">77</span></div></div><span class="css-rsz8c">Optimizer</span></div></li><li class="css-6nrkpz"><div class="css-1mlbi0l"><div class="css-1cda8k4"><div class="css-2an9kq"><svg style="margin-top:3px;margin-bottom:3px" xmlns="http://www.w3.org/2000/svg" width="10" height="8" viewBox="0 0 10 8"><path fill="#565656" fill-rule="evenodd" d="M5 0l5 8H0z"></path></svg><span class="css-5x5cr6">71</span></div></div><span class="css-rsz8c">Simple</span></div></li><li class="css-6nrkpz"><div class="css-1mlbi0l"><div class="css-1cda8k4"><div class="css-2an9kq"><svg style="margin-top:3px;margin-bottom:3px" xmlns="http://www.w3.org/2000/svg" width="10" height="8" viewBox="0 0 10 8"><path fill="#565656" fill-rule="evenodd" d="M5 0l5 8H0z"></path></svg><span class="css-5x5cr6">44</span></div></div><span class="css-rsz8c">Great UI</span></div></li><li class="css-6nrkpz"><div class="css-1mlbi0l"><div class="css-1cda8k4"><div class="css-2an9kq"><svg style="margin-top:3px;margin-bottom:3px" xmlns="http://www.w3.org/2000/svg" width="10" height="8" viewBox="0 0 10 8"><path fill="#565656" fill-rule="evenodd" d="M5 0l5 8H0z"></path></svg><span class="css-5x5cr6">28</span></div></div><span class="css-rsz8c">Great js cdn</span></div></li><li class="css-6nrkpz"><div class="css-1mlbi0l"><div class="css-1cda8k4"><div class="css-2an9kq"><svg style="margin-top:3px;margin-bottom:3px" xmlns="http://www.w3.org/2000/svg" width="10" height="8" viewBox="0 0 10 8"><path fill="#565656" fill-rule="evenodd" d="M5 0l5 8H0z"></path></svg><span class="css-5x5cr6">12</span></div></div><span class="css-rsz8c">HTTP/2 Support</span></div></li><li class="css-6nrkpz"><div class="css-1mlbi0l"><div class="css-1cda8k4"><div class="css-2an9kq"><svg style="margin-top:3px;margin-bottom:3px" xmlns="http://www.w3.org/2000/svg" width="10" height="8" viewBox="0 0 10 8"><path fill="#565656" fill-rule="evenodd" d="M5 0l5 8H0z"></path></svg><span class="css-5x5cr6">12</span></div></div><span class="css-rsz8c">Apps</span></div></li><li class="css-6nrkpz"><div class="css-1mlbi0l"><div class="css-1cda8k4"><div class="css-2an9kq"><svg style="margin-top:3px;margin-bottom:3px" xmlns="http://www.w3.org/2000/svg" width="10" height="8" viewBox="0 0 10 8"><path fill="#565656" fill-rule="evenodd" d="M5 0l5 8H0z"></path></svg><span class="css-5x5cr6">12</span></div></div><span class="css-rsz8c">DNS Analytics</span></div></li><li class="css-6nrkpz"><div class="css-1mlbi0l"><div class="css-1cda8k4"><div class="css-2an9kq"><svg style="margin-top:3px;margin-bottom:3px" xmlns="http://www.w3.org/2000/svg" width="10" height="8" viewBox="0 0 10 8"><path fill="#565656" fill-rule="evenodd" d="M5 0l5 8H0z"></path></svg><span class="css-5x5cr6">12</span></div></div><span class="css-rsz8c">AutoMinify</span></div></li><li class="css-6nrkpz"><div class="css-1mlbi0l"><div class="css-1cda8k4"><div class="css-2an9kq"><svg style="margin-top:3px;margin-bottom:3px" xmlns="http://www.w3.org/2000/svg" width="10" height="8" viewBox="0 0 10 8"><path fill="#565656" fill-rule="evenodd" d="M5 0l5 8H0z"></path></svg><span class="css-5x5cr6">9</span></div></div><span class="css-rsz8c">Ipv6</span></div></li><li class="css-6nrkpz"><div class="css-1mlbi0l"><div class="css-1cda8k4"><div class="css-2an9kq"><svg style="margin-top:3px;margin-bottom:3px" xmlns="http://www.w3.org/2000/svg" width="10" height="8" viewBox="0 0 10 8"><path fill="#565656" fill-rule="evenodd" d="M5 0l5 8H0z"></path></svg><span class="css-5x5cr6">9</span></div></div><span class="css-rsz8c">Rocket Loader</span></div></li><li class="css-6nrkpz"><div class="css-1mlbi0l"><div class="css-1cda8k4"><div class="css-2an9kq"><svg style="margin-top:3px;margin-bottom:3px" xmlns="http://www.w3.org/2000/svg" width="10" height="8" viewBox="0 0 10 8"><path fill="#565656" fill-rule="evenodd" d="M5 0l5 8H0z"></path></svg><span class="css-5x5cr6">9</span></div></div><span class="css-rsz8c">Easy</span></div></li><li class="css-6nrkpz"><div class="css-1mlbi0l"><div class="css-1cda8k4"><div class="css-2an9kq"><svg style="margin-top:3px;margin-bottom:3px" xmlns="http://www.w3.org/2000/svg" width="10" height="8" viewBox="0 0 10 8"><path fill="#565656" fill-rule="evenodd" d="M5 0l5 8H0z"></path></svg><span class="css-5x5cr6">8</span></div></div><span class="css-rsz8c">IPv6 &quot;One Click&quot;</span></div></li><li class="css-6nrkpz"><div class="css-1mlbi0l"><div class="css-1cda8k4"><div class="css-2an9kq"><svg style="margin-top:3px;margin-bottom:3px" xmlns="http://www.w3.org/2000/svg" width="10" height="8" viewBox="0 0 10 8"><path fill="#565656" fill-rule="evenodd" d="M5 0l5 8H0z"></path></svg><span class="css-5x5cr6">7</span></div></div><span class="css-rsz8c">DNSSEC</span></div></li><li class="css-6nrkpz"><div class="css-1mlbi0l"><div class="css-1cda8k4"><div class="css-2an9kq"><svg style="margin-top:3px;margin-bottom:3px" xmlns="http://www.w3.org/2000/svg" width="10" height="8" viewBox="0 0 10 8"><path fill="#565656" fill-rule="evenodd" d="M5 0l5 8H0z"></path></svg><span class="css-5x5cr6">7</span></div></div><span class="css-rsz8c">Free GeoIP</span></div></li><li class="css-6nrkpz"><div class="css-1mlbi0l"><div class="css-1cda8k4"><div class="css-2an9kq"><svg style="margin-top:3px;margin-bottom:3px" xmlns="http://www.w3.org/2000/svg" width="10" height="8" viewBox="0 0 10 8"><path fill="#565656" fill-rule="evenodd" d="M5 0l5 8H0z"></path></svg><span class="css-5x5cr6">7</span></div></div><span class="css-rsz8c">Amazing performance</span></div></li><li class="css-6nrkpz"><div class="css-1mlbi0l"><div class="css-1cda8k4"><div class="css-2an9kq"><svg style="margin-top:3px;margin-bottom:3px" xmlns="http://www.w3.org/2000/svg" width="10" height="8" viewBox="0 0 10 8"><path fill="#565656" fill-rule="evenodd" d="M5 0l5 8H0z"></path></svg><span class="css-5x5cr6">7</span></div></div><span class="css-rsz8c">API</span></div></li><li class="css-6nrkpz"><div class="css-1mlbi0l"><div class="css-1cda8k4"><div class="css-2an9kq"><svg style="margin-top:3px;margin-bottom:3px" xmlns="http://www.w3.org/2000/svg" width="10" height="8" viewBox="0 0 10 8"><path fill="#565656" fill-rule="evenodd" d="M5 0l5 8H0z"></path></svg><span class="css-5x5cr6">7</span></div></div><span class="css-rsz8c">Cheapest SSL</span></div></li><li class="css-6nrkpz"><div class="css-1mlbi0l"><div class="css-1cda8k4"><div class="css-2an9kq"><svg style="margin-top:3px;margin-bottom:3px" xmlns="http://www.w3.org/2000/svg" width="10" height="8" viewBox="0 0 10 8"><path fill="#565656" fill-rule="evenodd" d="M5 0l5 8H0z"></path></svg><span class="css-5x5cr6">7</span></div></div><span class="css-rsz8c">Fantastic CDN service</span></div></li><li class="css-6nrkpz"><div class="css-1mlbi0l"><div class="css-1cda8k4"><div class="css-2an9kq"><svg style="margin-top:3px;margin-bottom:3px" xmlns="http://www.w3.org/2000/svg" width="10" height="8" viewBox="0 0 10 8"><path fill="#565656" fill-rule="evenodd" d="M5 0l5 8H0z"></path></svg><span class="css-5x5cr6">7</span></div></div><span class="css-rsz8c">Nice DNS</span></div></li><li class="css-6nrkpz"><div class="css-1mlbi0l"><div class="css-1cda8k4"><div class="css-2an9kq"><svg style="margin-top:3px;margin-bottom:3px" xmlns="http://www.w3.org/2000/svg" width="10" height="8" viewBox="0 0 10 8"><path fill="#565656" fill-rule="evenodd" d="M5 0l5 8H0z"></path></svg><span class="css-5x5cr6">7</span></div></div><span class="css-rsz8c">SSHFP</span></div></li><li class="css-6nrkpz"><div class="css-1mlbi0l"><div class="css-1cda8k4"><div class="css-2an9kq"><svg style="margin-top:3px;margin-bottom:3px" xmlns="http://www.w3.org/2000/svg" width="10" height="8" viewBox="0 0 10 8"><path fill="#565656" fill-rule="evenodd" d="M5 0l5 8H0z"></path></svg><span class="css-5x5cr6">6</span></div></div><span class="css-rsz8c">Free and reliable, Faster then anyone else</span></div></li><li class="css-6nrkpz"><div class="css-1mlbi0l"><div class="css-1cda8k4"><div class="css-2an9kq"><svg style="margin-top:3px;margin-bottom:3px" xmlns="http://www.w3.org/2000/svg" width="10" height="8" viewBox="0 0 10 8"><path fill="#565656" fill-rule="evenodd" d="M5 0l5 8H0z"></path></svg><span class="css-5x5cr6">6</span></div></div><span class="css-rsz8c">SPDY</span></div></li><li class="css-6nrkpz"><div class="css-1mlbi0l"><div class="css-1cda8k4"><div class="css-2an9kq"><svg style="margin-top:3px;margin-bottom:3px" xmlns="http://www.w3.org/2000/svg" width="10" height="8" viewBox="0 0 10 8"><path fill="#565656" fill-rule="evenodd" d="M5 0l5 8H0z"></path></svg><span class="css-5x5cr6">5</span></div></div><span class="css-rsz8c">Asynchronous resource loading</span></div></li><li class="css-6nrkpz"><div class="css-1mlbi0l"><div class="css-1cda8k4"><div class="css-2an9kq"><svg style="margin-top:3px;margin-bottom:3px" xmlns="http://www.w3.org/2000/svg" width="10" height="8" viewBox="0 0 10 8"><path fill="#565656" fill-rule="evenodd" d="M5 0l5 8H0z"></path></svg><span class="css-5x5cr6">4</span></div></div><span class="css-rsz8c">Easy Use</span></div></li><li class="css-6nrkpz"><div class="css-1mlbi0l"><div class="css-1cda8k4"><div class="css-2an9kq"><svg style="margin-top:3px;margin-bottom:3px" xmlns="http://www.w3.org/2000/svg" width="10" height="8" viewBox="0 0 10 8"><path fill="#565656" fill-rule="evenodd" d="M5 0l5 8H0z"></path></svg><span class="css-5x5cr6">4</span></div></div><span class="css-rsz8c">Performance</span></div></li><li class="css-6nrkpz"><div class="css-1mlbi0l"><div class="css-1cda8k4"><div class="css-2an9kq"><svg style="margin-top:3px;margin-bottom:3px" xmlns="http://www.w3.org/2000/svg" width="10" height="8" viewBox="0 0 10 8"><path fill="#565656" fill-rule="evenodd" d="M5 0l5 8H0z"></path></svg><span class="css-5x5cr6">4</span></div></div><span class="css-rsz8c">Global Load Balancing</span></div></li><li class="css-6nrkpz"><div class="css-1mlbi0l"><div class="css-1cda8k4"><div class="css-2an9kq"><svg style="margin-top:3px;margin-bottom:3px" xmlns="http://www.w3.org/2000/svg" width="10" height="8" viewBox="0 0 10 8"><path fill="#565656" fill-rule="evenodd" d="M5 0l5 8H0z"></path></svg><span class="css-5x5cr6">4</span></div></div><span class="css-rsz8c">Ubuntu</span></div></li><li class="css-6nrkpz"><div class="css-1mlbi0l"><div class="css-1cda8k4"><div class="css-2an9kq"><svg style="margin-top:3px;margin-bottom:3px" xmlns="http://www.w3.org/2000/svg" width="10" height="8" viewBox="0 0 10 8"><path fill="#565656" fill-rule="evenodd" d="M5 0l5 8H0z"></path></svg><span class="css-5x5cr6">3</span></div></div><span class="css-rsz8c">CDN</span></div></li><li class="css-6nrkpz"><div class="css-1mlbi0l"><div class="css-1cda8k4"><div class="css-2an9kq"><svg style="margin-top:3px;margin-bottom:3px" xmlns="http://www.w3.org/2000/svg" width="10" height="8" viewBox="0 0 10 8"><path fill="#565656" fill-rule="evenodd" d="M5 0l5 8H0z"></path></svg><span class="css-5x5cr6">2</span></div></div><span class="css-rsz8c">Support for SSHFP records</span></div></li><li class="css-6nrkpz"><div class="css-1mlbi0l"><div class="css-1cda8k4"><div class="css-2an9kq"><svg style="margin-top:3px;margin-bottom:3px" xmlns="http://www.w3.org/2000/svg" width="10" height="8" viewBox="0 0 10 8"><path fill="#565656" fill-rule="evenodd" d="M5 0l5 8H0z"></path></svg><span class="css-5x5cr6">2</span></div></div><span class="css-rsz8c">Registrar</span></div></li><li class="css-6nrkpz"><div class="css-1mlbi0l"><div class="css-1cda8k4"><div class="css-2an9kq"><svg style="margin-top:3px;margin-bottom:3px" xmlns="http://www.w3.org/2000/svg" width="10" height="8" viewBox="0 0 10 8"><path fill="#565656" fill-rule="evenodd" d="M5 0l5 8H0z"></path></svg><span class="css-5x5cr6">1</span></div></div><span class="css-rsz8c">Web3</span></div></li><li class="css-6nrkpz"><div class="css-1mlbi0l"><div class="css-1cda8k4"><div class="css-2an9kq"><svg style="margin-top:3px;margin-bottom:3px" xmlns="http://www.w3.org/2000/svg" width="10" height="8" viewBox="0 0 10 8"><path fill="#565656" fill-rule="evenodd" d="M5 0l5 8H0z"></path></svg><span class="css-5x5cr6">1</span></div></div><span class="css-rsz8c">HTTPS3/Quic</span></div></li></ul></div></div></div></div></div></div><div class="css-a55l86"><div class="css-usifiy">CONS OF <!-- -->CLOUDFLARE</div><div class="css-6t66tf"><div class="css-nil"><div class="css-1v4wqws"><div class="css-nil"><div class="css-1x4ysa3"><h2 hidden="" class="css-nil"></h2><ul class="css-7c9av6"><li class="css-6nrkpz"><div class="css-1mlbi0l"><div class="css-1cda8k4"><div class="css-2an9kq"><svg style="margin-top:3px;margin-bottom:3px" xmlns="http://www.w3.org/2000/svg" width="10" height="8" viewBox="0 0 10 8"><path fill="#565656" fill-rule="evenodd" d="M5 0l5 8H0z"></path></svg><span class="css-5x5cr6">2</span></div></div><span class="css-rsz8c">No support for SSHFP records</span></div></li><li class="css-6nrkpz"><div class="css-1mlbi0l"><div class="css-1cda8k4"><div class="css-2an9kq"><svg style="margin-top:3px;margin-bottom:3px" xmlns="http://www.w3.org/2000/svg" width="10" height="8" viewBox="0 0 10 8"><path fill="#565656" fill-rule="evenodd" d="M5 0l5 8H0z"></path></svg><span class="css-5x5cr6">2</span></div></div><span class="css-rsz8c">Expensive when you exceed their fair usage limits</span></div></li></ul></div></div></div></div></div></div><div class="css-a55l86"><div class="css-usifiy">COMPARE</div><div class="css-6t66tf"><div class="css-1bn5mmw"><a href="/stackups/cloudflare-vs-amazon-cloudfront" class="css-1dnwvu3"><div class="css-1v4bhi8"><img src="https://img.stackshare.io/service/15/thumb_retina_twitter-profile-400x400.png" alt="CloudFlare logo" class="css-6wyd29"/><div class="css-19dpmz">VS</div><img src="https://img.stackshare.io/service/13/thumb_retina_amazon-cloudfront.png" alt="Amazon CloudFront logo" class="css-6wyd29"/></div><div class="css-v6oua5"><div class="css-16r6zz5"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 30 30"><g fill="#A1A1A1" stroke="#A1A1A1" stroke-width=".2"><path d="M13.626 18.015l.511-.81a.405.405 0 0 0-.136-.565.422.422 0 0 0-.576.133l-.51.81c-.927 1.469-2.25 2.312-3.632 2.312H7.416a.412.412 0 1 0 0 .823h1.87c1.68-.007 3.26-.99 4.34-2.703zm9.944-7.882l-2.023-1.99a.42.42 0 0 0-.59 0 .403.403 0 0 0 0 .578l1.316 1.291h-1.939c-1.676 0-3.26.984-4.34 2.697l-.314.498a.405.405 0 0 0 .137.566.42.42 0 0 0 .572-.134l.313-.499c.927-1.468 2.249-2.308 3.632-2.308h1.936l-1.315 1.291a.403.403 0 0 0 0 .579c.082.08.188.12.297.12a.42.42 0 0 0 .296-.12l2.027-1.99a.406.406 0 0 0-.003-.58zm-.862.34v-.04l.02.02-.02.02z"></path><path d="M20.954 22.581c.082.08.188.12.297.12a.42.42 0 0 0 .296-.12l2.027-1.99a.403.403 0 0 0 0-.58l-2.027-1.986a.42.42 0 0 0-.59 0 .403.403 0 0 0 0 .578l1.316 1.292h-1.877c-1.38 0-2.706-.843-3.632-2.312L13.69 12.71c-1.08-1.716-2.664-2.697-4.34-2.697H7.416a.412.412 0 1 0 0 .823h1.931c1.38 0 2.705.843 3.632 2.309l3.073 4.874c1.08 1.716 2.664 2.7 4.34 2.7h1.877l-1.315 1.291a.4.4 0 0 0 0 .572zm1.754-2.265l.02.02-.02.02v-.04z"></path></g></svg></div><div>Compare CloudFlare vs Amazon CloudFront</div></div></a></div></div></div></div></div><div class="css-f2odf3"><div class="css-1m02by6"><h2>related CloudFlare posts</h2></div><div class="css-uw1ldh"><div class="css-4gnhqq"><div class="css-xkasvz"><div class="css-atv6j6"><div class="css-1m8tyev"><div class="lazyload-wrapper"><div class="lazyload-placeholder"></div></div></div></div><div class="css-1vf0ygt"><div class="css-utnqcw"><div>Johnny Bell</div></div><div class="css-ds0hbm">Software Engineer<!-- --> · <a href="/johnnyxbell/decisions/101489950087714804" class="css-nil"><time>Jan 27, 2019</time> <!-- -->| 11 upvotes · 343.8K views</a></div></div></div></div><div class="css-nil"><div class="css-dg4ww9"><svg xmlns="http://www.w3.org/2000/svg" width="21" height="21" viewBox="0 0 21 21"><g fill="none" fill-rule="evenodd"><path fill="#068DFE" fill-rule="nonzero" d="M20.918 19.017l-1.442-4.195a10.3 10.3 0 0 0 1.062-4.537 10.208 10.208 0 0 0-2.949-7.207A10.199 10.199 0 0 0 10.436 0a10.23 10.23 0 0 0-7.428 3.006A10.228 10.228 0 0 0 0 10.437a10.199 10.199 0 0 0 3.077 7.153 10.207 10.207 0 0 0 7.191 2.95h.016a10.3 10.3 0 0 0 4.537-1.063l4.195 1.442a1.485 1.485 0 0 0 1.543-.357c.408-.408.545-.999.358-1.544z"></path><rect width="7" height="1.8" x="6" y="5" fill="#FFF" rx=".9"></rect><rect width="10" height="1.8" x="6" y="9" fill="#FFF" rx=".9"></rect><rect width="7" height="1.8" x="6" y="13" fill="#FFF" rx=".9"></rect></g></svg><div class="css-z9ms26">Shared insights</div><div class="css-6uh2e7">on</div><a href="/github" class="css-1pwtf47"><span title="GitHub" class="css-t68yd0 service"><img src="https://img.stackshare.io/service/27/default_869c34d29acc794d60ecdd5d2b5bfc042a80a4ec.jpg" alt="GitHub" class="css-1rz3855"/></span><span class="css-i6njnm">GitHub</span></a><a href="/netlify" class="css-1pwtf47"><span title="Netlify" class="css-t68yd0 service"><img src="https://img.stackshare.io/service/2748/default_5dfbb146cf22182bca88c7d07f2515a5888fc12a.jpg" alt="Netlify" class="css-1rz3855"/></span><span class="css-i6njnm">Netlify</span></a><a href="/amazon-s3" class="css-1pwtf47"><span title="Amazon S3" class="css-t68yd0 service"><img src="https://img.stackshare.io/service/25/amazon-s3.png" alt="Amazon S3" class="css-1rz3855"/></span><span class="css-i6njnm">Amazon S3</span></a><a href="/buddy" class="css-1pwtf47"><span title="Buddy" class="css-t68yd0 service"><img src="https://img.stackshare.io/service/4263/eIQHH23Q_400x400.jpg" alt="Buddy" class="css-1rz3855"/></span><span class="css-i6njnm">Buddy</span></a><a href="/amazon-cloudfront" class="css-1pwtf47"><span title="Amazon CloudFront" class="css-t68yd0 service"><img src="https://img.stackshare.io/service/13/amazon-cloudfront.png" alt="Amazon CloudFront" class="css-1rz3855"/></span><span class="css-i6njnm">Amazon CloudFront</span></a><a href="/cloudflare" class="css-1pwtf47"><span title="CloudFlare" class="css-t68yd0 service"><img src="https://img.stackshare.io/service/15/twitter-profile-400x400.png" alt="CloudFlare" class="css-1rz3855"/></span><span class="css-i6njnm">CloudFlare</span></a><a href="/code-climate" class="css-1pwtf47"><span title="Code Climate" class="css-t68yd0 service"><img src="https://img.stackshare.io/service/305/KFgYaUkK.png" alt="Code Climate" class="css-1rz3855"/></span><span class="css-i6njnm">Code Climate</span></a></div><div class="css-1dp4k20"><div class="css-ztg526"><p>When I first built my portfolio I used <span class="tool">GitHub</span> for the source control and deployed directly to <span class="tool">Netlify</span> on a push to master. This was a perfect setup, I didn't need any knowledge about <span class="topic">#DevOps</span> or anything, it was all just done for me. </p> <p>One of the issues I had with <span class="tool">Netlify</span> was I wanted to <span class="topic">gzip</span> my JavaScript files, I had this setup in my <span class="topic">#Webpack</span> file, however <span class="tool">Netlify</span> didn't offer an easy way to set this. </p> <p>Over the weekend I decided I wanted to know more about how <span class="topic">#DevOps</span> worked so I decided to switch from <span class="tool">Netlify</span> to <span class="tool">Amazon S3</span>. Instead of creating any <span class="topic">#Git</span> Webhooks I decided to use <span class="tool">Buddy</span> for my pipeline and to run commands. <span class="tool">Buddy</span> is a fantastic tool, very easy to setup builds, copying the files to my <span class="tool">Amazon S3</span> bucket, then running some <span class="topic">#AWS</span> console commands to set the <code>content-encoding</code> of the JavaScript files. - <span class="tool">Buddy</span> is also free if you only have a few pipelines, so I didn't need to pay anything 🤙🏻.</p> <p>When I made these changes I also wanted to monitor my code, and make sure I was keeping up with the best practices so I implemented <span class="tool">Code Climate</span> to look over my code and tell me where there <code>code smells</code>, <code>issues</code>, and <code>other issues</code> I've been super happy with it so far, on the free tier so its also free. </p> <p>I did plan on using <span class="tool">Amazon CloudFront</span> for my SSL and cacheing, however it was overly complex to setup and it costs money. So I decided to go with the free tier of <span class="tool">CloudFlare</span> and it is amazing, best choice I've made for caching / SSL in a long time. </p></div><div class="css-13nf4of"><svg class="css-xd3exe" xmlns="http://www.w3.org/2000/svg" width="11" height="11" viewBox="0 0 11 11"><g fill="#49A8F9" fill-rule="evenodd"><path d="M10.5 0h-4a.5.5 0 0 0 0 1h2.793L4.146 6.146a.5.5 0 1 0 .708.708L10 1.707V4.5a.5.5 0 0 0 1 0v-4a.5.5 0 0 0-.5-.5"></path><path d="M8.5 5a.5.5 0 0 0-.5.5V10H1V3h4.5a.5.5 0 0 0 0-1h-5a.5.5 0 0 0-.5.5v8a.5.5 0 0 0 .5.5h8a.5.5 0 0 0 .5-.5v-5a.5.5 0 0 0-.5-.5"></path></g></svg><a href="https://stackshare.io/johnnyxbell/portfolio" title="Portfolio - johnnyxbell | StackShare" class="css-nil">Portfolio - johnnyxbell | StackShare</a></div></div></div><a class="css-1srb7t4">See more</a></div><div class="css-uw1ldh"><div class="css-4gnhqq"><div class="css-xkasvz"><div class="css-atv6j6"><div class="css-1m8tyev"><div class="lazyload-wrapper"><div class="lazyload-placeholder"></div></div></div></div><div class="css-1vf0ygt"><div class="css-utnqcw"><div>Johnny Bell</div></div><div class="css-ds0hbm">Software Engineer<!-- --> · <a href="/johnnyxbell/decisions/101654006202112063" class="css-nil"><time>Feb 25, 2019</time> <!-- -->| 7 upvotes · 251.5K views</a></div></div></div></div><div class="css-nil"><div class="css-dg4ww9"><svg xmlns="http://www.w3.org/2000/svg" width="21" height="21" viewBox="0 0 21 21"><g fill="none" fill-rule="evenodd"><path fill="#068DFE" fill-rule="nonzero" d="M20.918 19.017l-1.442-4.195a10.3 10.3 0 0 0 1.062-4.537 10.208 10.208 0 0 0-2.949-7.207A10.199 10.199 0 0 0 10.436 0a10.23 10.23 0 0 0-7.428 3.006A10.228 10.228 0 0 0 0 10.437a10.199 10.199 0 0 0 3.077 7.153 10.207 10.207 0 0 0 7.191 2.95h.016a10.3 10.3 0 0 0 4.537-1.063l4.195 1.442a1.485 1.485 0 0 0 1.543-.357c.408-.408.545-.999.358-1.544z"></path><rect width="7" height="1.8" x="6" y="5" fill="#FFF" rx=".9"></rect><rect width="10" height="1.8" x="6" y="9" fill="#FFF" rx=".9"></rect><rect width="7" height="1.8" x="6" y="13" fill="#FFF" rx=".9"></rect></g></svg><div class="css-z9ms26">Shared insights</div><div class="css-6uh2e7">on</div><a href="/amazon-s3" class="css-1pwtf47"><span title="Amazon S3" class="css-t68yd0 service"><img src="https://img.stackshare.io/service/25/amazon-s3.png" alt="Amazon S3" class="css-1rz3855"/></span><span class="css-i6njnm">Amazon S3</span></a><a href="/amazon-cloudfront" class="css-1pwtf47"><span title="Amazon CloudFront" class="css-t68yd0 service"><img src="https://img.stackshare.io/service/13/amazon-cloudfront.png" alt="Amazon CloudFront" class="css-1rz3855"/></span><span class="css-i6njnm">Amazon CloudFront</span></a><a href="/cloudflare" class="css-1pwtf47"><span title="CloudFlare" class="css-t68yd0 service"><img src="https://img.stackshare.io/service/15/twitter-profile-400x400.png" alt="CloudFlare" class="css-1rz3855"/></span><span class="css-i6njnm">CloudFlare</span></a></div><div class="css-1dp4k20"><div class="css-ztg526"><p>I recently moved my portfolio to <span class="tool">Amazon S3</span> and I needed a new way to cache and SSL my site as <span class="tool">Amazon S3</span> does not come with this right out of the box. I tried <span class="tool">Amazon CloudFront</span> as I was already on <span class="tool">Amazon S3</span> I thought this would be super easy and straight forward to setup... It was not, I was unable to get this working even though I followed all the online steps and even reached out for help to Amazon. </p> <p>I'd used <span class="tool">CloudFlare</span> in the past, and thought let me see if I can set up <span class="tool">CloudFlare</span> on an <span class="tool">Amazon S3</span> bucket. The setup for this was so basic and easy... I had it setup with caching and SSL within 5 minutes, and it was 100% free. </p></div></div></div><a class="css-1srb7t4">See more</a></div></div></div><div class="css-8qpfeu"><div class="css-kb8or3"><div class="css-1d3wilq"><div class="css-ljm4wn"><div class="css-mwikcm"><a href="/google-cloud-storage" class="css-1jltg37"><img src="https://img.stackshare.io/service/694/thumb_retina_Cloud_Storage.png" alt="Google Cloud Storage logo" class="css-1489hth"/></a></div><div class="css-8wh4b7"><h2 class="css-pltn6z"><a href="/google-cloud-storage" class="css-1hhgtx3">Google Cloud Storage</a></h2><div class="css-rpzmwi"><div class="css-12alag6"><div class="css-5f7045"><div class="css-3k44bn"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 30 30"><g fill="#A1A1A1" stroke="#A1A1A1" stroke-width=".2"><path fill-rule="evenodd" d="M20.467 21.867a2.415 2.415 0 0 1-2.318-1.74h-2.192l-.012.008-2.615-4.499h-1.598a2.415 2.415 0 1 1 0-1.35h1.641l-.058-.034 2.63-4.526.022.013h2.172a2.415 2.415 0 1 1 0 1.35h-1.424l-2.23 3.838-.002.003.001.004 2.234 3.843h1.431a2.415 2.415 0 1 1 2.318 3.09zm-.01-10.184a1.27 1.27 0 1 0-1.244-1.515v.492a1.27 1.27 0 0 0 1.244 1.023zm-11.043 2.01a1.268 1.268 0 1 0 0 2.537 1.268 1.268 0 0 0 0-2.537zm11.053 4.491a1.27 1.27 0 0 0-1.244 1.022v.493a1.27 1.27 0 0 0 1.244 1.022 1.27 1.27 0 0 0 0-2.537z"></path></g></svg></div><div class="css-1qckosq">1.5K</div></div><div class="css-5f7045"><div class="css-3k44bn"><svg class="css-1a4uubp" xmlns="http://www.w3.org/2000/svg" width="20" height="17" viewBox="0 0 20 17"><path fill="#A09F9F" fill-rule="evenodd" stroke="#999" stroke-width=".2" d="M14.432 12.715l2.348-2.746a.415.415 0 0 1 .607-.038.47.47 0 0 1 .028.646l-2.64 3.09a.419.419 0 0 1-.3.15h-.014a.414.414 0 0 1-.3-.127l-1.498-1.516a.466.466 0 0 1-.014-.637.413.413 0 0 1 .606-.015l1.177 1.193zm-3.165-.868a3.749 3.749 0 0 0 3.744 3.745 3.749 3.749 0 0 0 3.744-3.745 3.749 3.749 0 0 0-3.744-3.745 3.749 3.749 0 0 0-3.744 3.745zm2.001-4.195a4.523 4.523 0 0 1 1.743-.35 4.55 4.55 0 0 1 4.545 4.545 4.55 4.55 0 0 1-4.545 4.545 4.55 4.55 0 0 1-4.545-4.545 4.53 4.53 0 0 1 1.91-3.688c-.026-.013-.045-.029-.045-.054V5.837c0-.159.08-.308.207-.395a.588.588 0 0 0 .254-.487V2.6c0-.907-.721-1.64-1.602-1.64h-.494c-.886 0-1.603.738-1.603 1.64v2.355c0 .192.095.376.255.487a.47.47 0 0 1 .207.395v2.268a.588.588 0 0 1-.32.526c-.288.145-1.791.921-3.181 2.089a.66.66 0 0 0-.235.511v1.612a.456.456 0 0 1-.458.473.47.47 0 0 1-.466-.478v-1.612c0-.487.207-.94.575-1.249.153-.129.307-.253.461-.373V7.21a.5.5 0 0 1 .214-.41.352.352 0 0 0 .156-.296V4.618c0-.666-.525-1.206-1.172-1.206h-.394c-.646 0-1.166.54-1.166 1.201v1.886c0 .121.058.231.155.296.136.09.214.245.214.41v1.817c0 .225-.121.42-.316.52a13.83 13.83 0 0 0-2.513 1.662.421.421 0 0 0-.146.325v1.291a.487.487 0 0 1-.481.496A.487.487 0 0 1 0 12.82v-1.291c0-.425.18-.821.501-1.091.967-.821 2.003-1.411 2.479-1.667V7.435a1.368 1.368 0 0 1-.369-.936V4.613c0-1.211.958-2.192 2.129-2.192h.394c1.177 0 2.129.986 2.129 2.192v1.886c0 .356-.136.686-.369.936V8.91a19.344 19.344 0 0 1 1.733-1.037V6.059a1.557 1.557 0 0 1-.462-1.109V2.595C8.165 1.162 9.305 0 10.7 0h.495c1.399 0 2.535 1.167 2.535 2.595V4.95c0 .424-.17.82-.462 1.109v1.593z"></path></svg></div><div class="css-1qckosq">1.1K</div></div><div class="css-5f7045"><div class="css-3k44bn"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 30 30"><path fill="#A1A1A1" stroke="#A1A1A1" stroke-width=".2" d="M23.42 15.403c.855-.864.59-2.612-.892-2.612l-3.903.002c.148-.837.363-2.226.354-2.357-.082-1.242-.863-2.754-.896-2.815-.143-.27-.862-.634-1.586-.478-.935.203-1.03.808-1.027.975 0 0 .04 1.655.044 2.097-.447.996-1.99 3.613-2.457 3.815a.706.706 0 0 0-.37-.105H7.755A.76.76 0 0 0 7 14.69v6.908a.72.72 0 0 0 .71.665h4.43a.718.718 0 0 0 .711-.722v-.23s.165-.012.24.037c.285.183.636.414 1.095.414h6.61c2.47 0 2.205-2.224 1.98-2.527.417-.46.675-1.273.323-1.915.27-.29.746-1.09.32-1.917zM11.986 21.54H7.71v-6.894h4.278v6.894zm10.28-6.196l-.041.17c1.138.329.532 1.659-.284 1.745l-.04.17c1.091.282.57 1.652-.285 1.745l-.04.17c.891.149.675 1.691-.675 1.691l-6.722.003c-.475 0-.907-.549-1.257-.549h-.304v-5.306c.38-.239.846-.549 1.106-.772.49-.424 2.497-3.71 2.497-4.122 0-.412-.045-2.191-.045-2.191s.394-.514 1.272-.14c0 0 .74 1.406.815 2.526 0 0-.333 2.307-.512 3.03h4.66c1.146.002.927 1.659-.146 1.83z"></path></svg></div><div class="css-1qckosq">74</div></div></div></div><div class="css-q4ncy">Durable and highly available object storage service</div><div class="css-1mj0hbk"><div class="css-1drwozb"><div class="css-gbti5j"><label>Stacks</label><span>1.5K</span></div><div class="css-1ahj942"></div><div class="css-1an0suy"><label>Followers</label><span>1.1K</span><div>+ 1</div></div><div class="css-1ahj942"></div><div class="css-gbti5j"><label>Votes</label><span>74</span></div></div></div></div></div><div class="css-1dnnpo5"><div class="css-ubpjqb"><button data-testid="follow" class="css-14pk3xx"><svg width="11" height="11" viewBox="0 0 11 11" xmlns="http://www.w3.org/2000/svg" fill-rule="evenodd" clip-rule="evenodd" stroke-linecap="round" stroke-linejoin="round" stroke-miterlimit="1.5"><path d="M5.5 0v11M0 5.5h11" fill="none" stroke="#fff"></path></svg> <!-- -->Follow</button><button data-testid="iUseThis" class="css-1o4togz"><svg width="11" height="11" viewBox="0 0 11 11" xmlns="http://www.w3.org/2000/svg" fill-rule="evenodd" clip-rule="evenodd" stroke-linecap="round" stroke-linejoin="round" stroke-miterlimit="1.5"><path d="M5.5 0v11M0 5.5h11" fill="none" stroke="#fff"></path></svg> I use this</button></div><div class="css-gpa5xw"><div class="css-1ob9em9"><button class="css-1mpii3w">Join the Snowflake Build Summit</button></div></div></div></div><div class="css-1erkkk4"><div class="css-a55l86"><div class="css-usifiy">PROS OF <!-- -->GOOGLE CLOUD STORAGE</div><div class="css-6t66tf"><div class="css-nil"><div class="css-1v4wqws"><div class="css-nil"><div class="css-1x4ysa3"><h2 hidden="" class="css-nil"></h2><ul class="css-7c9av6"><li class="css-6nrkpz"><div class="css-1mlbi0l"><div class="css-1cda8k4"><div class="css-2an9kq"><svg style="margin-top:3px;margin-bottom:3px" xmlns="http://www.w3.org/2000/svg" width="10" height="8" viewBox="0 0 10 8"><path fill="#565656" fill-rule="evenodd" d="M5 0l5 8H0z"></path></svg><span class="css-5x5cr6">28</span></div></div><span class="css-rsz8c">Scalable</span></div></li><li class="css-6nrkpz"><div class="css-1mlbi0l"><div class="css-1cda8k4"><div class="css-2an9kq"><svg style="margin-top:3px;margin-bottom:3px" xmlns="http://www.w3.org/2000/svg" width="10" height="8" viewBox="0 0 10 8"><path fill="#565656" fill-rule="evenodd" d="M5 0l5 8H0z"></path></svg><span class="css-5x5cr6">19</span></div></div><span class="css-rsz8c">Cheap</span></div></li><li class="css-6nrkpz"><div class="css-1mlbi0l"><div class="css-1cda8k4"><div class="css-2an9kq"><svg style="margin-top:3px;margin-bottom:3px" xmlns="http://www.w3.org/2000/svg" width="10" height="8" viewBox="0 0 10 8"><path fill="#565656" fill-rule="evenodd" d="M5 0l5 8H0z"></path></svg><span class="css-5x5cr6">14</span></div></div><span class="css-rsz8c">Reliable</span></div></li><li class="css-6nrkpz"><div class="css-1mlbi0l"><div class="css-1cda8k4"><div class="css-2an9kq"><svg style="margin-top:3px;margin-bottom:3px" xmlns="http://www.w3.org/2000/svg" width="10" height="8" viewBox="0 0 10 8"><path fill="#565656" fill-rule="evenodd" d="M5 0l5 8H0z"></path></svg><span class="css-5x5cr6">9</span></div></div><span class="css-rsz8c">Easy</span></div></li><li class="css-6nrkpz"><div class="css-1mlbi0l"><div class="css-1cda8k4"><div class="css-2an9kq"><svg style="margin-top:3px;margin-bottom:3px" xmlns="http://www.w3.org/2000/svg" width="10" height="8" viewBox="0 0 10 8"><path fill="#565656" fill-rule="evenodd" d="M5 0l5 8H0z"></path></svg><span class="css-5x5cr6">3</span></div></div><span class="css-rsz8c">Chealp</span></div></li><li class="css-6nrkpz"><div class="css-1mlbi0l"><div class="css-1cda8k4"><div class="css-2an9kq"><svg style="margin-top:3px;margin-bottom:3px" xmlns="http://www.w3.org/2000/svg" width="10" height="8" viewBox="0 0 10 8"><path fill="#565656" fill-rule="evenodd" d="M5 0l5 8H0z"></path></svg><span class="css-5x5cr6">1</span></div></div><span class="css-rsz8c">More praticlal and easy</span></div></li></ul></div></div></div></div></div></div><div class="css-a55l86"><div class="css-usifiy">CONS OF <!-- -->GOOGLE CLOUD STORAGE</div><div class="css-6t66tf"><div class="css-nil"><div class="css-1v4wqws"><div class="css-nil"><div class="css-1x4ysa3"><h2 hidden="" class="css-nil"></h2><ul class="css-7c9av6"></ul><div class="css-16s8o6z">Be the first to leave a con</div></div></div></div></div></div></div><div class="css-a55l86"><div class="css-usifiy">COMPARE</div><div class="css-6t66tf"><div class="css-1bn5mmw"><a href="/stackups/google-cloud-storage-vs-amazon-cloudfront" class="css-1dnwvu3"><div class="css-1v4bhi8"><img src="https://img.stackshare.io/service/694/thumb_retina_Cloud_Storage.png" alt="Google Cloud Storage logo" class="css-6wyd29"/><div class="css-19dpmz">VS</div><img src="https://img.stackshare.io/service/13/thumb_retina_amazon-cloudfront.png" alt="Amazon CloudFront logo" class="css-6wyd29"/></div><div class="css-v6oua5"><div class="css-16r6zz5"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 30 30"><g fill="#A1A1A1" stroke="#A1A1A1" stroke-width=".2"><path d="M13.626 18.015l.511-.81a.405.405 0 0 0-.136-.565.422.422 0 0 0-.576.133l-.51.81c-.927 1.469-2.25 2.312-3.632 2.312H7.416a.412.412 0 1 0 0 .823h1.87c1.68-.007 3.26-.99 4.34-2.703zm9.944-7.882l-2.023-1.99a.42.42 0 0 0-.59 0 .403.403 0 0 0 0 .578l1.316 1.291h-1.939c-1.676 0-3.26.984-4.34 2.697l-.314.498a.405.405 0 0 0 .137.566.42.42 0 0 0 .572-.134l.313-.499c.927-1.468 2.249-2.308 3.632-2.308h1.936l-1.315 1.291a.403.403 0 0 0 0 .579c.082.08.188.12.297.12a.42.42 0 0 0 .296-.12l2.027-1.99a.406.406 0 0 0-.003-.58zm-.862.34v-.04l.02.02-.02.02z"></path><path d="M20.954 22.581c.082.08.188.12.297.12a.42.42 0 0 0 .296-.12l2.027-1.99a.403.403 0 0 0 0-.58l-2.027-1.986a.42.42 0 0 0-.59 0 .403.403 0 0 0 0 .578l1.316 1.292h-1.877c-1.38 0-2.706-.843-3.632-2.312L13.69 12.71c-1.08-1.716-2.664-2.697-4.34-2.697H7.416a.412.412 0 1 0 0 .823h1.931c1.38 0 2.705.843 3.632 2.309l3.073 4.874c1.08 1.716 2.664 2.7 4.34 2.7h1.877l-1.315 1.291a.4.4 0 0 0 0 .572zm1.754-2.265l.02.02-.02.02v-.04z"></path></g></svg></div><div>Compare Google Cloud Storage vs Amazon CloudFront</div></div></a></div></div></div></div></div><div class="css-f2odf3"><div class="css-1m02by6"><h2>related Google Cloud Storage posts</h2></div><div class="css-uw1ldh"><div class="css-4gnhqq"><div class="css-xkasvz"><div class="css-atv6j6"><div class="css-1m8tyev"><div class="lazyload-wrapper"><div class="lazyload-placeholder"></div></div></div></div><div class="css-1vf0ygt"><div class="css-utnqcw"><div>Aliadoc Team</div></div><div class="css-ds0hbm"> at aliadoc.com<!-- --> · <a href="/aliadocWeb/decisions/101848826192347222" class="css-nil"><time>Apr 1, 2019</time> <!-- -->| 5 upvotes · 711.9K views</a></div></div></div></div><div class="css-nil"><div class="css-dg4ww9"><svg xmlns="http://www.w3.org/2000/svg" width="21" height="21" viewBox="0 0 21 21"><g fill="none" fill-rule="evenodd"><path fill="#068DFE" fill-rule="nonzero" d="M20.918 19.017l-1.442-4.195a10.3 10.3 0 0 0 1.062-4.537 10.208 10.208 0 0 0-2.949-7.207A10.199 10.199 0 0 0 10.436 0a10.23 10.23 0 0 0-7.428 3.006A10.228 10.228 0 0 0 0 10.437a10.199 10.199 0 0 0 3.077 7.153 10.207 10.207 0 0 0 7.191 2.95h.016a10.3 10.3 0 0 0 4.537-1.063l4.195 1.442a1.485 1.485 0 0 0 1.543-.357c.408-.408.545-.999.358-1.544z"></path><rect width="7" height="1.8" x="6" y="5" fill="#FFF" rx=".9"></rect><rect width="10" height="1.8" x="6" y="9" fill="#FFF" rx=".9"></rect><rect width="7" height="1.8" x="6" y="13" fill="#FFF" rx=".9"></rect></g></svg><div class="css-z9ms26">Shared insights</div><div class="css-6uh2e7">on</div><a href="/react" class="css-1pwtf47"><span title="React" class="css-t68yd0 service"><img src="https://img.stackshare.io/service/1020/OYIaJ1KK.png" alt="React" class="css-1rz3855"/></span><span class="css-i6njnm">React</span></a><a href="/create-react-app" class="css-1pwtf47"><span title="Create React App" class="css-t68yd0 service"><img src="https://img.stackshare.io/service/5537/oi64YzXY.jpg" alt="Create React App" class="css-1rz3855"/></span><span class="css-i6njnm">Create React App</span></a><a href="/cloudflare" class="css-1pwtf47"><span title="CloudFlare" class="css-t68yd0 service"><img src="https://img.stackshare.io/service/15/twitter-profile-400x400.png" alt="CloudFlare" class="css-1rz3855"/></span><span class="css-i6njnm">CloudFlare</span></a><a href="/firebase" class="css-1pwtf47"><span title="Firebase" class="css-t68yd0 service"><img src="https://img.stackshare.io/service/116/cZLxNFZS.jpg" alt="Firebase" class="css-1rz3855"/></span><span class="css-i6njnm">Firebase</span></a><a href="/cloud-functions-for-firebase" class="css-1pwtf47"><span title="Cloud Functions for Firebase" class="css-t68yd0 service"><img src="https://img.stackshare.io/service/6673/cZLxNFZS.jpg" alt="Cloud Functions for Firebase" class="css-1rz3855"/></span><span class="css-i6njnm">Cloud Functions for Firebase</span></a><a href="/google-app-engine" class="css-1pwtf47"><span title="Google App Engine" class="css-t68yd0 service"><img src="https://img.stackshare.io/service/139/s01TMTGn.png" alt="Google App Engine" class="css-1rz3855"/></span><span class="css-i6njnm">Google App Engine</span></a><a href="/google-cloud-storage" class="css-1pwtf47"><span title="Google Cloud Storage" class="css-t68yd0 service"><img src="https://img.stackshare.io/service/694/Cloud_Storage.png" alt="Google Cloud Storage" class="css-1rz3855"/></span><span class="css-i6njnm">Google Cloud Storage</span></a><a href="/serverless" class="css-1pwtf47"><span title="Serverless" class="css-t68yd0 service"><img src="https://img.stackshare.io/service/5095/serverless-logo.png" alt="Serverless" class="css-1rz3855"/></span><span class="css-i6njnm">Serverless</span></a><a href="/visual-studio-code" class="css-1pwtf47"><span title="Visual Studio Code" class="css-t68yd0 service"><img src="https://img.stackshare.io/service/4202/Visual_Studio_Code_logo.png" alt="Visual Studio Code" class="css-1rz3855"/></span><span class="css-i6njnm">Visual Studio Code</span></a><a href="/bitbucket" class="css-1pwtf47"><span title="Bitbucket" class="css-t68yd0 service"><img src="https://img.stackshare.io/service/28/35O2KIRX_400x400.jpg" alt="Bitbucket" class="css-1rz3855"/></span><span class="css-i6njnm">Bitbucket</span></a><div class="css-6uh2e7">at</div><a itemscope="" itemType="http://schema.org/Organization" itemProp="url" href="/companies/aliadoc" target="_blank" class="css-1j2w1cg"><div class="lazyload-wrapper"><div class="lazyload-placeholder"></div></div><div itemProp="name" class="css-1b2ktnx">Aliadoc</div></a></div><div class="css-1dp4k20"><div class="css-ztg526"><p>In <span class="topic">#Aliadoc</span>, we're exploring the crowdfunding option to get traction before launch. We are building a SaaS platform for website design customization.</p> <p>For the Admin UI and website editor we use <span class="tool">React</span> and we're currently transitioning from a <span class="tool">Create React App</span> setup to a custom one because our needs have become more specific. We use <span class="tool">CloudFlare</span> as much as possible, it's a great service.</p> <p>For routing dynamic resources and proxy tasks to feed websites to the editor we leverage <span class="tool">CloudFlare</span> Workers for improved responsiveness. We use <span class="tool">Firebase</span> for our hosting needs and user authentication while also using several <span class="tool">Cloud Functions for Firebase</span> to interact with other services along with <span class="tool">Google App Engine</span> and <span class="tool">Google Cloud Storage</span>, but also the Real Time Database is on the radar for collaborative website editing.</p> <p>We generally hate configuration but honestly because of the stage of our project we lack resources for doing heavy sysops work. So we are basically just relying on <span class="tool">Serverless</span> technologies as much as we can to do all server side processing.</p> <p><span class="tool">Visual Studio Code</span> definitively makes programming a much easier and enjoyable task, we just love it. We combine it with <span class="tool">Bitbucket</span> for our source code control needs.</p></div></div></div><a class="css-1srb7t4">See more</a></div></div></div><div class="css-8qpfeu"><div class="css-kb8or3"><div class="css-1d3wilq"><div class="css-ljm4wn"><div class="css-mwikcm"><a href="/fastly" class="css-1jltg37"><img src="https://img.stackshare.io/service/274/thumb_retina_9V2sLNfw.png" alt="Fastly logo" class="css-1489hth"/></a></div><div class="css-8wh4b7"><h2 class="css-pltn6z"><a href="/fastly" class="css-1hhgtx3">Fastly</a></h2><div class="css-rpzmwi"><div class="css-12alag6"><div class="css-5f7045"><div class="css-3k44bn"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 30 30"><g fill="#A1A1A1" stroke="#A1A1A1" stroke-width=".2"><path fill-rule="evenodd" d="M20.467 21.867a2.415 2.415 0 0 1-2.318-1.74h-2.192l-.012.008-2.615-4.499h-1.598a2.415 2.415 0 1 1 0-1.35h1.641l-.058-.034 2.63-4.526.022.013h2.172a2.415 2.415 0 1 1 0 1.35h-1.424l-2.23 3.838-.002.003.001.004 2.234 3.843h1.431a2.415 2.415 0 1 1 2.318 3.09zm-.01-10.184a1.27 1.27 0 1 0-1.244-1.515v.492a1.27 1.27 0 0 0 1.244 1.023zm-11.043 2.01a1.268 1.268 0 1 0 0 2.537 1.268 1.268 0 0 0 0-2.537zm11.053 4.491a1.27 1.27 0 0 0-1.244 1.022v.493a1.27 1.27 0 0 0 1.244 1.022 1.27 1.27 0 0 0 0-2.537z"></path></g></svg></div><div class="css-1qckosq">1K</div></div><div class="css-5f7045"><div class="css-3k44bn"><svg class="css-1a4uubp" xmlns="http://www.w3.org/2000/svg" width="20" height="17" viewBox="0 0 20 17"><path fill="#A09F9F" fill-rule="evenodd" stroke="#999" stroke-width=".2" d="M14.432 12.715l2.348-2.746a.415.415 0 0 1 .607-.038.47.47 0 0 1 .028.646l-2.64 3.09a.419.419 0 0 1-.3.15h-.014a.414.414 0 0 1-.3-.127l-1.498-1.516a.466.466 0 0 1-.014-.637.413.413 0 0 1 .606-.015l1.177 1.193zm-3.165-.868a3.749 3.749 0 0 0 3.744 3.745 3.749 3.749 0 0 0 3.744-3.745 3.749 3.749 0 0 0-3.744-3.745 3.749 3.749 0 0 0-3.744 3.745zm2.001-4.195a4.523 4.523 0 0 1 1.743-.35 4.55 4.55 0 0 1 4.545 4.545 4.55 4.55 0 0 1-4.545 4.545 4.55 4.55 0 0 1-4.545-4.545 4.53 4.53 0 0 1 1.91-3.688c-.026-.013-.045-.029-.045-.054V5.837c0-.159.08-.308.207-.395a.588.588 0 0 0 .254-.487V2.6c0-.907-.721-1.64-1.602-1.64h-.494c-.886 0-1.603.738-1.603 1.64v2.355c0 .192.095.376.255.487a.47.47 0 0 1 .207.395v2.268a.588.588 0 0 1-.32.526c-.288.145-1.791.921-3.181 2.089a.66.66 0 0 0-.235.511v1.612a.456.456 0 0 1-.458.473.47.47 0 0 1-.466-.478v-1.612c0-.487.207-.94.575-1.249.153-.129.307-.253.461-.373V7.21a.5.5 0 0 1 .214-.41.352.352 0 0 0 .156-.296V4.618c0-.666-.525-1.206-1.172-1.206h-.394c-.646 0-1.166.54-1.166 1.201v1.886c0 .121.058.231.155.296.136.09.214.245.214.41v1.817c0 .225-.121.42-.316.52a13.83 13.83 0 0 0-2.513 1.662.421.421 0 0 0-.146.325v1.291a.487.487 0 0 1-.481.496A.487.487 0 0 1 0 12.82v-1.291c0-.425.18-.821.501-1.091.967-.821 2.003-1.411 2.479-1.667V7.435a1.368 1.368 0 0 1-.369-.936V4.613c0-1.211.958-2.192 2.129-2.192h.394c1.177 0 2.129.986 2.129 2.192v1.886c0 .356-.136.686-.369.936V8.91a19.344 19.344 0 0 1 1.733-1.037V6.059a1.557 1.557 0 0 1-.462-1.109V2.595C8.165 1.162 9.305 0 10.7 0h.495c1.399 0 2.535 1.167 2.535 2.595V4.95c0 .424-.17.82-.462 1.109v1.593z"></path></svg></div><div class="css-1qckosq">491</div></div><div class="css-5f7045"><div class="css-3k44bn"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 30 30"><path fill="#A1A1A1" stroke="#A1A1A1" stroke-width=".2" d="M23.42 15.403c.855-.864.59-2.612-.892-2.612l-3.903.002c.148-.837.363-2.226.354-2.357-.082-1.242-.863-2.754-.896-2.815-.143-.27-.862-.634-1.586-.478-.935.203-1.03.808-1.027.975 0 0 .04 1.655.044 2.097-.447.996-1.99 3.613-2.457 3.815a.706.706 0 0 0-.37-.105H7.755A.76.76 0 0 0 7 14.69v6.908a.72.72 0 0 0 .71.665h4.43a.718.718 0 0 0 .711-.722v-.23s.165-.012.24.037c.285.183.636.414 1.095.414h6.61c2.47 0 2.205-2.224 1.98-2.527.417-.46.675-1.273.323-1.915.27-.29.746-1.09.32-1.917zM11.986 21.54H7.71v-6.894h4.278v6.894zm10.28-6.196l-.041.17c1.138.329.532 1.659-.284 1.745l-.04.17c1.091.282.57 1.652-.285 1.745l-.04.17c.891.149.675 1.691-.675 1.691l-6.722.003c-.475 0-.907-.549-1.257-.549h-.304v-5.306c.38-.239.846-.549 1.106-.772.49-.424 2.497-3.71 2.497-4.122 0-.412-.045-2.191-.045-2.191s.394-.514 1.272-.14c0 0 .74 1.406.815 2.526 0 0-.333 2.307-.512 3.03h4.66c1.146.002.927 1.659-.146 1.83z"></path></svg></div><div class="css-1qckosq">152</div></div></div></div><div class="css-q4ncy">We&#x27;re redefining content delivery.</div><div class="css-1mj0hbk"><div class="css-1drwozb"><div class="css-gbti5j"><label>Stacks</label><span>1K</span></div><div class="css-1ahj942"></div><div class="css-1an0suy"><label>Followers</label><span>491</span><div>+ 1</div></div><div class="css-1ahj942"></div><div class="css-gbti5j"><label>Votes</label><span>152</span></div></div></div></div></div><div class="css-1dnnpo5"><div class="css-ubpjqb"><button data-testid="follow" class="css-14pk3xx"><svg width="11" height="11" viewBox="0 0 11 11" xmlns="http://www.w3.org/2000/svg" fill-rule="evenodd" clip-rule="evenodd" stroke-linecap="round" stroke-linejoin="round" stroke-miterlimit="1.5"><path d="M5.5 0v11M0 5.5h11" fill="none" stroke="#fff"></path></svg> <!-- -->Follow</button><button data-testid="iUseThis" class="css-1o4togz"><svg width="11" height="11" viewBox="0 0 11 11" xmlns="http://www.w3.org/2000/svg" fill-rule="evenodd" clip-rule="evenodd" stroke-linecap="round" stroke-linejoin="round" stroke-miterlimit="1.5"><path d="M5.5 0v11M0 5.5h11" fill="none" stroke="#fff"></path></svg> I use this</button></div></div></div><div class="css-1erkkk4"><div class="css-a55l86"><div class="css-usifiy">PROS OF <!-- -->FASTLY</div><div class="css-6t66tf"><div class="css-nil"><div class="css-1v4wqws"><div class="css-nil"><div class="css-1x4ysa3"><h2 hidden="" class="css-nil"></h2><ul class="css-7c9av6"><li class="css-6nrkpz"><div class="css-1mlbi0l"><div class="css-1cda8k4"><div class="css-2an9kq"><svg style="margin-top:3px;margin-bottom:3px" xmlns="http://www.w3.org/2000/svg" width="10" height="8" viewBox="0 0 10 8"><path fill="#565656" fill-rule="evenodd" d="M5 0l5 8H0z"></path></svg><span class="css-5x5cr6">28</span></div></div><span class="css-rsz8c">Real-time updates</span></div></li><li class="css-6nrkpz"><div class="css-1mlbi0l"><div class="css-1cda8k4"><div class="css-2an9kq"><svg style="margin-top:3px;margin-bottom:3px" xmlns="http://www.w3.org/2000/svg" width="10" height="8" viewBox="0 0 10 8"><path fill="#565656" fill-rule="evenodd" d="M5 0l5 8H0z"></path></svg><span class="css-5x5cr6">25</span></div></div><span class="css-rsz8c">Fastest CDN</span></div></li><li class="css-6nrkpz"><div class="css-1mlbi0l"><div class="css-1cda8k4"><div class="css-2an9kq"><svg style="margin-top:3px;margin-bottom:3px" xmlns="http://www.w3.org/2000/svg" width="10" height="8" viewBox="0 0 10 8"><path fill="#565656" fill-rule="evenodd" d="M5 0l5 8H0z"></path></svg><span class="css-5x5cr6">22</span></div></div><span class="css-rsz8c">Powerful API</span></div></li><li class="css-6nrkpz"><div class="css-1mlbi0l"><div class="css-1cda8k4"><div class="css-2an9kq"><svg style="margin-top:3px;margin-bottom:3px" xmlns="http://www.w3.org/2000/svg" width="10" height="8" viewBox="0 0 10 8"><path fill="#565656" fill-rule="evenodd" d="M5 0l5 8H0z"></path></svg><span class="css-5x5cr6">20</span></div></div><span class="css-rsz8c">Great support</span></div></li><li class="css-6nrkpz"><div class="css-1mlbi0l"><div class="css-1cda8k4"><div class="css-2an9kq"><svg style="margin-top:3px;margin-bottom:3px" xmlns="http://www.w3.org/2000/svg" width="10" height="8" viewBox="0 0 10 8"><path fill="#565656" fill-rule="evenodd" d="M5 0l5 8H0z"></path></svg><span class="css-5x5cr6">14</span></div></div><span class="css-rsz8c">Great customer support</span></div></li><li class="css-6nrkpz"><div class="css-1mlbi0l"><div class="css-1cda8k4"><div class="css-2an9kq"><svg style="margin-top:3px;margin-bottom:3px" xmlns="http://www.w3.org/2000/svg" width="10" height="8" viewBox="0 0 10 8"><path fill="#565656" fill-rule="evenodd" d="M5 0l5 8H0z"></path></svg><span class="css-5x5cr6">7</span></div></div><span class="css-rsz8c">Instant Purging</span></div></li><li class="css-6nrkpz"><div class="css-1mlbi0l"><div class="css-1cda8k4"><div class="css-2an9kq"><svg style="margin-top:3px;margin-bottom:3px" xmlns="http://www.w3.org/2000/svg" width="10" height="8" viewBox="0 0 10 8"><path fill="#565656" fill-rule="evenodd" d="M5 0l5 8H0z"></path></svg><span class="css-5x5cr6">7</span></div></div><span class="css-rsz8c">Custom VCL</span></div></li><li class="css-6nrkpz"><div class="css-1mlbi0l"><div class="css-1cda8k4"><div class="css-2an9kq"><svg style="margin-top:3px;margin-bottom:3px" xmlns="http://www.w3.org/2000/svg" width="10" height="8" viewBox="0 0 10 8"><path fill="#565656" fill-rule="evenodd" d="M5 0l5 8H0z"></path></svg><span class="css-5x5cr6">6</span></div></div><span class="css-rsz8c">Good pricing</span></div></li><li class="css-6nrkpz"><div class="css-1mlbi0l"><div class="css-1cda8k4"><div class="css-2an9kq"><svg style="margin-top:3px;margin-bottom:3px" xmlns="http://www.w3.org/2000/svg" width="10" height="8" viewBox="0 0 10 8"><path fill="#565656" fill-rule="evenodd" d="M5 0l5 8H0z"></path></svg><span class="css-5x5cr6">6</span></div></div><span class="css-rsz8c">Tag-based Purging</span></div></li><li class="css-6nrkpz"><div class="css-1mlbi0l"><div class="css-1cda8k4"><div class="css-2an9kq"><svg style="margin-top:3px;margin-bottom:3px" xmlns="http://www.w3.org/2000/svg" width="10" height="8" viewBox="0 0 10 8"><path fill="#565656" fill-rule="evenodd" d="M5 0l5 8H0z"></path></svg><span class="css-5x5cr6">5</span></div></div><span class="css-rsz8c">HTTP/2 Support</span></div></li><li class="css-6nrkpz"><div class="css-1mlbi0l"><div class="css-1cda8k4"><div class="css-2an9kq"><svg style="margin-top:3px;margin-bottom:3px" xmlns="http://www.w3.org/2000/svg" width="10" height="8" viewBox="0 0 10 8"><path fill="#565656" fill-rule="evenodd" d="M5 0l5 8H0z"></path></svg><span class="css-5x5cr6">4</span></div></div><span class="css-rsz8c">Speed &amp; functionality</span></div></li><li class="css-6nrkpz"><div class="css-1mlbi0l"><div class="css-1cda8k4"><div class="css-2an9kq"><svg style="margin-top:3px;margin-bottom:3px" xmlns="http://www.w3.org/2000/svg" width="10" height="8" viewBox="0 0 10 8"><path fill="#565656" fill-rule="evenodd" d="M5 0l5 8H0z"></path></svg><span class="css-5x5cr6">4</span></div></div><span class="css-rsz8c">Image processing on demande (Fastly IO)</span></div></li><li class="css-6nrkpz"><div class="css-1mlbi0l"><div class="css-1cda8k4"><div class="css-2an9kq"><svg style="margin-top:3px;margin-bottom:3px" xmlns="http://www.w3.org/2000/svg" width="10" height="8" viewBox="0 0 10 8"><path fill="#565656" fill-rule="evenodd" d="M5 0l5 8H0z"></path></svg><span class="css-5x5cr6">4</span></div></div><span class="css-rsz8c">Best CDN</span></div></li></ul></div></div></div></div></div></div><div class="css-a55l86"><div class="css-usifiy">CONS OF <!-- -->FASTLY</div><div class="css-6t66tf"><div class="css-nil"><div class="css-1v4wqws"><div class="css-nil"><div class="css-1x4ysa3"><h2 hidden="" class="css-nil"></h2><ul class="css-7c9av6"><li class="css-6nrkpz"><div class="css-1mlbi0l"><div class="css-1cda8k4"><div class="css-2an9kq"><svg style="margin-top:3px;margin-bottom:3px" xmlns="http://www.w3.org/2000/svg" width="10" height="8" viewBox="0 0 10 8"><path fill="#565656" fill-rule="evenodd" d="M5 0l5 8H0z"></path></svg><span class="css-5x5cr6">1</span></div></div><span class="css-rsz8c">Minimum $50/mo spend</span></div></li></ul></div></div></div></div></div></div><div class="css-a55l86"><div class="css-usifiy">COMPARE</div><div class="css-6t66tf"><div class="css-1bn5mmw"><a href="/stackups/fastly-vs-amazon-cloudfront" class="css-1dnwvu3"><div class="css-1v4bhi8"><img src="https://img.stackshare.io/service/274/thumb_retina_9V2sLNfw.png" alt="Fastly logo" class="css-6wyd29"/><div class="css-19dpmz">VS</div><img src="https://img.stackshare.io/service/13/thumb_retina_amazon-cloudfront.png" alt="Amazon CloudFront logo" class="css-6wyd29"/></div><div class="css-v6oua5"><div class="css-16r6zz5"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 30 30"><g fill="#A1A1A1" stroke="#A1A1A1" stroke-width=".2"><path d="M13.626 18.015l.511-.81a.405.405 0 0 0-.136-.565.422.422 0 0 0-.576.133l-.51.81c-.927 1.469-2.25 2.312-3.632 2.312H7.416a.412.412 0 1 0 0 .823h1.87c1.68-.007 3.26-.99 4.34-2.703zm9.944-7.882l-2.023-1.99a.42.42 0 0 0-.59 0 .403.403 0 0 0 0 .578l1.316 1.291h-1.939c-1.676 0-3.26.984-4.34 2.697l-.314.498a.405.405 0 0 0 .137.566.42.42 0 0 0 .572-.134l.313-.499c.927-1.468 2.249-2.308 3.632-2.308h1.936l-1.315 1.291a.403.403 0 0 0 0 .579c.082.08.188.12.297.12a.42.42 0 0 0 .296-.12l2.027-1.99a.406.406 0 0 0-.003-.58zm-.862.34v-.04l.02.02-.02.02z"></path><path d="M20.954 22.581c.082.08.188.12.297.12a.42.42 0 0 0 .296-.12l2.027-1.99a.403.403 0 0 0 0-.58l-2.027-1.986a.42.42 0 0 0-.59 0 .403.403 0 0 0 0 .578l1.316 1.292h-1.877c-1.38 0-2.706-.843-3.632-2.312L13.69 12.71c-1.08-1.716-2.664-2.697-4.34-2.697H7.416a.412.412 0 1 0 0 .823h1.931c1.38 0 2.705.843 3.632 2.309l3.073 4.874c1.08 1.716 2.664 2.7 4.34 2.7h1.877l-1.315 1.291a.4.4 0 0 0 0 .572zm1.754-2.265l.02.02-.02.02v-.04z"></path></g></svg></div><div>Compare Fastly vs Amazon CloudFront</div></div></a></div></div></div></div></div><div class="css-f2odf3"><div class="css-1m02by6"><h2>related Fastly posts</h2></div><div class="css-uw1ldh"><div class="css-4gnhqq"><div class="css-xkasvz"><div class="css-atv6j6"><div class="css-1m8tyev"><div class="lazyload-wrapper"><div class="lazyload-placeholder"></div></div></div></div><div class="css-1vf0ygt"><div class="css-utnqcw"><div>Justin Dorfman</div></div><div class="css-ds0hbm">Open Source Program Manager<!-- --> at Reblaze<!-- --> · <a href="/jdorfman/decisions/102084808861672396" class="css-nil"><time>May 12, 2019</time> <!-- -->| 4 upvotes · 208.9K views</a></div></div></div></div><div class="css-nil"><div class="css-dg4ww9"><svg xmlns="http://www.w3.org/2000/svg" width="21" height="21" viewBox="0 0 21 21"><g fill="none" fill-rule="evenodd"><path fill="#068DFE" fill-rule="nonzero" d="M20.918 19.017l-1.442-4.195a10.3 10.3 0 0 0 1.062-4.537 10.208 10.208 0 0 0-2.949-7.207A10.199 10.199 0 0 0 10.436 0a10.23 10.23 0 0 0-7.428 3.006A10.228 10.228 0 0 0 0 10.437a10.199 10.199 0 0 0 3.077 7.153 10.207 10.207 0 0 0 7.191 2.95h.016a10.3 10.3 0 0 0 4.537-1.063l4.195 1.442a1.485 1.485 0 0 0 1.543-.357c.408-.408.545-.999.358-1.544z"></path><rect width="7" height="1.8" x="6" y="5" fill="#FFF" rx=".9"></rect><rect width="10" height="1.8" x="6" y="9" fill="#FFF" rx=".9"></rect><rect width="7" height="1.8" x="6" y="13" fill="#FFF" rx=".9"></rect></g></svg><div class="css-z9ms26">Shared insights</div><div class="css-6uh2e7">on</div><a href="/maxcdn" class="css-1pwtf47"><span title="MaxCDN" class="css-t68yd0 service"><img src="https://img.stackshare.io/service/14/HG2q2Oxj.png" alt="MaxCDN" class="css-1rz3855"/></span><span class="css-i6njnm">MaxCDN</span></a><a href="/github-pages" class="css-1pwtf47"><span title="GitHub Pages" class="css-t68yd0 service"><img src="https://img.stackshare.io/service/683/default_5eeb660db1239eeb3f1c1f6187f2abf0f3a0500d.png" alt="GitHub Pages" class="css-1rz3855"/></span><span class="css-i6njnm">GitHub Pages</span></a><a href="/netlify" class="css-1pwtf47"><span title="Netlify" class="css-t68yd0 service"><img src="https://img.stackshare.io/service/2748/default_5dfbb146cf22182bca88c7d07f2515a5888fc12a.jpg" alt="Netlify" class="css-1rz3855"/></span><span class="css-i6njnm">Netlify</span></a><a href="/lets-encrypt" class="css-1pwtf47"><span title="Let&#x27;s Encrypt" class="css-t68yd0 service"><img src="https://img.stackshare.io/service/4225/lSuJvwXU_400x400.jpg" alt="Let&#x27;s Encrypt" class="css-1rz3855"/></span><span class="css-i6njnm">Let&#x27;s Encrypt</span></a><a href="/jekyll" class="css-1pwtf47"><span title="Jekyll" class="css-t68yd0 service"><img src="https://img.stackshare.io/service/1114/ad968c1615d956e800fa36494314f48c.jpeg" alt="Jekyll" class="css-1rz3855"/></span><span class="css-i6njnm">Jekyll</span></a><a href="/bootstrap" class="css-1pwtf47"><span title="Bootstrap" class="css-t68yd0 service"><img src="https://img.stackshare.io/service/1101/C9QJ7V3X.png" alt="Bootstrap" class="css-1rz3855"/></span><span class="css-i6njnm">Bootstrap</span></a><a href="/jquery" class="css-1pwtf47"><span title="jQuery" class="css-t68yd0 service"><img src="https://img.stackshare.io/service/1021/lxEKmMnB_400x400.jpg" alt="jQuery" class="css-1rz3855"/></span><span class="css-i6njnm">jQuery</span></a><a href="/grunt" class="css-1pwtf47"><span title="Grunt" class="css-t68yd0 service"><img src="https://img.stackshare.io/service/845/falgg2jybmhgk16y62lr.png" alt="Grunt" class="css-1rz3855"/></span><span class="css-i6njnm">Grunt</span></a><a href="/fastly" class="css-1pwtf47"><span title="Fastly" class="css-t68yd0 service"><img src="https://img.stackshare.io/service/274/9V2sLNfw.png" alt="Fastly" class="css-1rz3855"/></span><span class="css-i6njnm">Fastly</span></a></div><div class="css-1dp4k20"><div class="css-ztg526"><p>When my SSL cert <span class="tool">MaxCDN</span> was expiring on my <a href="https://www.justindorfman.com" rel="nofollow noopener" target="_blank">personal site</a> I decided it was a good time to revamp some things. Since <a href="https://developer.github.com/changes/2018-04-25-github-services-deprecation/" rel="nofollow noopener" target="_blank">GitHub Services is depreciated</a> I can no longer have <span class="topic">#CDN</span> cache purges automated among other things. So I decided on the following: <span class="tool">GitHub Pages</span>, <span class="tool">Netlify</span>, <span class="tool">Let's Encrypt</span> and <span class="tool">Jekyll</span>. Staying the same was <span class="tool">Bootstrap</span>, <span class="tool">jQuery</span>, <span class="tool">Grunt</span> &amp; <span class="topic">#GoogleFonts</span>. </p> <p>What's awesome about <span class="tool">GitHub Pages</span> is that it has a <span class="topic">#CDN</span> (<span class="tool">Fastly</span>) built-in and anytime you push to master, it purges the cache instantaneously without you have to do anything special. <span class="tool">Netlify</span> is magic, I highly recommend it to anyone using <span class="topic">#StaticSiteGenerators</span>.</p> <p>For the most part, everything went smoothly. The only things I had issues with were the following:</p> <ul> <li>If you want to point <code>www</code> to <span class="tool">GitHub Pages</span> you need to rename the repo to <code>www</code> </li> <li>If you edit something in the <code>_config.yml</code> you need to restart <code>bundle exec jekyll s</code> or changes won't show</li> <li>I had to disable the <span class="tool">Grunt</span> <code>htmlmin</code> module. I replaced it with <a href="http://jch.penibelst.de/" rel="nofollow noopener" target="_blank">Jekyll layout that compresses HTML</a> for <span class="topic">#webperf</span> </li> </ul> <p>Last but certainly not least, I made a donation to <span class="tool">Let's Encrypt</span>. If you use their service consider doing it too: <a href="https://letsencrypt.org/donate/" rel="nofollow noopener" target="_blank">https://letsencrypt.org/donate/</a></p></div></div></div><a class="css-1srb7t4">See more</a></div></div></div><div class="css-8qpfeu"><div class="css-kb8or3"><div class="css-1d3wilq"><div class="css-ljm4wn"><div class="css-mwikcm"><a href="/maxcdn" class="css-1jltg37"><img src="https://img.stackshare.io/service/14/thumb_retina_HG2q2Oxj.png" alt="MaxCDN logo" class="css-1489hth"/></a></div><div class="css-8wh4b7"><h2 class="css-pltn6z"><a href="/maxcdn" class="css-1hhgtx3">MaxCDN</a></h2><div class="css-rpzmwi"><div class="css-12alag6"><div class="css-5f7045"><div class="css-3k44bn"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 30 30"><g fill="#A1A1A1" stroke="#A1A1A1" stroke-width=".2"><path fill-rule="evenodd" d="M20.467 21.867a2.415 2.415 0 0 1-2.318-1.74h-2.192l-.012.008-2.615-4.499h-1.598a2.415 2.415 0 1 1 0-1.35h1.641l-.058-.034 2.63-4.526.022.013h2.172a2.415 2.415 0 1 1 0 1.35h-1.424l-2.23 3.838-.002.003.001.004 2.234 3.843h1.431a2.415 2.415 0 1 1 2.318 3.09zm-.01-10.184a1.27 1.27 0 1 0-1.244-1.515v.492a1.27 1.27 0 0 0 1.244 1.023zm-11.043 2.01a1.268 1.268 0 1 0 0 2.537 1.268 1.268 0 0 0 0-2.537zm11.053 4.491a1.27 1.27 0 0 0-1.244 1.022v.493a1.27 1.27 0 0 0 1.244 1.022 1.27 1.27 0 0 0 0-2.537z"></path></g></svg></div><div class="css-1qckosq">1.6K</div></div><div class="css-5f7045"><div class="css-3k44bn"><svg class="css-1a4uubp" xmlns="http://www.w3.org/2000/svg" width="20" height="17" viewBox="0 0 20 17"><path fill="#A09F9F" fill-rule="evenodd" stroke="#999" stroke-width=".2" d="M14.432 12.715l2.348-2.746a.415.415 0 0 1 .607-.038.47.47 0 0 1 .028.646l-2.64 3.09a.419.419 0 0 1-.3.15h-.014a.414.414 0 0 1-.3-.127l-1.498-1.516a.466.466 0 0 1-.014-.637.413.413 0 0 1 .606-.015l1.177 1.193zm-3.165-.868a3.749 3.749 0 0 0 3.744 3.745 3.749 3.749 0 0 0 3.744-3.745 3.749 3.749 0 0 0-3.744-3.745 3.749 3.749 0 0 0-3.744 3.745zm2.001-4.195a4.523 4.523 0 0 1 1.743-.35 4.55 4.55 0 0 1 4.545 4.545 4.55 4.55 0 0 1-4.545 4.545 4.55 4.55 0 0 1-4.545-4.545 4.53 4.53 0 0 1 1.91-3.688c-.026-.013-.045-.029-.045-.054V5.837c0-.159.08-.308.207-.395a.588.588 0 0 0 .254-.487V2.6c0-.907-.721-1.64-1.602-1.64h-.494c-.886 0-1.603.738-1.603 1.64v2.355c0 .192.095.376.255.487a.47.47 0 0 1 .207.395v2.268a.588.588 0 0 1-.32.526c-.288.145-1.791.921-3.181 2.089a.66.66 0 0 0-.235.511v1.612a.456.456 0 0 1-.458.473.47.47 0 0 1-.466-.478v-1.612c0-.487.207-.94.575-1.249.153-.129.307-.253.461-.373V7.21a.5.5 0 0 1 .214-.41.352.352 0 0 0 .156-.296V4.618c0-.666-.525-1.206-1.172-1.206h-.394c-.646 0-1.166.54-1.166 1.201v1.886c0 .121.058.231.155.296.136.09.214.245.214.41v1.817c0 .225-.121.42-.316.52a13.83 13.83 0 0 0-2.513 1.662.421.421 0 0 0-.146.325v1.291a.487.487 0 0 1-.481.496A.487.487 0 0 1 0 12.82v-1.291c0-.425.18-.821.501-1.091.967-.821 2.003-1.411 2.479-1.667V7.435a1.368 1.368 0 0 1-.369-.936V4.613c0-1.211.958-2.192 2.129-2.192h.394c1.177 0 2.129.986 2.129 2.192v1.886c0 .356-.136.686-.369.936V8.91a19.344 19.344 0 0 1 1.733-1.037V6.059a1.557 1.557 0 0 1-.462-1.109V2.595C8.165 1.162 9.305 0 10.7 0h.495c1.399 0 2.535 1.167 2.535 2.595V4.95c0 .424-.17.82-.462 1.109v1.593z"></path></svg></div><div class="css-1qckosq">553</div></div><div class="css-5f7045"><div class="css-3k44bn"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 30 30"><path fill="#A1A1A1" stroke="#A1A1A1" stroke-width=".2" d="M23.42 15.403c.855-.864.59-2.612-.892-2.612l-3.903.002c.148-.837.363-2.226.354-2.357-.082-1.242-.863-2.754-.896-2.815-.143-.27-.862-.634-1.586-.478-.935.203-1.03.808-1.027.975 0 0 .04 1.655.044 2.097-.447.996-1.99 3.613-2.457 3.815a.706.706 0 0 0-.37-.105H7.755A.76.76 0 0 0 7 14.69v6.908a.72.72 0 0 0 .71.665h4.43a.718.718 0 0 0 .711-.722v-.23s.165-.012.24.037c.285.183.636.414 1.095.414h6.61c2.47 0 2.205-2.224 1.98-2.527.417-.46.675-1.273.323-1.915.27-.29.746-1.09.32-1.917zM11.986 21.54H7.71v-6.894h4.278v6.894zm10.28-6.196l-.041.17c1.138.329.532 1.659-.284 1.745l-.04.17c1.091.282.57 1.652-.285 1.745l-.04.17c.891.149.675 1.691-.675 1.691l-6.722.003c-.475 0-.907-.549-1.257-.549h-.304v-5.306c.38-.239.846-.549 1.106-.772.49-.424 2.497-3.71 2.497-4.122 0-.412-.045-2.191-.045-2.191s.394-.514 1.272-.14c0 0 .74 1.406.815 2.526 0 0-.333 2.307-.512 3.03h4.66c1.146.002.927 1.659-.146 1.83z"></path></svg></div><div class="css-1qckosq">99</div></div></div></div><div class="css-q4ncy">Our CDN makes your site load faster!</div><div class="css-1mj0hbk"><div class="css-1drwozb"><div class="css-gbti5j"><label>Stacks</label><span>1.6K</span></div><div class="css-1ahj942"></div><div class="css-1an0suy"><label>Followers</label><span>553</span><div>+ 1</div></div><div class="css-1ahj942"></div><div class="css-gbti5j"><label>Votes</label><span>99</span></div></div></div></div></div><div class="css-1dnnpo5"><div class="css-ubpjqb"><button data-testid="follow" class="css-14pk3xx"><svg width="11" height="11" viewBox="0 0 11 11" xmlns="http://www.w3.org/2000/svg" fill-rule="evenodd" clip-rule="evenodd" stroke-linecap="round" stroke-linejoin="round" stroke-miterlimit="1.5"><path d="M5.5 0v11M0 5.5h11" fill="none" stroke="#fff"></path></svg> <!-- -->Follow</button><button data-testid="iUseThis" class="css-1o4togz"><svg width="11" height="11" viewBox="0 0 11 11" xmlns="http://www.w3.org/2000/svg" fill-rule="evenodd" clip-rule="evenodd" stroke-linecap="round" stroke-linejoin="round" stroke-miterlimit="1.5"><path d="M5.5 0v11M0 5.5h11" fill="none" stroke="#fff"></path></svg> I use this</button></div></div></div><div class="css-1erkkk4"><div class="css-a55l86"><div class="css-usifiy">PROS OF <!-- -->MAXCDN</div><div class="css-6t66tf"><div class="css-nil"><div class="css-1v4wqws"><div class="css-nil"><div class="css-1x4ysa3"><h2 hidden="" class="css-nil"></h2><ul class="css-7c9av6"><li class="css-6nrkpz"><div class="css-1mlbi0l"><div class="css-1cda8k4"><div class="css-2an9kq"><svg style="margin-top:3px;margin-bottom:3px" xmlns="http://www.w3.org/2000/svg" width="10" height="8" viewBox="0 0 10 8"><path fill="#565656" fill-rule="evenodd" d="M5 0l5 8H0z"></path></svg><span class="css-5x5cr6">47</span></div></div><span class="css-rsz8c">Easy setup</span></div></li><li class="css-6nrkpz"><div class="css-1mlbi0l"><div class="css-1cda8k4"><div class="css-2an9kq"><svg style="margin-top:3px;margin-bottom:3px" xmlns="http://www.w3.org/2000/svg" width="10" height="8" viewBox="0 0 10 8"><path fill="#565656" fill-rule="evenodd" d="M5 0l5 8H0z"></path></svg><span class="css-5x5cr6">32</span></div></div><span class="css-rsz8c">Speed to my clients</span></div></li><li class="css-6nrkpz"><div class="css-1mlbi0l"><div class="css-1cda8k4"><div class="css-2an9kq"><svg style="margin-top:3px;margin-bottom:3px" xmlns="http://www.w3.org/2000/svg" width="10" height="8" viewBox="0 0 10 8"><path fill="#565656" fill-rule="evenodd" d="M5 0l5 8H0z"></path></svg><span class="css-5x5cr6">15</span></div></div><span class="css-rsz8c">Great service &amp; Customer Support</span></div></li><li class="css-6nrkpz"><div class="css-1mlbi0l"><div class="css-1cda8k4"><div class="css-2an9kq"><svg style="margin-top:3px;margin-bottom:3px" xmlns="http://www.w3.org/2000/svg" width="10" height="8" viewBox="0 0 10 8"><path fill="#565656" fill-rule="evenodd" d="M5 0l5 8H0z"></path></svg><span class="css-5x5cr6">5</span></div></div><span class="css-rsz8c">Shared and Affordable SSL</span></div></li></ul></div></div></div></div></div></div><div class="css-a55l86"><div class="css-usifiy">CONS OF <!-- -->MAXCDN</div><div class="css-6t66tf"><div class="css-nil"><div class="css-1v4wqws"><div class="css-nil"><div class="css-1x4ysa3"><h2 hidden="" class="css-nil"></h2><ul class="css-7c9av6"></ul><div class="css-16s8o6z">Be the first to leave a con</div></div></div></div></div></div></div><div class="css-a55l86"><div class="css-usifiy">COMPARE</div><div class="css-6t66tf"><div class="css-1bn5mmw"><a href="/stackups/maxcdn-vs-amazon-cloudfront" class="css-1dnwvu3"><div class="css-1v4bhi8"><img src="https://img.stackshare.io/service/14/thumb_retina_HG2q2Oxj.png" alt="MaxCDN logo" class="css-6wyd29"/><div class="css-19dpmz">VS</div><img src="https://img.stackshare.io/service/13/thumb_retina_amazon-cloudfront.png" alt="Amazon CloudFront logo" class="css-6wyd29"/></div><div class="css-v6oua5"><div class="css-16r6zz5"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 30 30"><g fill="#A1A1A1" stroke="#A1A1A1" stroke-width=".2"><path d="M13.626 18.015l.511-.81a.405.405 0 0 0-.136-.565.422.422 0 0 0-.576.133l-.51.81c-.927 1.469-2.25 2.312-3.632 2.312H7.416a.412.412 0 1 0 0 .823h1.87c1.68-.007 3.26-.99 4.34-2.703zm9.944-7.882l-2.023-1.99a.42.42 0 0 0-.59 0 .403.403 0 0 0 0 .578l1.316 1.291h-1.939c-1.676 0-3.26.984-4.34 2.697l-.314.498a.405.405 0 0 0 .137.566.42.42 0 0 0 .572-.134l.313-.499c.927-1.468 2.249-2.308 3.632-2.308h1.936l-1.315 1.291a.403.403 0 0 0 0 .579c.082.08.188.12.297.12a.42.42 0 0 0 .296-.12l2.027-1.99a.406.406 0 0 0-.003-.58zm-.862.34v-.04l.02.02-.02.02z"></path><path d="M20.954 22.581c.082.08.188.12.297.12a.42.42 0 0 0 .296-.12l2.027-1.99a.403.403 0 0 0 0-.58l-2.027-1.986a.42.42 0 0 0-.59 0 .403.403 0 0 0 0 .578l1.316 1.292h-1.877c-1.38 0-2.706-.843-3.632-2.312L13.69 12.71c-1.08-1.716-2.664-2.697-4.34-2.697H7.416a.412.412 0 1 0 0 .823h1.931c1.38 0 2.705.843 3.632 2.309l3.073 4.874c1.08 1.716 2.664 2.7 4.34 2.7h1.877l-1.315 1.291a.4.4 0 0 0 0 .572zm1.754-2.265l.02.02-.02.02v-.04z"></path></g></svg></div><div>Compare MaxCDN vs Amazon CloudFront</div></div></a></div></div></div></div></div><div class="css-f2odf3"><div class="css-1m02by6"><h2>related MaxCDN posts</h2></div><div class="css-uw1ldh"><div class="css-4gnhqq"><div class="css-xkasvz"><div class="css-atv6j6"><div class="css-1m8tyev"><div class="lazyload-wrapper"><div class="lazyload-placeholder"></div></div></div></div><div class="css-1vf0ygt"><div class="css-utnqcw"><div>Justin Dorfman</div></div><div class="css-ds0hbm">Open Source Program Manager<!-- --> at Reblaze<!-- --> · <a href="/jdorfman/decisions/102084808861672396" class="css-nil"><time>May 12, 2019</time> <!-- -->| 4 upvotes · 208.9K views</a></div></div></div></div><div class="css-nil"><div class="css-dg4ww9"><svg xmlns="http://www.w3.org/2000/svg" width="21" height="21" viewBox="0 0 21 21"><g fill="none" fill-rule="evenodd"><path fill="#068DFE" fill-rule="nonzero" d="M20.918 19.017l-1.442-4.195a10.3 10.3 0 0 0 1.062-4.537 10.208 10.208 0 0 0-2.949-7.207A10.199 10.199 0 0 0 10.436 0a10.23 10.23 0 0 0-7.428 3.006A10.228 10.228 0 0 0 0 10.437a10.199 10.199 0 0 0 3.077 7.153 10.207 10.207 0 0 0 7.191 2.95h.016a10.3 10.3 0 0 0 4.537-1.063l4.195 1.442a1.485 1.485 0 0 0 1.543-.357c.408-.408.545-.999.358-1.544z"></path><rect width="7" height="1.8" x="6" y="5" fill="#FFF" rx=".9"></rect><rect width="10" height="1.8" x="6" y="9" fill="#FFF" rx=".9"></rect><rect width="7" height="1.8" x="6" y="13" fill="#FFF" rx=".9"></rect></g></svg><div class="css-z9ms26">Shared insights</div><div class="css-6uh2e7">on</div><a href="/maxcdn" class="css-1pwtf47"><span title="MaxCDN" class="css-t68yd0 service"><img src="https://img.stackshare.io/service/14/HG2q2Oxj.png" alt="MaxCDN" class="css-1rz3855"/></span><span class="css-i6njnm">MaxCDN</span></a><a href="/github-pages" class="css-1pwtf47"><span title="GitHub Pages" class="css-t68yd0 service"><img src="https://img.stackshare.io/service/683/default_5eeb660db1239eeb3f1c1f6187f2abf0f3a0500d.png" alt="GitHub Pages" class="css-1rz3855"/></span><span class="css-i6njnm">GitHub Pages</span></a><a href="/netlify" class="css-1pwtf47"><span title="Netlify" class="css-t68yd0 service"><img src="https://img.stackshare.io/service/2748/default_5dfbb146cf22182bca88c7d07f2515a5888fc12a.jpg" alt="Netlify" class="css-1rz3855"/></span><span class="css-i6njnm">Netlify</span></a><a href="/lets-encrypt" class="css-1pwtf47"><span title="Let&#x27;s Encrypt" class="css-t68yd0 service"><img src="https://img.stackshare.io/service/4225/lSuJvwXU_400x400.jpg" alt="Let&#x27;s Encrypt" class="css-1rz3855"/></span><span class="css-i6njnm">Let&#x27;s Encrypt</span></a><a href="/jekyll" class="css-1pwtf47"><span title="Jekyll" class="css-t68yd0 service"><img src="https://img.stackshare.io/service/1114/ad968c1615d956e800fa36494314f48c.jpeg" alt="Jekyll" class="css-1rz3855"/></span><span class="css-i6njnm">Jekyll</span></a><a href="/bootstrap" class="css-1pwtf47"><span title="Bootstrap" class="css-t68yd0 service"><img src="https://img.stackshare.io/service/1101/C9QJ7V3X.png" alt="Bootstrap" class="css-1rz3855"/></span><span class="css-i6njnm">Bootstrap</span></a><a href="/jquery" class="css-1pwtf47"><span title="jQuery" class="css-t68yd0 service"><img src="https://img.stackshare.io/service/1021/lxEKmMnB_400x400.jpg" alt="jQuery" class="css-1rz3855"/></span><span class="css-i6njnm">jQuery</span></a><a href="/grunt" class="css-1pwtf47"><span title="Grunt" class="css-t68yd0 service"><img src="https://img.stackshare.io/service/845/falgg2jybmhgk16y62lr.png" alt="Grunt" class="css-1rz3855"/></span><span class="css-i6njnm">Grunt</span></a><a href="/fastly" class="css-1pwtf47"><span title="Fastly" class="css-t68yd0 service"><img src="https://img.stackshare.io/service/274/9V2sLNfw.png" alt="Fastly" class="css-1rz3855"/></span><span class="css-i6njnm">Fastly</span></a></div><div class="css-1dp4k20"><div class="css-ztg526"><p>When my SSL cert <span class="tool">MaxCDN</span> was expiring on my <a href="https://www.justindorfman.com" rel="nofollow noopener" target="_blank">personal site</a> I decided it was a good time to revamp some things. Since <a href="https://developer.github.com/changes/2018-04-25-github-services-deprecation/" rel="nofollow noopener" target="_blank">GitHub Services is depreciated</a> I can no longer have <span class="topic">#CDN</span> cache purges automated among other things. So I decided on the following: <span class="tool">GitHub Pages</span>, <span class="tool">Netlify</span>, <span class="tool">Let's Encrypt</span> and <span class="tool">Jekyll</span>. Staying the same was <span class="tool">Bootstrap</span>, <span class="tool">jQuery</span>, <span class="tool">Grunt</span> &amp; <span class="topic">#GoogleFonts</span>. </p> <p>What's awesome about <span class="tool">GitHub Pages</span> is that it has a <span class="topic">#CDN</span> (<span class="tool">Fastly</span>) built-in and anytime you push to master, it purges the cache instantaneously without you have to do anything special. <span class="tool">Netlify</span> is magic, I highly recommend it to anyone using <span class="topic">#StaticSiteGenerators</span>.</p> <p>For the most part, everything went smoothly. The only things I had issues with were the following:</p> <ul> <li>If you want to point <code>www</code> to <span class="tool">GitHub Pages</span> you need to rename the repo to <code>www</code> </li> <li>If you edit something in the <code>_config.yml</code> you need to restart <code>bundle exec jekyll s</code> or changes won't show</li> <li>I had to disable the <span class="tool">Grunt</span> <code>htmlmin</code> module. I replaced it with <a href="http://jch.penibelst.de/" rel="nofollow noopener" target="_blank">Jekyll layout that compresses HTML</a> for <span class="topic">#webperf</span> </li> </ul> <p>Last but certainly not least, I made a donation to <span class="tool">Let's Encrypt</span>. If you use their service consider doing it too: <a href="https://letsencrypt.org/donate/" rel="nofollow noopener" target="_blank">https://letsencrypt.org/donate/</a></p></div></div></div><a class="css-1srb7t4">See more</a></div><div class="css-uw1ldh"><div class="css-4gnhqq"><div class="css-xkasvz"><div class="css-atv6j6"><div class="css-1m8tyev"><div class="lazyload-wrapper"><div class="lazyload-placeholder"></div></div></div></div><div class="css-1vf0ygt"><div class="css-utnqcw"><div>Todd Gardner</div></div><div class="css-ds0hbm">President<!-- --> at TrackJS<!-- --> · <a href="/toddhgardner/decisions/101155442966067865" class="css-nil"><time>Nov 29, 2018</time> <!-- -->| 3 upvotes · 52.7K views</a></div></div></div></div><div class="css-nil"><div class="css-dg4ww9"><svg xmlns="http://www.w3.org/2000/svg" width="21" height="21" viewBox="0 0 21 21"><g fill="none" fill-rule="evenodd"><path fill="#068DFE" fill-rule="nonzero" d="M20.918 19.017l-1.442-4.195a10.3 10.3 0 0 0 1.062-4.537 10.208 10.208 0 0 0-2.949-7.207A10.199 10.199 0 0 0 10.436 0a10.23 10.23 0 0 0-7.428 3.006A10.228 10.228 0 0 0 0 10.437a10.199 10.199 0 0 0 3.077 7.153 10.207 10.207 0 0 0 7.191 2.95h.016a10.3 10.3 0 0 0 4.537-1.063l4.195 1.442a1.485 1.485 0 0 0 1.543-.357c.408-.408.545-.999.358-1.544z"></path><rect width="7" height="1.8" x="6" y="5" fill="#FFF" rx=".9"></rect><rect width="10" height="1.8" x="6" y="9" fill="#FFF" rx=".9"></rect><rect width="7" height="1.8" x="6" y="13" fill="#FFF" rx=".9"></rect></g></svg><div class="css-z9ms26">Shared insights</div><div class="css-6uh2e7">on</div><a href="/amazon-cloudfront" class="css-1pwtf47"><span title="Amazon CloudFront" class="css-t68yd0 service"><img src="https://img.stackshare.io/service/13/amazon-cloudfront.png" alt="Amazon CloudFront" class="css-1rz3855"/></span><span class="css-i6njnm">Amazon CloudFront</span></a><a href="/maxcdn" class="css-1pwtf47"><span title="MaxCDN" class="css-t68yd0 service"><img src="https://img.stackshare.io/service/14/HG2q2Oxj.png" alt="MaxCDN" class="css-1rz3855"/></span><span class="css-i6njnm">MaxCDN</span></a><div class="css-6uh2e7">at</div><a itemscope="" itemType="http://schema.org/Organization" itemProp="url" href="/companies/trackjs" target="_blank" class="css-1j2w1cg"><div class="lazyload-wrapper"><div class="lazyload-placeholder"></div></div><div itemProp="name" class="css-1b2ktnx">TrackJS</div></a></div><div class="css-1dp4k20"><div class="css-ztg526"><p>We migrated the hosting of our CDN, which is used to serve the JavaScript Error collection agent, from <span class="tool">Amazon CloudFront</span> to <span class="tool">MaxCDN</span>. During our test, we found MaxCDN to be more reliable and less expensive for serving he file.</p> <p>The reports and controls were also considerably better.</p></div></div></div><a class="css-1srb7t4">See more</a></div></div></div><div class="css-8qpfeu"><div class="css-kb8or3"><div class="css-1d3wilq"><div class="css-ljm4wn"><div class="css-mwikcm"><a href="/amazon-s3" class="css-1jltg37"><img src="https://img.stackshare.io/service/25/thumb_retina_amazon-s3.png" alt="Amazon S3 logo" class="css-1489hth"/></a></div><div class="css-8wh4b7"><h2 class="css-pltn6z"><a href="/amazon-s3" class="css-1hhgtx3">Amazon S3</a></h2><div class="css-rpzmwi"><div class="css-12alag6"><div class="css-5f7045"><div class="css-3k44bn"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 30 30"><g fill="#A1A1A1" stroke="#A1A1A1" stroke-width=".2"><path fill-rule="evenodd" d="M20.467 21.867a2.415 2.415 0 0 1-2.318-1.74h-2.192l-.012.008-2.615-4.499h-1.598a2.415 2.415 0 1 1 0-1.35h1.641l-.058-.034 2.63-4.526.022.013h2.172a2.415 2.415 0 1 1 0 1.35h-1.424l-2.23 3.838-.002.003.001.004 2.234 3.843h1.431a2.415 2.415 0 1 1 2.318 3.09zm-.01-10.184a1.27 1.27 0 1 0-1.244-1.515v.492a1.27 1.27 0 0 0 1.244 1.023zm-11.043 2.01a1.268 1.268 0 1 0 0 2.537 1.268 1.268 0 0 0 0-2.537zm11.053 4.491a1.27 1.27 0 0 0-1.244 1.022v.493a1.27 1.27 0 0 0 1.244 1.022 1.27 1.27 0 0 0 0-2.537z"></path></g></svg></div><div class="css-1qckosq">49.2K</div></div><div class="css-5f7045"><div class="css-3k44bn"><svg class="css-1a4uubp" xmlns="http://www.w3.org/2000/svg" width="20" height="17" viewBox="0 0 20 17"><path fill="#A09F9F" fill-rule="evenodd" stroke="#999" stroke-width=".2" d="M14.432 12.715l2.348-2.746a.415.415 0 0 1 .607-.038.47.47 0 0 1 .028.646l-2.64 3.09a.419.419 0 0 1-.3.15h-.014a.414.414 0 0 1-.3-.127l-1.498-1.516a.466.466 0 0 1-.014-.637.413.413 0 0 1 .606-.015l1.177 1.193zm-3.165-.868a3.749 3.749 0 0 0 3.744 3.745 3.749 3.749 0 0 0 3.744-3.745 3.749 3.749 0 0 0-3.744-3.745 3.749 3.749 0 0 0-3.744 3.745zm2.001-4.195a4.523 4.523 0 0 1 1.743-.35 4.55 4.55 0 0 1 4.545 4.545 4.55 4.55 0 0 1-4.545 4.545 4.55 4.55 0 0 1-4.545-4.545 4.53 4.53 0 0 1 1.91-3.688c-.026-.013-.045-.029-.045-.054V5.837c0-.159.08-.308.207-.395a.588.588 0 0 0 .254-.487V2.6c0-.907-.721-1.64-1.602-1.64h-.494c-.886 0-1.603.738-1.603 1.64v2.355c0 .192.095.376.255.487a.47.47 0 0 1 .207.395v2.268a.588.588 0 0 1-.32.526c-.288.145-1.791.921-3.181 2.089a.66.66 0 0 0-.235.511v1.612a.456.456 0 0 1-.458.473.47.47 0 0 1-.466-.478v-1.612c0-.487.207-.94.575-1.249.153-.129.307-.253.461-.373V7.21a.5.5 0 0 1 .214-.41.352.352 0 0 0 .156-.296V4.618c0-.666-.525-1.206-1.172-1.206h-.394c-.646 0-1.166.54-1.166 1.201v1.886c0 .121.058.231.155.296.136.09.214.245.214.41v1.817c0 .225-.121.42-.316.52a13.83 13.83 0 0 0-2.513 1.662.421.421 0 0 0-.146.325v1.291a.487.487 0 0 1-.481.496A.487.487 0 0 1 0 12.82v-1.291c0-.425.18-.821.501-1.091.967-.821 2.003-1.411 2.479-1.667V7.435a1.368 1.368 0 0 1-.369-.936V4.613c0-1.211.958-2.192 2.129-2.192h.394c1.177 0 2.129.986 2.129 2.192v1.886c0 .356-.136.686-.369.936V8.91a19.344 19.344 0 0 1 1.733-1.037V6.059a1.557 1.557 0 0 1-.462-1.109V2.595C8.165 1.162 9.305 0 10.7 0h.495c1.399 0 2.535 1.167 2.535 2.595V4.95c0 .424-.17.82-.462 1.109v1.593z"></path></svg></div><div class="css-1qckosq">35.3K</div></div><div class="css-5f7045"><div class="css-3k44bn"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 30 30"><path fill="#A1A1A1" stroke="#A1A1A1" stroke-width=".2" d="M23.42 15.403c.855-.864.59-2.612-.892-2.612l-3.903.002c.148-.837.363-2.226.354-2.357-.082-1.242-.863-2.754-.896-2.815-.143-.27-.862-.634-1.586-.478-.935.203-1.03.808-1.027.975 0 0 .04 1.655.044 2.097-.447.996-1.99 3.613-2.457 3.815a.706.706 0 0 0-.37-.105H7.755A.76.76 0 0 0 7 14.69v6.908a.72.72 0 0 0 .71.665h4.43a.718.718 0 0 0 .711-.722v-.23s.165-.012.24.037c.285.183.636.414 1.095.414h6.61c2.47 0 2.205-2.224 1.98-2.527.417-.46.675-1.273.323-1.915.27-.29.746-1.09.32-1.917zM11.986 21.54H7.71v-6.894h4.278v6.894zm10.28-6.196l-.041.17c1.138.329.532 1.659-.284 1.745l-.04.17c1.091.282.57 1.652-.285 1.745l-.04.17c.891.149.675 1.691-.675 1.691l-6.722.003c-.475 0-.907-.549-1.257-.549h-.304v-5.306c.38-.239.846-.549 1.106-.772.49-.424 2.497-3.71 2.497-4.122 0-.412-.045-2.191-.045-2.191s.394-.514 1.272-.14c0 0 .74 1.406.815 2.526 0 0-.333 2.307-.512 3.03h4.66c1.146.002.927 1.659-.146 1.83z"></path></svg></div><div class="css-1qckosq">2K</div></div></div></div><div class="css-q4ncy">Store and retrieve any amount of data, at any time, from anywhere on the web</div><div class="css-1mj0hbk"><div class="css-1drwozb"><div class="css-gbti5j"><label>Stacks</label><span>49.2K</span></div><div class="css-1ahj942"></div><div class="css-1an0suy"><label>Followers</label><span>35.3K</span><div>+ 1</div></div><div class="css-1ahj942"></div><div class="css-gbti5j"><label>Votes</label><span>2K</span></div></div></div></div></div><div class="css-1dnnpo5"><div class="css-ubpjqb"><button data-testid="follow" class="css-14pk3xx"><svg width="11" height="11" viewBox="0 0 11 11" xmlns="http://www.w3.org/2000/svg" fill-rule="evenodd" clip-rule="evenodd" stroke-linecap="round" stroke-linejoin="round" stroke-miterlimit="1.5"><path d="M5.5 0v11M0 5.5h11" fill="none" stroke="#fff"></path></svg> <!-- -->Follow</button><button data-testid="iUseThis" class="css-1o4togz"><svg width="11" height="11" viewBox="0 0 11 11" xmlns="http://www.w3.org/2000/svg" fill-rule="evenodd" clip-rule="evenodd" stroke-linecap="round" stroke-linejoin="round" stroke-miterlimit="1.5"><path d="M5.5 0v11M0 5.5h11" fill="none" stroke="#fff"></path></svg> I use this</button></div><div class="css-gpa5xw"><div class="css-1ob9em9"><button class="css-1mpii3w">Join the Snowflake Build Summit</button></div></div></div></div><div class="css-1erkkk4"><div class="css-a55l86"><div class="css-usifiy">PROS OF <!-- -->AMAZON S3</div><div class="css-6t66tf"><div class="css-nil"><div class="css-1v4wqws"><div class="css-nil"><div class="css-1x4ysa3"><h2 hidden="" class="css-nil"></h2><ul class="css-7c9av6"><li class="css-6nrkpz"><div class="css-1mlbi0l"><div class="css-1cda8k4"><div class="css-2an9kq"><svg style="margin-top:3px;margin-bottom:3px" xmlns="http://www.w3.org/2000/svg" width="10" height="8" viewBox="0 0 10 8"><path fill="#565656" fill-rule="evenodd" d="M5 0l5 8H0z"></path></svg><span class="css-5x5cr6">592</span></div></div><span class="css-rsz8c">Reliable</span></div></li><li class="css-6nrkpz"><div class="css-1mlbi0l"><div class="css-1cda8k4"><div class="css-2an9kq"><svg style="margin-top:3px;margin-bottom:3px" xmlns="http://www.w3.org/2000/svg" width="10" height="8" viewBox="0 0 10 8"><path fill="#565656" fill-rule="evenodd" d="M5 0l5 8H0z"></path></svg><span class="css-5x5cr6">493</span></div></div><span class="css-rsz8c">Scalable</span></div></li><li class="css-6nrkpz"><div class="css-1mlbi0l"><div class="css-1cda8k4"><div class="css-2an9kq"><svg style="margin-top:3px;margin-bottom:3px" xmlns="http://www.w3.org/2000/svg" width="10" height="8" viewBox="0 0 10 8"><path fill="#565656" fill-rule="evenodd" d="M5 0l5 8H0z"></path></svg><span class="css-5x5cr6">458</span></div></div><span class="css-rsz8c">Cheap</span></div></li><li class="css-6nrkpz"><div class="css-1mlbi0l"><div class="css-1cda8k4"><div class="css-2an9kq"><svg style="margin-top:3px;margin-bottom:3px" xmlns="http://www.w3.org/2000/svg" width="10" height="8" viewBox="0 0 10 8"><path fill="#565656" fill-rule="evenodd" d="M5 0l5 8H0z"></path></svg><span class="css-5x5cr6">329</span></div></div><span class="css-rsz8c">Simple &amp; easy</span></div></li><li class="css-6nrkpz"><div class="css-1mlbi0l"><div class="css-1cda8k4"><div class="css-2an9kq"><svg style="margin-top:3px;margin-bottom:3px" xmlns="http://www.w3.org/2000/svg" width="10" height="8" viewBox="0 0 10 8"><path fill="#565656" fill-rule="evenodd" d="M5 0l5 8H0z"></path></svg><span class="css-5x5cr6">83</span></div></div><span class="css-rsz8c">Many sdks</span></div></li><li class="css-6nrkpz"><div class="css-1mlbi0l"><div class="css-1cda8k4"><div class="css-2an9kq"><svg style="margin-top:3px;margin-bottom:3px" xmlns="http://www.w3.org/2000/svg" width="10" height="8" viewBox="0 0 10 8"><path fill="#565656" fill-rule="evenodd" d="M5 0l5 8H0z"></path></svg><span class="css-5x5cr6">30</span></div></div><span class="css-rsz8c">Logical</span></div></li><li class="css-6nrkpz"><div class="css-1mlbi0l"><div class="css-1cda8k4"><div class="css-2an9kq"><svg style="margin-top:3px;margin-bottom:3px" xmlns="http://www.w3.org/2000/svg" width="10" height="8" viewBox="0 0 10 8"><path fill="#565656" fill-rule="evenodd" d="M5 0l5 8H0z"></path></svg><span class="css-5x5cr6">13</span></div></div><span class="css-rsz8c">Easy Setup</span></div></li><li class="css-6nrkpz"><div class="css-1mlbi0l"><div class="css-1cda8k4"><div class="css-2an9kq"><svg style="margin-top:3px;margin-bottom:3px" xmlns="http://www.w3.org/2000/svg" width="10" height="8" viewBox="0 0 10 8"><path fill="#565656" fill-rule="evenodd" d="M5 0l5 8H0z"></path></svg><span class="css-5x5cr6">11</span></div></div><span class="css-rsz8c">REST API</span></div></li><li class="css-6nrkpz"><div class="css-1mlbi0l"><div class="css-1cda8k4"><div class="css-2an9kq"><svg style="margin-top:3px;margin-bottom:3px" xmlns="http://www.w3.org/2000/svg" width="10" height="8" viewBox="0 0 10 8"><path fill="#565656" fill-rule="evenodd" d="M5 0l5 8H0z"></path></svg><span class="css-5x5cr6">11</span></div></div><span class="css-rsz8c">1000+ POPs</span></div></li><li class="css-6nrkpz"><div class="css-1mlbi0l"><div class="css-1cda8k4"><div class="css-2an9kq"><svg style="margin-top:3px;margin-bottom:3px" xmlns="http://www.w3.org/2000/svg" width="10" height="8" viewBox="0 0 10 8"><path fill="#565656" fill-rule="evenodd" d="M5 0l5 8H0z"></path></svg><span class="css-5x5cr6">6</span></div></div><span class="css-rsz8c">Secure</span></div></li><li class="css-6nrkpz"><div class="css-1mlbi0l"><div class="css-1cda8k4"><div class="css-2an9kq"><svg style="margin-top:3px;margin-bottom:3px" xmlns="http://www.w3.org/2000/svg" width="10" height="8" viewBox="0 0 10 8"><path fill="#565656" fill-rule="evenodd" d="M5 0l5 8H0z"></path></svg><span class="css-5x5cr6">4</span></div></div><span class="css-rsz8c">Easy </span></div></li><li class="css-6nrkpz"><div class="css-1mlbi0l"><div class="css-1cda8k4"><div class="css-2an9kq"><svg style="margin-top:3px;margin-bottom:3px" xmlns="http://www.w3.org/2000/svg" width="10" height="8" viewBox="0 0 10 8"><path fill="#565656" fill-rule="evenodd" d="M5 0l5 8H0z"></path></svg><span class="css-5x5cr6">4</span></div></div><span class="css-rsz8c">Plug and play</span></div></li><li class="css-6nrkpz"><div class="css-1mlbi0l"><div class="css-1cda8k4"><div class="css-2an9kq"><svg style="margin-top:3px;margin-bottom:3px" xmlns="http://www.w3.org/2000/svg" width="10" height="8" viewBox="0 0 10 8"><path fill="#565656" fill-rule="evenodd" d="M5 0l5 8H0z"></path></svg><span class="css-5x5cr6">3</span></div></div><span class="css-rsz8c">Web UI for uploading files</span></div></li><li class="css-6nrkpz"><div class="css-1mlbi0l"><div class="css-1cda8k4"><div class="css-2an9kq"><svg style="margin-top:3px;margin-bottom:3px" xmlns="http://www.w3.org/2000/svg" width="10" height="8" viewBox="0 0 10 8"><path fill="#565656" fill-rule="evenodd" d="M5 0l5 8H0z"></path></svg><span class="css-5x5cr6">2</span></div></div><span class="css-rsz8c">Flexible</span></div></li><li class="css-6nrkpz"><div class="css-1mlbi0l"><div class="css-1cda8k4"><div class="css-2an9kq"><svg style="margin-top:3px;margin-bottom:3px" xmlns="http://www.w3.org/2000/svg" width="10" height="8" viewBox="0 0 10 8"><path fill="#565656" fill-rule="evenodd" d="M5 0l5 8H0z"></path></svg><span class="css-5x5cr6">2</span></div></div><span class="css-rsz8c">GDPR ready</span></div></li><li class="css-6nrkpz"><div class="css-1mlbi0l"><div class="css-1cda8k4"><div class="css-2an9kq"><svg style="margin-top:3px;margin-bottom:3px" xmlns="http://www.w3.org/2000/svg" width="10" height="8" viewBox="0 0 10 8"><path fill="#565656" fill-rule="evenodd" d="M5 0l5 8H0z"></path></svg><span class="css-5x5cr6">2</span></div></div><span class="css-rsz8c">Faster on response</span></div></li><li class="css-6nrkpz"><div class="css-1mlbi0l"><div class="css-1cda8k4"><div class="css-2an9kq"><svg style="margin-top:3px;margin-bottom:3px" xmlns="http://www.w3.org/2000/svg" width="10" height="8" viewBox="0 0 10 8"><path fill="#565656" fill-rule="evenodd" d="M5 0l5 8H0z"></path></svg><span class="css-5x5cr6">1</span></div></div><span class="css-rsz8c">Easy integration with CloudFront</span></div></li><li class="css-6nrkpz"><div class="css-1mlbi0l"><div class="css-1cda8k4"><div class="css-2an9kq"><svg style="margin-top:3px;margin-bottom:3px" xmlns="http://www.w3.org/2000/svg" width="10" height="8" viewBox="0 0 10 8"><path fill="#565656" fill-rule="evenodd" d="M5 0l5 8H0z"></path></svg><span class="css-5x5cr6">1</span></div></div><span class="css-rsz8c">Easy to use</span></div></li><li class="css-6nrkpz"><div class="css-1mlbi0l"><div class="css-1cda8k4"><div class="css-2an9kq"><svg style="margin-top:3px;margin-bottom:3px" xmlns="http://www.w3.org/2000/svg" width="10" height="8" viewBox="0 0 10 8"><path fill="#565656" fill-rule="evenodd" d="M5 0l5 8H0z"></path></svg><span class="css-5x5cr6">1</span></div></div><span class="css-rsz8c">Plug-gable</span></div></li></ul></div></div></div></div></div></div><div class="css-a55l86"><div class="css-usifiy">CONS OF <!-- -->AMAZON S3</div><div class="css-6t66tf"><div class="css-nil"><div class="css-1v4wqws"><div class="css-nil"><div class="css-1x4ysa3"><h2 hidden="" class="css-nil"></h2><ul class="css-7c9av6"><li class="css-6nrkpz"><div class="css-1mlbi0l"><div class="css-1cda8k4"><div class="css-2an9kq"><svg style="margin-top:3px;margin-bottom:3px" xmlns="http://www.w3.org/2000/svg" width="10" height="8" viewBox="0 0 10 8"><path fill="#565656" fill-rule="evenodd" d="M5 0l5 8H0z"></path></svg><span class="css-5x5cr6">7</span></div></div><span class="css-rsz8c">Permissions take some time to get right</span></div></li><li class="css-6nrkpz"><div class="css-1mlbi0l"><div class="css-1cda8k4"><div class="css-2an9kq"><svg style="margin-top:3px;margin-bottom:3px" xmlns="http://www.w3.org/2000/svg" width="10" height="8" viewBox="0 0 10 8"><path fill="#565656" fill-rule="evenodd" d="M5 0l5 8H0z"></path></svg><span class="css-5x5cr6">6</span></div></div><span class="css-rsz8c">Takes time/work to organize buckets &amp; folders properly</span></div></li><li class="css-6nrkpz"><div class="css-1mlbi0l"><div class="css-1cda8k4"><div class="css-2an9kq"><svg style="margin-top:3px;margin-bottom:3px" xmlns="http://www.w3.org/2000/svg" width="10" height="8" viewBox="0 0 10 8"><path fill="#565656" fill-rule="evenodd" d="M5 0l5 8H0z"></path></svg><span class="css-5x5cr6">5</span></div></div><span class="css-rsz8c">Requires a credit card</span></div></li><li class="css-6nrkpz"><div class="css-1mlbi0l"><div class="css-1cda8k4"><div class="css-2an9kq"><svg style="margin-top:3px;margin-bottom:3px" xmlns="http://www.w3.org/2000/svg" width="10" height="8" viewBox="0 0 10 8"><path fill="#565656" fill-rule="evenodd" d="M5 0l5 8H0z"></path></svg><span class="css-5x5cr6">3</span></div></div><span class="css-rsz8c">Complex to set up</span></div></li></ul></div></div></div></div></div></div><div class="css-a55l86"><div class="css-usifiy">COMPARE</div><div class="css-6t66tf"><div class="css-1bn5mmw"><a href="/stackups/amazon-s3-vs-amazon-cloudfront" class="css-1dnwvu3"><div class="css-1v4bhi8"><img src="https://img.stackshare.io/service/25/thumb_retina_amazon-s3.png" alt="Amazon S3 logo" class="css-6wyd29"/><div class="css-19dpmz">VS</div><img src="https://img.stackshare.io/service/13/thumb_retina_amazon-cloudfront.png" alt="Amazon CloudFront logo" class="css-6wyd29"/></div><div class="css-v6oua5"><div class="css-16r6zz5"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 30 30"><g fill="#A1A1A1" stroke="#A1A1A1" stroke-width=".2"><path d="M13.626 18.015l.511-.81a.405.405 0 0 0-.136-.565.422.422 0 0 0-.576.133l-.51.81c-.927 1.469-2.25 2.312-3.632 2.312H7.416a.412.412 0 1 0 0 .823h1.87c1.68-.007 3.26-.99 4.34-2.703zm9.944-7.882l-2.023-1.99a.42.42 0 0 0-.59 0 .403.403 0 0 0 0 .578l1.316 1.291h-1.939c-1.676 0-3.26.984-4.34 2.697l-.314.498a.405.405 0 0 0 .137.566.42.42 0 0 0 .572-.134l.313-.499c.927-1.468 2.249-2.308 3.632-2.308h1.936l-1.315 1.291a.403.403 0 0 0 0 .579c.082.08.188.12.297.12a.42.42 0 0 0 .296-.12l2.027-1.99a.406.406 0 0 0-.003-.58zm-.862.34v-.04l.02.02-.02.02z"></path><path d="M20.954 22.581c.082.08.188.12.297.12a.42.42 0 0 0 .296-.12l2.027-1.99a.403.403 0 0 0 0-.58l-2.027-1.986a.42.42 0 0 0-.59 0 .403.403 0 0 0 0 .578l1.316 1.292h-1.877c-1.38 0-2.706-.843-3.632-2.312L13.69 12.71c-1.08-1.716-2.664-2.697-4.34-2.697H7.416a.412.412 0 1 0 0 .823h1.931c1.38 0 2.705.843 3.632 2.309l3.073 4.874c1.08 1.716 2.664 2.7 4.34 2.7h1.877l-1.315 1.291a.4.4 0 0 0 0 .572zm1.754-2.265l.02.02-.02.02v-.04z"></path></g></svg></div><div>Compare Amazon S3 vs Amazon CloudFront</div></div></a></div></div></div></div></div><div class="css-f2odf3"><div class="css-1m02by6"><h2>related Amazon S3 posts</h2></div><div class="css-uw1ldh"><div class="css-4gnhqq"><div class="css-xkasvz"><div class="css-atv6j6"><div class="css-1m8tyev"><div class="lazyload-wrapper"><div class="lazyload-placeholder"></div></div></div></div><div class="css-1vf0ygt"><div class="css-utnqcw"><div>Ashish Singh</div></div><div class="css-ds0hbm">Tech Lead, Big Data Platform<!-- --> at Pinterest<!-- --> · <a href="/SinghAsDev/decisions/103207251043472057" class="css-nil"><time>Nov 27, 2019</time> <!-- -->| 38 upvotes · 1.2M views</a></div></div></div></div><div class="css-nil"><div class="css-dg4ww9"><svg xmlns="http://www.w3.org/2000/svg" width="21" height="21" viewBox="0 0 21 21"><g fill="none" fill-rule="evenodd"><path fill="#068DFE" fill-rule="nonzero" d="M20.918 19.017l-1.442-4.195a10.3 10.3 0 0 0 1.062-4.537 10.208 10.208 0 0 0-2.949-7.207A10.199 10.199 0 0 0 10.436 0a10.23 10.23 0 0 0-7.428 3.006A10.228 10.228 0 0 0 0 10.437a10.199 10.199 0 0 0 3.077 7.153 10.207 10.207 0 0 0 7.191 2.95h.016a10.3 10.3 0 0 0 4.537-1.063l4.195 1.442a1.485 1.485 0 0 0 1.543-.357c.408-.408.545-.999.358-1.544z"></path><rect width="7" height="1.8" x="6" y="5" fill="#FFF" rx=".9"></rect><rect width="10" height="1.8" x="6" y="9" fill="#FFF" rx=".9"></rect><rect width="7" height="1.8" x="6" y="13" fill="#FFF" rx=".9"></rect></g></svg><div class="css-z9ms26">Shared insights</div><div class="css-6uh2e7">on</div><a href="/apache-hive" class="css-1pwtf47"><span title="Apache Hive" class="css-t68yd0 service"><img src="https://img.stackshare.io/service/1911/27eb4217dfd5cb2d579cb56bbcc7b290_400x400.jpeg" alt="Apache Hive" class="css-1rz3855"/></span><span class="css-i6njnm">Apache Hive</span></a><a href="/presto" class="css-1pwtf47"><span title="Presto" class="css-t68yd0 service"><img src="https://img.stackshare.io/service/2606/default_9c42299fc673a12eed0ad20cb7f5c1fd4ef5c80f.png" alt="Presto" class="css-1rz3855"/></span><span class="css-i6njnm">Presto</span></a><a href="/amazon-ec2" class="css-1pwtf47"><span title="Amazon EC2" class="css-t68yd0 service"><img src="https://img.stackshare.io/service/18/amazon-ec2.png" alt="Amazon EC2" class="css-1rz3855"/></span><span class="css-i6njnm">Amazon EC2</span></a><a href="/amazon-s3" class="css-1pwtf47"><span title="Amazon S3" class="css-t68yd0 service"><img src="https://img.stackshare.io/service/25/amazon-s3.png" alt="Amazon S3" class="css-1rz3855"/></span><span class="css-i6njnm">Amazon S3</span></a><a href="/kafka" class="css-1pwtf47"><span title="Kafka" class="css-t68yd0 service"><img src="https://img.stackshare.io/service/1063/kazUJooF_400x400.jpg" alt="Kafka" class="css-1rz3855"/></span><span class="css-i6njnm">Kafka</span></a><a href="/kubernetes" class="css-1pwtf47"><span title="Kubernetes" class="css-t68yd0 service"><img src="https://img.stackshare.io/service/1885/21_d3cvM.png" alt="Kubernetes" class="css-1rz3855"/></span><span class="css-i6njnm">Kubernetes</span></a><div class="css-6uh2e7">at</div><a itemscope="" itemType="http://schema.org/Organization" itemProp="url" href="/companies/pinterest" target="_blank" class="css-1j2w1cg"><div class="lazyload-wrapper"><div class="lazyload-placeholder"></div></div><div itemProp="name" class="css-1b2ktnx">Pinterest</div></a></div><div class="css-1dp4k20"><div class="css-ztg526"><p>To provide employees with the critical need of interactive querying, we’ve worked with <span class="tool">Presto</span>, an open-source distributed SQL query engine, over the years. Operating Presto at Pinterest’s scale has involved resolving quite a few challenges like, supporting deeply nested and huge thrift schemas, slow/ bad worker detection and remediation, auto-scaling cluster, graceful cluster shutdown and impersonation support for ldap authenticator.</p> <p>Our infrastructure is built on top of <span class="tool">Amazon EC2</span> and we leverage <span class="tool">Amazon S3</span> for storing our data. This separates compute and storage layers, and allows multiple compute clusters to share the S3 data.</p> <p>We have hundreds of petabytes of data and tens of thousands of <span class="tool">Apache Hive</span> tables. Our Presto clusters are comprised of a fleet of 450 r4.8xl EC2 instances. Presto clusters together have over 100 TBs of memory and 14K vcpu cores. Within Pinterest, we have close to more than 1,000 monthly active users (out of total 1,600+ Pinterest employees) using Presto, who run about 400K queries on these clusters per month.</p> <p>Each query submitted to Presto cluster is logged to a <span class="tool">Kafka</span> topic via Singer. Singer is a logging agent built at Pinterest and we talked about it in a <a href="https://medium.com/pinterest-engineering/scalable-and-reliable-data-ingestion-at-pinterest-b921c2ee8754" rel="nofollow noopener" target="_blank">previous post</a>. Each query is logged when it is submitted and when it finishes. When a Presto cluster crashes, we will have query submitted events without corresponding query finished events. These events enable us to capture the effect of cluster crashes over time.</p> <p>Each Presto cluster at Pinterest has workers on a mix of dedicated AWS EC2 instances and <span class="tool">Kubernetes</span> pods. Kubernetes platform provides us with the capability to add and remove workers from a Presto cluster very quickly. The best-case latency on bringing up a new worker on Kubernetes is less than a minute. However, when the Kubernetes cluster itself is out of resources and needs to scale up, it can take up to ten minutes. Some other advantages of deploying on Kubernetes platform is that our Presto deployment becomes agnostic of cloud vendor, instance types, OS, etc.</p> <p><span class="topic">#BigData</span> <span class="topic">#AWS</span> <span class="topic">#DataScience</span> <span class="topic">#DataEngineering</span> </p></div><div class="css-13nf4of"><svg class="css-xd3exe" xmlns="http://www.w3.org/2000/svg" width="11" height="11" viewBox="0 0 11 11"><g fill="#49A8F9" fill-rule="evenodd"><path d="M10.5 0h-4a.5.5 0 0 0 0 1h2.793L4.146 6.146a.5.5 0 1 0 .708.708L10 1.707V4.5a.5.5 0 0 0 1 0v-4a.5.5 0 0 0-.5-.5"></path><path d="M8.5 5a.5.5 0 0 0-.5.5V10H1V3h4.5a.5.5 0 0 0 0-1h-5a.5.5 0 0 0-.5.5v8a.5.5 0 0 0 .5.5h8a.5.5 0 0 0 .5-.5v-5a.5.5 0 0 0-.5-.5"></path></g></svg><a href="https://medium.com/pinterest-engineering/presto-at-pinterest-a8bda7515e52" title="Presto at Pinterest - Pinterest Engineering Blog - Medium" class="css-nil">Presto at Pinterest - Pinterest Engineering Blog - Medium</a></div></div></div><a class="css-1srb7t4">See more</a></div><div class="css-uw1ldh"><div class="css-4gnhqq"><div class="css-xkasvz"><div class="css-atv6j6"><div class="css-1m8tyev"><div class="lazyload-wrapper"><div class="lazyload-placeholder"></div></div></div></div><div class="css-1vf0ygt"><div class="css-utnqcw"><div>Simon Reymann</div></div><div class="css-ds0hbm">Senior Fullstack Developer<!-- --> at QUANTUSflow Software GmbH<!-- --> · <a href="/zimoony/decisions/104069607668616391" class="css-nil"><time>Apr 27, 2020</time> <!-- -->| 29 upvotes · 5.1M views</a></div></div></div></div><div class="css-nil"><div class="css-dg4ww9"><svg xmlns="http://www.w3.org/2000/svg" width="21" height="21" viewBox="0 0 21 21"><g fill="none" fill-rule="evenodd"><path fill="#068DFE" fill-rule="nonzero" d="M20.918 19.017l-1.442-4.195a10.3 10.3 0 0 0 1.062-4.537 10.208 10.208 0 0 0-2.949-7.207A10.199 10.199 0 0 0 10.436 0a10.23 10.23 0 0 0-7.428 3.006A10.228 10.228 0 0 0 0 10.437a10.199 10.199 0 0 0 3.077 7.153 10.207 10.207 0 0 0 7.191 2.95h.016a10.3 10.3 0 0 0 4.537-1.063l4.195 1.442a1.485 1.485 0 0 0 1.543-.357c.408-.408.545-.999.358-1.544z"></path><rect width="7" height="1.8" x="6" y="5" fill="#FFF" rx=".9"></rect><rect width="10" height="1.8" x="6" y="9" fill="#FFF" rx=".9"></rect><rect width="7" height="1.8" x="6" y="13" fill="#FFF" rx=".9"></rect></g></svg><div class="css-z9ms26">Shared insights</div><div class="css-6uh2e7">on</div><a href="/openssl" class="css-1pwtf47"><span title="OpenSSL" class="css-t68yd0 service"><img src="https://img.stackshare.io/service/3091/preview.png" alt="OpenSSL" class="css-1rz3855"/></span><span class="css-i6njnm">OpenSSL</span></a><a href="/sslmate" class="css-1pwtf47"><span title="SSLMate" class="css-t68yd0 service"><img src="https://img.stackshare.io/service/2752/i7GmJlTT.png" alt="SSLMate" class="css-1rz3855"/></span><span class="css-i6njnm">SSLMate</span></a><a href="/nginx" class="css-1pwtf47"><span title="NGINX" class="css-t68yd0 service"><img src="https://img.stackshare.io/service/1052/YMxUfyWf.png" alt="NGINX" class="css-1rz3855"/></span><span class="css-i6njnm">NGINX</span></a><a href="/docker-swarm" class="css-1pwtf47"><span title="Docker Swarm" class="css-t68yd0 service"><img src="https://img.stackshare.io/service/3177/preview.png" alt="Docker Swarm" class="css-1rz3855"/></span><span class="css-i6njnm">Docker Swarm</span></a><a href="/redis" class="css-1pwtf47"><span title="Redis" class="css-t68yd0 service"><img src="https://img.stackshare.io/service/1031/default_cbce472cd134adc6688572f999e9122b9657d4ba.png" alt="Redis" class="css-1rz3855"/></span><span class="css-i6njnm">Redis</span></a><a href="/postgresql" class="css-1pwtf47"><span title="PostgreSQL" class="css-t68yd0 service"><img src="https://img.stackshare.io/service/1028/ASOhU5xJ.png" alt="PostgreSQL" class="css-1rz3855"/></span><span class="css-i6njnm">PostgreSQL</span></a><a href="/amazon-s3" class="css-1pwtf47"><span title="Amazon S3" class="css-t68yd0 service"><img src="https://img.stackshare.io/service/25/amazon-s3.png" alt="Amazon S3" class="css-1rz3855"/></span><span class="css-i6njnm">Amazon S3</span></a><a href="/amazon-ec2" class="css-1pwtf47"><span title="Amazon EC2" class="css-t68yd0 service"><img src="https://img.stackshare.io/service/18/amazon-ec2.png" alt="Amazon EC2" class="css-1rz3855"/></span><span class="css-i6njnm">Amazon EC2</span></a><a href="/heroku" class="css-1pwtf47"><span title="Heroku" class="css-t68yd0 service"><img src="https://img.stackshare.io/service/133/3wgIDj3j.png" alt="Heroku" class="css-1rz3855"/></span><span class="css-i6njnm">Heroku</span></a><a href="/kubernetes" class="css-1pwtf47"><span title="Kubernetes" class="css-t68yd0 service"><img src="https://img.stackshare.io/service/1885/21_d3cvM.png" alt="Kubernetes" class="css-1rz3855"/></span><span class="css-i6njnm">Kubernetes</span></a><a href="/virtualbox" class="css-1pwtf47"><span title="VirtualBox" class="css-t68yd0 service"><img src="https://img.stackshare.io/service/774/vbox_94px.png" alt="VirtualBox" class="css-1rz3855"/></span><span class="css-i6njnm">VirtualBox</span></a><a href="/docker-compose" class="css-1pwtf47"><span title="Docker Compose" class="css-t68yd0 service"><img src="https://img.stackshare.io/service/3136/docker-compose.png" alt="Docker Compose" class="css-1rz3855"/></span><span class="css-i6njnm">Docker Compose</span></a><a href="/docker" class="css-1pwtf47"><span title="Docker" class="css-t68yd0 service"><img src="https://img.stackshare.io/service/586/n4u37v9t_400x400.png" alt="Docker" class="css-1rz3855"/></span><span class="css-i6njnm">Docker</span></a><a href="/sonarqube" class="css-1pwtf47"><span title="SonarQube" class="css-t68yd0 service"><img src="https://img.stackshare.io/service/2638/zIVhxKyn_400x400.png" alt="SonarQube" class="css-1rz3855"/></span><span class="css-i6njnm">SonarQube</span></a><a href="/eslint" class="css-1pwtf47"><span title="ESLint" class="css-t68yd0 service"><img src="https://img.stackshare.io/service/3337/Q4L7Jncy.jpg" alt="ESLint" class="css-1rz3855"/></span><span class="css-i6njnm">ESLint</span></a><a href="/tslint" class="css-1pwtf47"><span title="TSLint" class="css-t68yd0 service"><img src="https://img.stackshare.io/service/5561/303157.png" alt="TSLint" class="css-1rz3855"/></span><span class="css-i6njnm">TSLint</span></a><a href="/prettier" class="css-1pwtf47"><span title="Prettier" class="css-t68yd0 service"><img src="https://img.stackshare.io/service/7035/default_66f265943abed56bcdbfca1c866a4261b1fbb063.jpg" alt="Prettier" class="css-1rz3855"/></span><span class="css-i6njnm">Prettier</span></a><a href="/circleci" class="css-1pwtf47"><span title="CircleCI" class="css-t68yd0 service"><img src="https://img.stackshare.io/service/190/CvqrSSFs_400x400.jpg" alt="CircleCI" class="css-1rz3855"/></span><span class="css-i6njnm">CircleCI</span></a><a href="/visual-studio-code" class="css-1pwtf47"><span title="Visual Studio Code" class="css-t68yd0 service"><img src="https://img.stackshare.io/service/4202/Visual_Studio_Code_logo.png" alt="Visual Studio Code" class="css-1rz3855"/></span><span class="css-i6njnm">Visual Studio Code</span></a><a href="/sourcetree" class="css-1pwtf47"><span title="SourceTree" class="css-t68yd0 service"><img src="https://img.stackshare.io/service/1599/sourcetree.png" alt="SourceTree" class="css-1rz3855"/></span><span class="css-i6njnm">SourceTree</span></a><a href="/git" class="css-1pwtf47"><span title="Git" class="css-t68yd0 service"><img src="https://img.stackshare.io/service/1046/git.png" alt="Git" class="css-1rz3855"/></span><span class="css-i6njnm">Git</span></a><a href="/markdown" class="css-1pwtf47"><span title="Markdown" class="css-t68yd0 service"><img src="https://img.stackshare.io/service/1147/markdown.png" alt="Markdown" class="css-1rz3855"/></span><span class="css-i6njnm">Markdown</span></a><a href="/github-pages" class="css-1pwtf47"><span title="GitHub Pages" class="css-t68yd0 service"><img src="https://img.stackshare.io/service/683/default_5eeb660db1239eeb3f1c1f6187f2abf0f3a0500d.png" alt="GitHub Pages" class="css-1rz3855"/></span><span class="css-i6njnm">GitHub Pages</span></a><a href="/github" class="css-1pwtf47"><span title="GitHub" class="css-t68yd0 service"><img src="https://img.stackshare.io/service/27/default_869c34d29acc794d60ecdd5d2b5bfc042a80a4ec.jpg" alt="GitHub" class="css-1rz3855"/></span><span class="css-i6njnm">GitHub</span></a><div class="css-6uh2e7">at</div><a itemscope="" itemType="http://schema.org/Organization" itemProp="url" href="/companies/quantusflow-software-gmbh" target="_blank" class="css-1j2w1cg"><div class="lazyload-wrapper"><div class="lazyload-placeholder"></div></div><div itemProp="name" class="css-1b2ktnx">QUANTUSflow Software GmbH</div></a></div><div class="css-1dp4k20"><div class="css-ztg526"><p>Our whole DevOps stack consists of the following tools:</p> <ul> <li><span class="tool">GitHub</span> (incl. <span class="tool">GitHub Pages</span>/<span class="tool">Markdown</span> for Documentation, GettingStarted and HowTo's) for collaborative review and code management tool</li> <li>Respectively <span class="tool">Git</span> as revision control system</li> <li><span class="tool">SourceTree</span> as <span class="tool">Git</span> GUI</li> <li><span class="tool">Visual Studio Code</span> as IDE</li> <li><span class="tool">CircleCI</span> for continuous integration (automatize development process)</li> <li><span class="tool">Prettier</span> / <span class="tool">TSLint</span> / <span class="tool">ESLint</span> as code linter</li> <li><span class="tool">SonarQube</span> as quality gate</li> <li><span class="tool">Docker</span> as container management (incl. <span class="tool">Docker Compose</span> for multi-container application management)</li> <li><span class="tool">VirtualBox</span> for operating system simulation tests</li> <li><span class="tool">Kubernetes</span> as cluster management for docker containers</li> <li><span class="tool">Heroku</span> for deploying in test environments</li> <li><span class="tool">nginx</span> as web server (preferably used as facade server in production environment)</li> <li><span class="tool">SSLMate</span> (using <span class="tool">OpenSSL</span>) for certificate management</li> <li><span class="tool">Amazon EC2</span> (incl. <span class="tool">Amazon S3</span>) for deploying in stage (production-like) and production environments</li> <li><span class="tool">PostgreSQL</span> as preferred database system</li> <li><span class="tool">Redis</span> as preferred in-memory database/store (great for caching)</li> </ul> <p>The main reason we have chosen <span class="tool">Kubernetes</span> over <span class="tool">Docker Swarm</span> is related to the following artifacts:</p> <ul> <li> <strong>Key features:</strong> Easy and flexible installation, Clear dashboard, Great scaling operations, Monitoring is an integral part, Great load balancing concepts, Monitors the condition and ensures compensation in the event of failure.</li> <li> <strong>Applications:</strong> An application can be deployed using a combination of pods, deployments, and services (or micro-services).</li> <li> <strong>Functionality:</strong> Kubernetes as a complex installation and setup process, but it not as limited as Docker Swarm.</li> <li> <strong>Monitoring:</strong> It supports multiple versions of logging and monitoring when the services are deployed within the cluster (Elasticsearch/Kibana (ELK), Heapster/Grafana, Sysdig cloud integration).</li> <li> <strong>Scalability:</strong> All-in-one framework for distributed systems.</li> <li> <strong>Other Benefits:</strong> Kubernetes is backed by the Cloud Native Computing Foundation (CNCF), huge community among container orchestration tools, it is an open source and modular tool that works with any OS.</li> </ul></div></div></div><a class="css-1srb7t4">See more</a></div></div></div><div class="css-8qpfeu"><div class="css-kb8or3"><div class="css-1d3wilq"><div class="css-ljm4wn"><div class="css-mwikcm"><a href="/azure-cdn" class="css-1jltg37"><img src="https://img.stackshare.io/service/5512/thumb_retina_azure-cdn.png" alt="Azure CDN logo" class="css-1489hth"/></a></div><div class="css-8wh4b7"><h2 class="css-pltn6z"><a href="/azure-cdn" class="css-1hhgtx3">Azure CDN</a></h2><div class="css-rpzmwi"><div class="css-12alag6"><div class="css-5f7045"><div class="css-3k44bn"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 30 30"><g fill="#A1A1A1" stroke="#A1A1A1" stroke-width=".2"><path fill-rule="evenodd" d="M20.467 21.867a2.415 2.415 0 0 1-2.318-1.74h-2.192l-.012.008-2.615-4.499h-1.598a2.415 2.415 0 1 1 0-1.35h1.641l-.058-.034 2.63-4.526.022.013h2.172a2.415 2.415 0 1 1 0 1.35h-1.424l-2.23 3.838-.002.003.001.004 2.234 3.843h1.431a2.415 2.415 0 1 1 2.318 3.09zm-.01-10.184a1.27 1.27 0 1 0-1.244-1.515v.492a1.27 1.27 0 0 0 1.244 1.023zm-11.043 2.01a1.268 1.268 0 1 0 0 2.537 1.268 1.268 0 0 0 0-2.537zm11.053 4.491a1.27 1.27 0 0 0-1.244 1.022v.493a1.27 1.27 0 0 0 1.244 1.022 1.27 1.27 0 0 0 0-2.537z"></path></g></svg></div><div class="css-1qckosq">57</div></div><div class="css-5f7045"><div class="css-3k44bn"><svg class="css-1a4uubp" xmlns="http://www.w3.org/2000/svg" width="20" height="17" viewBox="0 0 20 17"><path fill="#A09F9F" fill-rule="evenodd" stroke="#999" stroke-width=".2" d="M14.432 12.715l2.348-2.746a.415.415 0 0 1 .607-.038.47.47 0 0 1 .028.646l-2.64 3.09a.419.419 0 0 1-.3.15h-.014a.414.414 0 0 1-.3-.127l-1.498-1.516a.466.466 0 0 1-.014-.637.413.413 0 0 1 .606-.015l1.177 1.193zm-3.165-.868a3.749 3.749 0 0 0 3.744 3.745 3.749 3.749 0 0 0 3.744-3.745 3.749 3.749 0 0 0-3.744-3.745 3.749 3.749 0 0 0-3.744 3.745zm2.001-4.195a4.523 4.523 0 0 1 1.743-.35 4.55 4.55 0 0 1 4.545 4.545 4.55 4.55 0 0 1-4.545 4.545 4.55 4.55 0 0 1-4.545-4.545 4.53 4.53 0 0 1 1.91-3.688c-.026-.013-.045-.029-.045-.054V5.837c0-.159.08-.308.207-.395a.588.588 0 0 0 .254-.487V2.6c0-.907-.721-1.64-1.602-1.64h-.494c-.886 0-1.603.738-1.603 1.64v2.355c0 .192.095.376.255.487a.47.47 0 0 1 .207.395v2.268a.588.588 0 0 1-.32.526c-.288.145-1.791.921-3.181 2.089a.66.66 0 0 0-.235.511v1.612a.456.456 0 0 1-.458.473.47.47 0 0 1-.466-.478v-1.612c0-.487.207-.94.575-1.249.153-.129.307-.253.461-.373V7.21a.5.5 0 0 1 .214-.41.352.352 0 0 0 .156-.296V4.618c0-.666-.525-1.206-1.172-1.206h-.394c-.646 0-1.166.54-1.166 1.201v1.886c0 .121.058.231.155.296.136.09.214.245.214.41v1.817c0 .225-.121.42-.316.52a13.83 13.83 0 0 0-2.513 1.662.421.421 0 0 0-.146.325v1.291a.487.487 0 0 1-.481.496A.487.487 0 0 1 0 12.82v-1.291c0-.425.18-.821.501-1.091.967-.821 2.003-1.411 2.479-1.667V7.435a1.368 1.368 0 0 1-.369-.936V4.613c0-1.211.958-2.192 2.129-2.192h.394c1.177 0 2.129.986 2.129 2.192v1.886c0 .356-.136.686-.369.936V8.91a19.344 19.344 0 0 1 1.733-1.037V6.059a1.557 1.557 0 0 1-.462-1.109V2.595C8.165 1.162 9.305 0 10.7 0h.495c1.399 0 2.535 1.167 2.535 2.595V4.95c0 .424-.17.82-.462 1.109v1.593z"></path></svg></div><div class="css-1qckosq">82</div></div><div class="css-5f7045"><div class="css-3k44bn"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 30 30"><path fill="#A1A1A1" stroke="#A1A1A1" stroke-width=".2" d="M23.42 15.403c.855-.864.59-2.612-.892-2.612l-3.903.002c.148-.837.363-2.226.354-2.357-.082-1.242-.863-2.754-.896-2.815-.143-.27-.862-.634-1.586-.478-.935.203-1.03.808-1.027.975 0 0 .04 1.655.044 2.097-.447.996-1.99 3.613-2.457 3.815a.706.706 0 0 0-.37-.105H7.755A.76.76 0 0 0 7 14.69v6.908a.72.72 0 0 0 .71.665h4.43a.718.718 0 0 0 .711-.722v-.23s.165-.012.24.037c.285.183.636.414 1.095.414h6.61c2.47 0 2.205-2.224 1.98-2.527.417-.46.675-1.273.323-1.915.27-.29.746-1.09.32-1.917zM11.986 21.54H7.71v-6.894h4.278v6.894zm10.28-6.196l-.041.17c1.138.329.532 1.659-.284 1.745l-.04.17c1.091.282.57 1.652-.285 1.745l-.04.17c.891.149.675 1.691-.675 1.691l-6.722.003c-.475 0-.907-.549-1.257-.549h-.304v-5.306c.38-.239.846-.549 1.106-.772.49-.424 2.497-3.71 2.497-4.122 0-.412-.045-2.191-.045-2.191s.394-.514 1.272-.14c0 0 .74 1.406.815 2.526 0 0-.333 2.307-.512 3.03h4.66c1.146.002.927 1.659-.146 1.83z"></path></svg></div><div class="css-1qckosq">1</div></div></div></div><div class="css-q4ncy">A global CDN solution for delivering high-bandwidth content</div><div class="css-1mj0hbk"><div class="css-1drwozb"><div class="css-gbti5j"><label>Stacks</label><span>57</span></div><div class="css-1ahj942"></div><div class="css-1an0suy"><label>Followers</label><span>82</span><div>+ 1</div></div><div class="css-1ahj942"></div><div class="css-gbti5j"><label>Votes</label><span>1</span></div></div></div></div></div><div class="css-1dnnpo5"><div class="css-ubpjqb"><button data-testid="follow" class="css-14pk3xx"><svg width="11" height="11" viewBox="0 0 11 11" xmlns="http://www.w3.org/2000/svg" fill-rule="evenodd" clip-rule="evenodd" stroke-linecap="round" stroke-linejoin="round" stroke-miterlimit="1.5"><path d="M5.5 0v11M0 5.5h11" fill="none" stroke="#fff"></path></svg> <!-- -->Follow</button><button data-testid="iUseThis" class="css-1o4togz"><svg width="11" height="11" viewBox="0 0 11 11" xmlns="http://www.w3.org/2000/svg" fill-rule="evenodd" clip-rule="evenodd" stroke-linecap="round" stroke-linejoin="round" stroke-miterlimit="1.5"><path d="M5.5 0v11M0 5.5h11" fill="none" stroke="#fff"></path></svg> I use this</button></div></div></div><div class="css-1erkkk4"><div class="css-a55l86"><div class="css-usifiy">PROS OF <!-- -->AZURE CDN</div><div class="css-6t66tf"><div class="css-nil"><div class="css-1v4wqws"><div class="css-nil"><div class="css-1x4ysa3"><h2 hidden="" class="css-nil"></h2><ul class="css-7c9av6"><li class="css-6nrkpz"><div class="css-1mlbi0l"><div class="css-1cda8k4"><div class="css-2an9kq"><svg style="margin-top:3px;margin-bottom:3px" xmlns="http://www.w3.org/2000/svg" width="10" height="8" viewBox="0 0 10 8"><path fill="#565656" fill-rule="evenodd" d="M5 0l5 8H0z"></path></svg><span class="css-5x5cr6">1</span></div></div><span class="css-rsz8c">Low Latency</span></div></li></ul></div></div></div></div></div></div><div class="css-a55l86"><div class="css-usifiy">CONS OF <!-- -->AZURE CDN</div><div class="css-6t66tf"><div class="css-nil"><div class="css-1v4wqws"><div class="css-nil"><div class="css-1x4ysa3"><h2 hidden="" class="css-nil"></h2><ul class="css-7c9av6"></ul><div class="css-16s8o6z">Be the first to leave a con</div></div></div></div></div></div></div><div class="css-a55l86"><div class="css-usifiy">COMPARE</div><div class="css-6t66tf"><div class="css-1bn5mmw"><a href="/stackups/azure-cdn-vs-amazon-cloudfront" class="css-1dnwvu3"><div class="css-1v4bhi8"><img src="https://img.stackshare.io/service/5512/thumb_retina_azure-cdn.png" alt="Azure CDN logo" class="css-6wyd29"/><div class="css-19dpmz">VS</div><img src="https://img.stackshare.io/service/13/thumb_retina_amazon-cloudfront.png" alt="Amazon CloudFront logo" class="css-6wyd29"/></div><div class="css-v6oua5"><div class="css-16r6zz5"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 30 30"><g fill="#A1A1A1" stroke="#A1A1A1" stroke-width=".2"><path d="M13.626 18.015l.511-.81a.405.405 0 0 0-.136-.565.422.422 0 0 0-.576.133l-.51.81c-.927 1.469-2.25 2.312-3.632 2.312H7.416a.412.412 0 1 0 0 .823h1.87c1.68-.007 3.26-.99 4.34-2.703zm9.944-7.882l-2.023-1.99a.42.42 0 0 0-.59 0 .403.403 0 0 0 0 .578l1.316 1.291h-1.939c-1.676 0-3.26.984-4.34 2.697l-.314.498a.405.405 0 0 0 .137.566.42.42 0 0 0 .572-.134l.313-.499c.927-1.468 2.249-2.308 3.632-2.308h1.936l-1.315 1.291a.403.403 0 0 0 0 .579c.082.08.188.12.297.12a.42.42 0 0 0 .296-.12l2.027-1.99a.406.406 0 0 0-.003-.58zm-.862.34v-.04l.02.02-.02.02z"></path><path d="M20.954 22.581c.082.08.188.12.297.12a.42.42 0 0 0 .296-.12l2.027-1.99a.403.403 0 0 0 0-.58l-2.027-1.986a.42.42 0 0 0-.59 0 .403.403 0 0 0 0 .578l1.316 1.292h-1.877c-1.38 0-2.706-.843-3.632-2.312L13.69 12.71c-1.08-1.716-2.664-2.697-4.34-2.697H7.416a.412.412 0 1 0 0 .823h1.931c1.38 0 2.705.843 3.632 2.309l3.073 4.874c1.08 1.716 2.664 2.7 4.34 2.7h1.877l-1.315 1.291a.4.4 0 0 0 0 .572zm1.754-2.265l.02.02-.02.02v-.04z"></path></g></svg></div><div>Compare Azure CDN vs Amazon CloudFront</div></div></a></div></div></div></div></div><div class="css-f2odf3"><div class="css-1m02by6"><h2>related Azure CDN posts</h2></div></div></div><div class="css-8qpfeu"><div class="css-kb8or3"><div class="css-1d3wilq"><div class="css-ljm4wn"><div class="css-mwikcm"><a href="/incapsula" class="css-1jltg37"><img src="https://img.stackshare.io/service/16/thumb_retina_pmMygGUP.jpg" alt="Incapsula logo" class="css-1489hth"/></a></div><div class="css-8wh4b7"><h2 class="css-pltn6z"><a href="/incapsula" class="css-1hhgtx3">Incapsula</a></h2><div class="css-rpzmwi"><div class="css-12alag6"><div class="css-5f7045"><div class="css-3k44bn"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 30 30"><g fill="#A1A1A1" stroke="#A1A1A1" stroke-width=".2"><path fill-rule="evenodd" d="M20.467 21.867a2.415 2.415 0 0 1-2.318-1.74h-2.192l-.012.008-2.615-4.499h-1.598a2.415 2.415 0 1 1 0-1.35h1.641l-.058-.034 2.63-4.526.022.013h2.172a2.415 2.415 0 1 1 0 1.35h-1.424l-2.23 3.838-.002.003.001.004 2.234 3.843h1.431a2.415 2.415 0 1 1 2.318 3.09zm-.01-10.184a1.27 1.27 0 1 0-1.244-1.515v.492a1.27 1.27 0 0 0 1.244 1.023zm-11.043 2.01a1.268 1.268 0 1 0 0 2.537 1.268 1.268 0 0 0 0-2.537zm11.053 4.491a1.27 1.27 0 0 0-1.244 1.022v.493a1.27 1.27 0 0 0 1.244 1.022 1.27 1.27 0 0 0 0-2.537z"></path></g></svg></div><div class="css-1qckosq">1.3K</div></div><div class="css-5f7045"><div class="css-3k44bn"><svg class="css-1a4uubp" xmlns="http://www.w3.org/2000/svg" width="20" height="17" viewBox="0 0 20 17"><path fill="#A09F9F" fill-rule="evenodd" stroke="#999" stroke-width=".2" d="M14.432 12.715l2.348-2.746a.415.415 0 0 1 .607-.038.47.47 0 0 1 .028.646l-2.64 3.09a.419.419 0 0 1-.3.15h-.014a.414.414 0 0 1-.3-.127l-1.498-1.516a.466.466 0 0 1-.014-.637.413.413 0 0 1 .606-.015l1.177 1.193zm-3.165-.868a3.749 3.749 0 0 0 3.744 3.745 3.749 3.749 0 0 0 3.744-3.745 3.749 3.749 0 0 0-3.744-3.745 3.749 3.749 0 0 0-3.744 3.745zm2.001-4.195a4.523 4.523 0 0 1 1.743-.35 4.55 4.55 0 0 1 4.545 4.545 4.55 4.55 0 0 1-4.545 4.545 4.55 4.55 0 0 1-4.545-4.545 4.53 4.53 0 0 1 1.91-3.688c-.026-.013-.045-.029-.045-.054V5.837c0-.159.08-.308.207-.395a.588.588 0 0 0 .254-.487V2.6c0-.907-.721-1.64-1.602-1.64h-.494c-.886 0-1.603.738-1.603 1.64v2.355c0 .192.095.376.255.487a.47.47 0 0 1 .207.395v2.268a.588.588 0 0 1-.32.526c-.288.145-1.791.921-3.181 2.089a.66.66 0 0 0-.235.511v1.612a.456.456 0 0 1-.458.473.47.47 0 0 1-.466-.478v-1.612c0-.487.207-.94.575-1.249.153-.129.307-.253.461-.373V7.21a.5.5 0 0 1 .214-.41.352.352 0 0 0 .156-.296V4.618c0-.666-.525-1.206-1.172-1.206h-.394c-.646 0-1.166.54-1.166 1.201v1.886c0 .121.058.231.155.296.136.09.214.245.214.41v1.817c0 .225-.121.42-.316.52a13.83 13.83 0 0 0-2.513 1.662.421.421 0 0 0-.146.325v1.291a.487.487 0 0 1-.481.496A.487.487 0 0 1 0 12.82v-1.291c0-.425.18-.821.501-1.091.967-.821 2.003-1.411 2.479-1.667V7.435a1.368 1.368 0 0 1-.369-.936V4.613c0-1.211.958-2.192 2.129-2.192h.394c1.177 0 2.129.986 2.129 2.192v1.886c0 .356-.136.686-.369.936V8.91a19.344 19.344 0 0 1 1.733-1.037V6.059a1.557 1.557 0 0 1-.462-1.109V2.595C8.165 1.162 9.305 0 10.7 0h.495c1.399 0 2.535 1.167 2.535 2.595V4.95c0 .424-.17.82-.462 1.109v1.593z"></path></svg></div><div class="css-1qckosq">68</div></div><div class="css-5f7045"><div class="css-3k44bn"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 30 30"><path fill="#A1A1A1" stroke="#A1A1A1" stroke-width=".2" d="M23.42 15.403c.855-.864.59-2.612-.892-2.612l-3.903.002c.148-.837.363-2.226.354-2.357-.082-1.242-.863-2.754-.896-2.815-.143-.27-.862-.634-1.586-.478-.935.203-1.03.808-1.027.975 0 0 .04 1.655.044 2.097-.447.996-1.99 3.613-2.457 3.815a.706.706 0 0 0-.37-.105H7.755A.76.76 0 0 0 7 14.69v6.908a.72.72 0 0 0 .71.665h4.43a.718.718 0 0 0 .711-.722v-.23s.165-.012.24.037c.285.183.636.414 1.095.414h6.61c2.47 0 2.205-2.224 1.98-2.527.417-.46.675-1.273.323-1.915.27-.29.746-1.09.32-1.917zM11.986 21.54H7.71v-6.894h4.278v6.894zm10.28-6.196l-.041.17c1.138.329.532 1.659-.284 1.745l-.04.17c1.091.282.57 1.652-.285 1.745l-.04.17c.891.149.675 1.691-.675 1.691l-6.722.003c-.475 0-.907-.549-1.257-.549h-.304v-5.306c.38-.239.846-.549 1.106-.772.49-.424 2.497-3.71 2.497-4.122 0-.412-.045-2.191-.045-2.191s.394-.514 1.272-.14c0 0 .74 1.406.815 2.526 0 0-.333 2.307-.512 3.03h4.66c1.146.002.927 1.659-.146 1.83z"></path></svg></div><div class="css-1qckosq">5</div></div></div></div><div class="css-q4ncy">Cloud-based service that makes websites safer, faster and more reliable.</div><div class="css-1mj0hbk"><div class="css-1drwozb"><div class="css-gbti5j"><label>Stacks</label><span>1.3K</span></div><div class="css-1ahj942"></div><div class="css-1an0suy"><label>Followers</label><span>68</span><div>+ 1</div></div><div class="css-1ahj942"></div><div class="css-gbti5j"><label>Votes</label><span>5</span></div></div></div></div></div><div class="css-1dnnpo5"><div class="css-ubpjqb"><button data-testid="follow" class="css-14pk3xx"><svg width="11" height="11" viewBox="0 0 11 11" xmlns="http://www.w3.org/2000/svg" fill-rule="evenodd" clip-rule="evenodd" stroke-linecap="round" stroke-linejoin="round" stroke-miterlimit="1.5"><path d="M5.5 0v11M0 5.5h11" fill="none" stroke="#fff"></path></svg> <!-- -->Follow</button><button data-testid="iUseThis" class="css-1o4togz"><svg width="11" height="11" viewBox="0 0 11 11" xmlns="http://www.w3.org/2000/svg" fill-rule="evenodd" clip-rule="evenodd" stroke-linecap="round" stroke-linejoin="round" stroke-miterlimit="1.5"><path d="M5.5 0v11M0 5.5h11" fill="none" stroke="#fff"></path></svg> I use this</button></div></div></div><div class="css-1erkkk4"><div class="css-a55l86"><div class="css-usifiy">PROS OF <!-- -->INCAPSULA</div><div class="css-6t66tf"><div class="css-nil"><div class="css-1v4wqws"><div class="css-nil"><div class="css-1x4ysa3"><h2 hidden="" class="css-nil"></h2><ul class="css-7c9av6"><li class="css-6nrkpz"><div class="css-1mlbi0l"><div class="css-1cda8k4"><div class="css-2an9kq"><svg style="margin-top:3px;margin-bottom:3px" xmlns="http://www.w3.org/2000/svg" width="10" height="8" viewBox="0 0 10 8"><path fill="#565656" fill-rule="evenodd" d="M5 0l5 8H0z"></path></svg><span class="css-5x5cr6">5</span></div></div><span class="css-rsz8c">Best of them</span></div></li></ul></div></div></div></div></div></div><div class="css-a55l86"><div class="css-usifiy">CONS OF <!-- -->INCAPSULA</div><div class="css-6t66tf"><div class="css-nil"><div class="css-1v4wqws"><div class="css-nil"><div class="css-1x4ysa3"><h2 hidden="" class="css-nil"></h2><ul class="css-7c9av6"></ul><div class="css-16s8o6z">Be the first to leave a con</div></div></div></div></div></div></div><div class="css-a55l86"><div class="css-usifiy">COMPARE</div><div class="css-6t66tf"><div class="css-1bn5mmw"><a href="/stackups/incapsula-vs-amazon-cloudfront" class="css-1dnwvu3"><div class="css-1v4bhi8"><img src="https://img.stackshare.io/service/16/thumb_retina_pmMygGUP.jpg" alt="Incapsula logo" class="css-6wyd29"/><div class="css-19dpmz">VS</div><img src="https://img.stackshare.io/service/13/thumb_retina_amazon-cloudfront.png" alt="Amazon CloudFront logo" class="css-6wyd29"/></div><div class="css-v6oua5"><div class="css-16r6zz5"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 30 30"><g fill="#A1A1A1" stroke="#A1A1A1" stroke-width=".2"><path d="M13.626 18.015l.511-.81a.405.405 0 0 0-.136-.565.422.422 0 0 0-.576.133l-.51.81c-.927 1.469-2.25 2.312-3.632 2.312H7.416a.412.412 0 1 0 0 .823h1.87c1.68-.007 3.26-.99 4.34-2.703zm9.944-7.882l-2.023-1.99a.42.42 0 0 0-.59 0 .403.403 0 0 0 0 .578l1.316 1.291h-1.939c-1.676 0-3.26.984-4.34 2.697l-.314.498a.405.405 0 0 0 .137.566.42.42 0 0 0 .572-.134l.313-.499c.927-1.468 2.249-2.308 3.632-2.308h1.936l-1.315 1.291a.403.403 0 0 0 0 .579c.082.08.188.12.297.12a.42.42 0 0 0 .296-.12l2.027-1.99a.406.406 0 0 0-.003-.58zm-.862.34v-.04l.02.02-.02.02z"></path><path d="M20.954 22.581c.082.08.188.12.297.12a.42.42 0 0 0 .296-.12l2.027-1.99a.403.403 0 0 0 0-.58l-2.027-1.986a.42.42 0 0 0-.59 0 .403.403 0 0 0 0 .578l1.316 1.292h-1.877c-1.38 0-2.706-.843-3.632-2.312L13.69 12.71c-1.08-1.716-2.664-2.697-4.34-2.697H7.416a.412.412 0 1 0 0 .823h1.931c1.38 0 2.705.843 3.632 2.309l3.073 4.874c1.08 1.716 2.664 2.7 4.34 2.7h1.877l-1.315 1.291a.4.4 0 0 0 0 .572zm1.754-2.265l.02.02-.02.02v-.04z"></path></g></svg></div><div>Compare Incapsula vs Amazon CloudFront</div></div></a></div></div></div></div></div><div class="css-f2odf3"><div class="css-1m02by6"><h2>related Incapsula posts</h2></div></div></div><div class="css-13u3lpy"><button class="css-1iqua1m">Sign up to see more</button></div></div></div></main><div class="css-69zjs9"><div class="css-8a04gk"><div class="css-1m38k02"><h2 class="css-162qu2y">Similar Tools</h2><a href="/akamai/alternatives" title="Akamai Alternatives" class="css-p797gu">Akamai Alternatives</a><a href="/cloudflare/alternatives" title="CloudFlare Alternatives" class="css-p797gu">CloudFlare Alternatives</a><a href="/google-cloud-storage/alternatives" title="Google Cloud Storage Alternatives" class="css-p797gu">Google Cloud Storage Alternatives</a><a href="/fastly/alternatives" title="Fastly Alternatives" class="css-p797gu">Fastly Alternatives</a><a href="/maxcdn/alternatives" title="MaxCDN Alternatives" class="css-p797gu">MaxCDN Alternatives</a></div><div class="css-1m38k02"><h2 class="css-162qu2y">New Tools</h2><a href="/docraptor/alternatives" title="DocRaptor Alternatives" class="css-p797gu">DocRaptor Alternatives</a><a href="/ebook-glue/alternatives" title="Ebook Glue Alternatives" class="css-p797gu">Ebook Glue Alternatives</a><a href="/cameratag/alternatives" title="CameraTag Alternatives" class="css-p797gu">CameraTag Alternatives</a><a href="/blitline/alternatives" title="Blitline Alternatives" class="css-p797gu">Blitline Alternatives</a><a href="/panda/alternatives" title="Panda Alternatives" class="css-p797gu">Panda Alternatives</a></div><div class="css-1m38k02"><h2 class="css-162qu2y">Top Tools</h2><a href="/cloudflare/alternatives" title="CloudFlare Alternatives" class="css-p797gu">CloudFlare Alternatives</a><a href="/google-drive/alternatives" title="Google Drive Alternatives" class="css-p797gu">Google Drive Alternatives</a><a href="/dropbox/alternatives" title="Dropbox Alternatives" class="css-p797gu">Dropbox Alternatives</a><a href="/amazon-cloudfront/alternatives" title="Amazon CloudFront Alternatives" class="css-p797gu">Amazon CloudFront Alternatives</a><a href="/akamai/alternatives" title="Akamai Alternatives" class="css-p797gu">Akamai Alternatives</a></div><div class="css-1m38k02"><h2 class="css-162qu2y">Trending Comparisons</h2><a href="/stackups/amazon-cloudfront-vs-cloudflare-vs-fastly" title="Amazon CloudFront vs CloudFlare vs Fastly" class="css-p797gu">Amazon CloudFront vs CloudFlare vs Fastly</a><a href="/stackups/akamai-vs-amazon-cloudfront-vs-cloudflare" title="Akamai vs Amazon CloudFront vs CloudFlare" class="css-p797gu">Akamai vs Amazon CloudFront vs CloudFlare</a><a href="/stackups/amazon-cloudfront-vs-google-cloud-cdn" title="Amazon CloudFront vs Google Cloud CDN" class="css-p797gu">Amazon CloudFront vs Google Cloud CDN</a><a href="/stackups/amazon-cloudfront-vs-cloudflare-vs-google-cloud-cdn" title="Amazon CloudFront vs CloudFlare vs Google Cloud CDN" class="css-p797gu">Amazon CloudFront vs CloudFlare vs Google Cloud CDN</a><a href="/stackups/amazon-cloudfront-vs-keycdn-vs-maxcdn" title="Amazon CloudFront vs KeyCDN vs MaxCDN" class="css-p797gu">Amazon CloudFront vs KeyCDN vs MaxCDN</a></div></div></div></div></div> <script> renderComponent('ToolAlternatives','ToolAlternatives-react-component-4fc15ef7-7e62-4d15-9ed3-8f2cfea81f59','ToolAlternatives-apollo-state-4fc15ef7-7e62-4d15-9ed3-8f2cfea81f59','ToolAlternatives-glamor-4fc15ef7-7e62-4d15-9ed3-8f2cfea81f59', 'apollo','{"route":"/amazon-cloudfront/alternatives","userId":null,"description":" Akamai, CloudFlare, Google Cloud Storage, Fastly, and MaxCDN are the most popular alternatives and competitors to Amazon CloudFront. ","title":"Alternatives to Amazon CloudFront","featureFlags":{}}'); </script>
<script type="application/json" id="Footer-apollo-state-b887cc69-1029-4251-be72-f428c4a31686">{}</script> <!-- glamorIds: 21 --> <script type="application/json" id="Footer-glamor-b887cc69-1029-4251-be72-f428c4a31686">["1htug8r","1yodi52","iepywa","x5hg3h","u0iaox","9ilv8v","ts0y2j","cs546h","1fco1ts","11a2nsi","1npm75a","1gn11bn","1y302zr","11gxadc","1iqd2ec","lneilx","de1dx1","1h53588","12k57td","j1o656","zr18wh"]</script> <style>@-webkit-keyframes animation_1htug8r{to{transform:rotate(360deg);-webkit-transform:rotate(360deg);}}@-moz-keyframes animation_1htug8r{to{transform:rotate(360deg);-webkit-transform:rotate(360deg);}}@-o-keyframes animation_1htug8r{to{transform:rotate(360deg);-webkit-transform:rotate(360deg);}}@keyframes animation_1htug8r{to{transform:rotate(360deg);-webkit-transform:rotate(360deg);}}@-webkit-keyframes animation_1yodi52{0%{background-position:0 0;}100%{background-position:100em 0;}}@-moz-keyframes animation_1yodi52{0%{background-position:0 0;}100%{background-position:100em 0;}}@-o-keyframes animation_1yodi52{0%{background-position:0 0;}100%{background-position:100em 0;}}@keyframes animation_1yodi52{0%{background-position:0 0;}100%{background-position:100em 0;}}@-webkit-keyframes animation_iepywa{0%, 100%{opacity:0;}50%{opacity:1;}}@-moz-keyframes animation_iepywa{0%, 100%{opacity:0;}50%{opacity:1;}}@-o-keyframes animation_iepywa{0%, 100%{opacity:0;}50%{opacity:1;}}@keyframes animation_iepywa{0%, 100%{opacity:0;}50%{opacity:1;}}@-webkit-keyframes animation_x5hg3h{100%{stroke-dashoffset:0;}}@-moz-keyframes animation_x5hg3h{100%{stroke-dashoffset:0;}}@-o-keyframes animation_x5hg3h{100%{stroke-dashoffset:0;}}@keyframes animation_x5hg3h{100%{stroke-dashoffset:0;}}@-webkit-keyframes animation_u0iaox{0%, 100%{transform:none;-webkit-transform:none;}50%{transform:scale3d(1.1, 1.1, 1);-webkit-transform:scale3d(1.1, 1.1, 1);}}@-moz-keyframes animation_u0iaox{0%, 100%{transform:none;-webkit-transform:none;}50%{transform:scale3d(1.1, 1.1, 1);-webkit-transform:scale3d(1.1, 1.1, 1);}}@-o-keyframes animation_u0iaox{0%, 100%{transform:none;-webkit-transform:none;}50%{transform:scale3d(1.1, 1.1, 1);-webkit-transform:scale3d(1.1, 1.1, 1);}}@keyframes animation_u0iaox{0%, 100%{transform:none;-webkit-transform:none;}50%{transform:scale3d(1.1, 1.1, 1);-webkit-transform:scale3d(1.1, 1.1, 1);}}@-webkit-keyframes animation_9ilv8v{100%{box-shadow:inset 0px 0px 0px 30px #068dfe;}}@-moz-keyframes animation_9ilv8v{100%{box-shadow:inset 0px 0px 0px 30px #068dfe;}}@-o-keyframes animation_9ilv8v{100%{box-shadow:inset 0px 0px 0px 30px #068dfe;}}@keyframes animation_9ilv8v{100%{box-shadow:inset 0px 0px 0px 30px #068dfe;}}.css-ts0y2j,[data-css-ts0y2j]{font-family:Open Sans, Helvetica Neue, Helvetica, Arial, sans;font-weight:400;font-size:13px;line-height:1.4;letter-spacing:normal;-webkit-font-smoothing:antialiased;background:#333;display:-webkit-box; display: -moz-box; display: -ms-flexbox; display: -webkit-flex; display: flex;justify-content:center;align-items:center;padding:50px 0 80px;-webkit-box-pack:center;-webkit-justify-content:center;-webkit-box-align:center;-webkit-align-items:center;}@media only screen and (max-width: 768px){.css-ts0y2j,[data-css-ts0y2j]{padding:0 0 40px;}}.css-cs546h,[data-css-cs546h]{max-width:1220px;}@media only screen and (max-width: 992px){.css-cs546h,[data-css-cs546h]{width:700px;}}@media only screen and (min-width: 993px){.css-cs546h,[data-css-cs546h]{width:955px;}}@media only screen and (min-width: 1200px){.css-cs546h,[data-css-cs546h]{width:1220px;}}.css-1fco1ts,[data-css-1fco1ts]{display:grid;grid-template-columns:repeat(4, 1fr);justify-items:center;column-gap:3%;-ms-grid-template-columns:repeat(4, 1fr);-webkit-column-gap:3%;-moz-column-gap:3%;}@media only screen and (max-width: 768px){.css-1fco1ts,[data-css-1fco1ts]{grid-template-columns:1fr;text-align:center;-ms-grid-template-columns:1fr;}}.css-11a2nsi,[data-css-11a2nsi]{display:-webkit-box; display: -moz-box; display: -ms-flexbox; display: -webkit-flex; display: flex;flex-direction:column;align-items:center;text-align:left;width:100%;-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-direction:column;-webkit-box-align:center;-webkit-align-items:center;}.css-1npm75a,[data-css-1npm75a]{display:-webkit-box; display: -moz-box; display: -ms-flexbox; display: -webkit-flex; display: flex;flex-direction:column;color:#fff;font-size:14px;line-height:1.7;letter-spacing:0.3px;-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-direction:column;}.css-1npm75a a,[data-css-1npm75a] a{color:#fff;text-decoration:none;}.css-1npm75a a:visited,[data-css-1npm75a] a:visited{color:#fff;}.css-1npm75a a:hover,[data-css-1npm75a] a:hover{color:#068dfe;}.css-1npm75a a:hover span,[data-css-1npm75a] a:hover span{color:#fff;}.css-1npm75a a:active span,[data-css-1npm75a] a:active span{color:#fff;}@media only screen and (max-width: 768px){.css-1npm75a,[data-css-1npm75a]{align-items:center;width:95%;font-size:16px;line-height:2;-webkit-box-align:center;-webkit-align-items:center;}}.css-1gn11bn,[data-css-1gn11bn]{color:#fff;font-weight:600;font-size:20px;letter-spacing:0.38px;}@media only screen and (max-width: 768px){.css-1gn11bn,[data-css-1gn11bn]{margin-top:36px;margin-bottom:24px;}}.css-1y302zr,[data-css-1y302zr]{position:relative;}@media only screen and (min-width: 769px){.css-1y302zr,[data-css-1y302zr]{margin-right:auto;}}.css-11gxadc,[data-css-11gxadc]{padding:0;margin:8px 0;}.css-11gxadc li,[data-css-11gxadc] li{display:inline-block;margin:0 5px;}@media only screen and (min-width: 769px){.css-11gxadc li:first-child,[data-css-11gxadc] li:first-child{margin-left:0;}}@media only screen and (max-width: 768px){.css-11gxadc,[data-css-11gxadc]{margin:0 0 80px;}}.css-1iqd2ec svg:hover path,[data-css-1iqd2ec] svg:hover path{fill:#939393;}.css-lneilx,[data-css-lneilx]{margin-top:15px;line-height:100%;}.css-lneilx svg,[data-css-lneilx] svg{max-width:135px;}.css-lneilx svg g,[data-css-lneilx] svg g{fill:#fff;}@media only screen and (max-width: 768px){.css-lneilx,[data-css-lneilx]{margin-top:0;}}@media only screen and (max-width: 480px){.css-lneilx,[data-css-lneilx]{margin-top:0;}}.css-de1dx1,[data-css-de1dx1]{color:#fff;}.css-de1dx1 a,[data-css-de1dx1] a, .css-de1dx1 span, [data-css-de1dx1] span{display:inline-block;margin-right:8px;font-size:13px;letter-spacing:0.24px;}.css-de1dx1 a:last-child,[data-css-de1dx1] a:last-child{margin-right:0;}@media only screen and (max-width: 768px){.css-de1dx1,[data-css-de1dx1]{line-height:1.5;margin-top:14px;margin-bottom:11px;}}.css-1h53588,[data-css-1h53588]{margin:18px 0;}@media only screen and (max-width: 992px){.css-1h53588,[data-css-1h53588]{text-align:center;}}@media only screen and (max-width: 480px){.css-1h53588,[data-css-1h53588]{text-align:center;}}.css-12k57td,[data-css-12k57td]{font-family:Cerebri Sans Pro;margin-top:0;font-style:normal;font-weight:400;font-size:14px;line-height:25px;letter-spacing:0.375px;color:#fff;}.css-j1o656,[data-css-j1o656]{width:53px;height:53px;}.css-zr18wh,[data-css-zr18wh]{color:#c2c2c2;font-size:10px;margin-top:5px;}.css-zr18wh div,[data-css-zr18wh] div{white-space:nowrap;}@media only screen and (max-width: 768px){.css-zr18wh,[data-css-zr18wh]{font-size:13px;line-height:1.5;text-align:center;}}</style> <div id="Footer-react-component-b887cc69-1029-4251-be72-f428c4a31686" data-ssr="true" ><footer class="css-ts0y2j"><div class="css-cs546h"><div class="css-1fco1ts"><div class="css-11a2nsi"><div class="css-1npm75a"><h3 class="css-1gn11bn">Tools &amp; Services</h3><a href="/stackups/trending" title="Compare Tools">Compare Tools</a><a href="/search" title="Search Tools &amp; Services">Search</a><a href="/alternatives" title="Browse Tools &amp; Services">Browse Tool Alternatives</a><a href="/categories" title="Technology Tools &amp; Services">Browse Tool Categories</a><a href="/submit" title="Submit a Tool">Submit A Tool</a><a href="/admin/approval-tool" title="Approve Tools">Approve Tools</a></div></div><div class="css-11a2nsi"><div class="css-1npm75a"><h3 class="css-1gn11bn">Company</h3><a href="/featured-posts" title="Featured Posts">Blog</a><a href="/api" title="API">API</a><a href="/jobs" title="Jobs">Job Search</a><a href="/careers" title="Careers at StackShare" class="css-1y302zr">Careers</a><a href="/stackshare" title="Our Stack">Our Stack</a><a href="/vendors" title="Advertise With Us">Advertise With Us</a><a href="mailto:team@stackshare.io" title="Contact Us">Contact Us</a></div></div><div class="css-11a2nsi"><div class="css-1npm75a"><h3 class="css-1gn11bn">Follow Us</h3><ul class="css-11gxadc"><li><a href="https://twitter.com/stackshareio" target="_blank" rel="noreferrer noopener nofollow" class="css-1iqd2ec"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24"><path fill="#FFF" fill-rule="evenodd" d="M3.6 0h16.8A3.6 3.6 0 0 1 24 3.6v16.8a3.6 3.6 0 0 1-3.6 3.6H3.6A3.6 3.6 0 0 1 0 20.4V3.6A3.6 3.6 0 0 1 3.6 0zm14.29 9.964c.548-.389 1.005-.891 1.393-1.44a6.285 6.285 0 0 1-1.621.435c.594-.343 1.005-.891 1.21-1.553a5.867 5.867 0 0 1-1.758.685A2.759 2.759 0 0 0 15.08 7.2a2.788 2.788 0 0 0-2.787 2.81c0 .205.023.433.069.639A7.976 7.976 0 0 1 6.56 7.702a3.037 3.037 0 0 0-.365 1.417c0 .982.48 1.827 1.233 2.33-.456 0-.89-.138-1.256-.343v.022c0 1.37.96 2.49 2.238 2.764-.228.069-.48.092-.73.092-.183 0-.366-.023-.526-.046.343 1.119 1.394 1.873 2.604 1.896-.96.753-2.147 1.279-3.472 1.279a6 6 0 0 1-.662-.046c1.233.8 2.718 1.233 4.294 1.233 5.162 0 7.971-4.27 7.971-7.97v-.366z"></path></svg></a></li><li><a href="https://facebook.com/stackshareio" target="_blank" rel="noreferrer noopener nofollow" class="css-1iqd2ec"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24"><path fill="#FFF" fill-rule="evenodd" d="M16.478 24v-8h2.896l.201-3.069h-3.097v-2.237c0-.86.172-1.405 1.262-1.405h1.692l.143-2.925s-.86-.172-2.351-.172c-3.04 0-4.36 1.835-4.36 3.9v2.81H10.8V16h2.065v8H3.6A3.6 3.6 0 0 1 0 20.4V3.6A3.6 3.6 0 0 1 3.6 0h16.8A3.6 3.6 0 0 1 24 3.6v16.8a3.6 3.6 0 0 1-3.6 3.6h-3.922z"></path></svg></a></li><li><a href="https://www.linkedin.com/company/stackshare" target="_blank" rel="noreferrer noopener nofollow" class="css-1iqd2ec"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24"><path fill="#FFF" fill-rule="evenodd" d="M3.6 0h16.8A3.6 3.6 0 0 1 24 3.6v16.8a3.6 3.6 0 0 1-3.6 3.6H3.6A3.6 3.6 0 0 1 0 20.4V3.6A3.6 3.6 0 0 1 3.6 0zm5.521 17.16V9.378H6.374v7.782h2.747zM7.748 8.43c1.119 0 1.83-.807 1.83-1.815C9.554 5.578 8.868 4.8 7.749 4.8c-1.094 0-1.831.778-1.831 1.815 0 1.008.712 1.815 1.805 1.815h.026zm11.444 8.73v-4.12c0-2.518-1.246-4.12-3.205-4.12-1.119 0-1.932.661-2.288 1.653l-.102-1.195h-2.721c.025.305.076 1.83.076 1.83v5.952h2.747v-4.12c0-1.12.508-1.831 1.347-1.831.84 0 1.4.432 1.4 1.83v4.12h2.746z"></path></svg></a></li><li><a href="https://angel.co/stackshare" target="_blank" rel="noreferrer noopener nofollow" class="css-1iqd2ec"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24"><path fill="#FFF" fill-rule="evenodd" d="M3.6 0h16.8A3.6 3.6 0 0 1 24 3.6v16.8a3.6 3.6 0 0 1-3.6 3.6H3.6A3.6 3.6 0 0 1 0 20.4V3.6A3.6 3.6 0 0 1 3.6 0zm4.684 14.42c.365.493.708.877 1.029 1.153.322.276.579.413.769.413.14 0 .268-.064.385-.194a.624.624 0 0 0 .173-.42c0-.16-.114-.528-.341-1.11-.227-.58-.512-1.15-.849-1.71-.249-.418-.492-.733-.732-.947-.24-.214-.466-.319-.68-.319-.174 0-.366.111-.577.33-.212.223-.317.43-.317.622 0 .2.102.501.309.903.207.4.484.827.83 1.28zm6.062-4.06a89.757 89.757 0 0 0 1.296-3.767c.31-.99.465-1.598.465-1.824 0-.242-.053-.43-.155-.563h-.001a.51.51 0 0 0-.429-.2c-.23 0-.468.194-.707.582-.24.389-.505 1.014-.793 1.875l-1.238 3.622 1.562.275zm-4.45-.445a.982.982 0 0 1 .371-.058c.05 0 .149.005.298.013.147.01.392.03.73.063L9.958 6.022c-.347-.993-.615-1.644-.806-1.949-.19-.303-.397-.456-.619-.456a.513.513 0 0 0-.422.2c-.107.133-.16.313-.16.54 0 .384.144 1.052.433 2.004.29.953.724 2.202 1.303 3.749a.41.41 0 0 1 .21-.195zm6.22 2.129a1.006 1.006 0 0 0-.245-.293c-.338-.285-.998-.54-1.979-.765a13.608 13.608 0 0 0-3.068-.338c-.296 0-.508.05-.632.15-.124.1-.186.272-.186.516 0 .567.314.98.943 1.233.627.255 1.643.382 3.049.382h.508c.116 0 .21.044.279.133.07.088.118.219.142.394-.14.134-.43.287-.866.456-.438.172-.774.341-1.005.508a4.53 4.53 0 0 0-1.196 1.31 3.99 3.99 0 0 0-.198.374c-.04.09-.07.176-.102.263-.012.034-.029.067-.04.1-.018.063-.03.125-.044.188-.013.056-.032.11-.04.166-.006.039-.006.076-.01.114-.008.076-.019.154-.019.228v.001c0 .277.063.609.192.997.128.388.192.629.192.72v.086l-.025.112c-.364-.023-.65-.239-.863-.644-.21-.406-.315-.947-.315-1.622v-.112a.719.719 0 0 1-.192.125.553.553 0 0 1-.205.037c-.074 0-.144-.006-.212-.019a2.132 2.132 0 0 1-.222-.058v.001c.024.094.043.182.056.27a1.05 1.05 0 0 1-.34 1.003 1.22 1.22 0 0 1-.856.331c-.52 0-1.05-.256-1.587-.77-.537-.515-.806-1.017-.806-1.51 0-.091.01-.172.032-.243a.406.406 0 0 1 .104-.182c.115.142.278.35.483.627.545.76 1.05 1.14 1.512 1.14.157 0 .297-.05.422-.149.123-.1.185-.206.185-.313v-.001c0-.127-.083-.334-.248-.629a8.366 8.366 0 0 0-.681-.99c-.33-.425-.606-.736-.826-.933-.217-.196-.394-.295-.525-.295-.29 0-.557.157-.8.47a1.756 1.756 0 0 0-.366 1.11c0 .344.086.725.254 1.147.168.422.416.846.738 1.271a4.937 4.937 0 0 0 1.816 1.524c.723.355 1.522.532 2.4.532 1.611 0 2.96-.607 4.046-1.823 1.088-1.216 1.632-2.739 1.632-4.568 0-.56-.04-1.005-.124-1.337a1.67 1.67 0 0 0-.162-.425zm-4.733 2.915a6.14 6.14 0 0 1 .626-.682c.218-.206.449-.386.689-.545a8.167 8.167 0 0 1-1.01-.113 5.067 5.067 0 0 1-.912-.252c.133.268.25.535.354.802.103.268.188.532.253.79z"></path></svg></a></li></ul></div></div><div class="css-11a2nsi"><div class="css-1npm75a"><a href="/" class="css-lneilx"><svg width="203" height="31" viewBox="0 0 812 124" xmlns="http://www.w3.org/2000/svg" fill-rule="evenodd" clip-rule="evenodd" stroke-linejoin="round" stroke-miterlimit="1.414"><g id="Layer1" fill-rule="nonzero"><path d="M221.086 85.794c0 7.342-2.55 12.933-7.651 16.775-5.101 3.842-12.731 5.762-22.889 5.762-5.208 0-9.647-.352-13.318-1.056-3.671-.704-7.107-1.739-10.308-3.105V88.035c3.628 1.707 7.715 3.137 12.261 4.29 4.546 1.152 8.547 1.728 12.005 1.728 7.085 0 10.628-2.048 10.628-6.146 0-1.537-.469-2.785-1.408-3.746-.939-.96-2.561-2.048-4.866-3.265-2.305-1.216-5.379-2.636-9.22-4.258-5.506-2.305-9.551-4.439-12.133-6.402-2.583-1.964-4.461-4.215-5.635-6.755-1.173-2.54-1.76-5.666-1.76-9.38 0-6.36 2.465-11.279 7.395-14.758 4.93-3.479 11.919-5.218 20.968-5.218 8.623 0 17.01 1.878 25.163 5.634l-5.891 14.086c-3.585-1.537-6.936-2.796-10.052-3.778a31.589 31.589 0 0 0-9.54-1.472c-5.762 0-8.643 1.558-8.643 4.674 0 1.75.928 3.265 2.785 4.546 1.857 1.28 5.922 3.18 12.197 5.698 5.591 2.262 9.689 4.375 12.293 6.339 2.604 1.963 4.524 4.225 5.762 6.786 1.238 2.561 1.857 5.613 1.857 9.156zM259.924 92.773c3.415 0 7.513-.747 12.293-2.241v14.534c-4.866 2.177-10.841 3.265-17.927 3.265-7.811 0-13.499-1.974-17.063-5.922-3.564-3.948-5.346-9.871-5.346-17.767V50.131h-9.348v-8.259l10.756-6.531 5.635-15.11h12.485v15.238h20.04v14.662h-20.04v34.511c0 2.774.779 4.823 2.337 6.146 1.558 1.323 3.617 1.985 6.178 1.985zM325.59 107.051l-3.778-9.732h-.512c-3.287 4.14-6.669 7.011-10.148 8.611-3.479 1.601-8.014 2.401-13.606 2.401-6.872 0-12.282-1.963-16.23-5.89-3.949-3.927-5.923-9.519-5.923-16.775 0-7.598 2.657-13.2 7.971-16.807 5.315-3.607 13.329-5.602 24.042-5.986l12.421-.384v-3.138c0-7.256-3.713-10.884-11.14-10.884-5.72 0-12.443 1.728-20.168 5.186l-6.467-13.19c8.238-4.311 17.372-6.466 27.403-6.466 9.604 0 16.967 2.091 22.089 6.274s7.683 10.543 7.683 19.08v47.7H325.59zm-5.763-33.166l-7.555.256c-5.677.171-9.902 1.195-12.677 3.074-2.774 1.878-4.162 4.738-4.162 8.579 0 5.506 3.159 8.259 9.476 8.259 4.525 0 8.142-1.301 10.853-3.905 2.71-2.604 4.065-6.061 4.065-10.372v-5.891zM381.843 108.331c-22.281 0-33.421-12.229-33.421-36.687 0-12.165 3.03-21.459 9.091-27.883 6.061-6.424 14.748-9.636 26.059-9.636 8.281 0 15.708 1.622 22.281 4.866l-5.762 15.11c-3.074-1.238-5.933-2.251-8.58-3.041-2.646-.79-5.293-1.185-7.939-1.185-10.159 0-15.238 7.214-15.238 21.641 0 14.001 5.079 21.001 15.238 21.001 3.756 0 7.235-.502 10.436-1.505 3.202-1.003 6.403-2.571 9.604-4.706v16.711c-3.158 2.006-6.349 3.394-9.572 4.162-3.222.768-7.288 1.152-12.197 1.152zM432.398 68.123l8.516-10.885 20.04-21.769h22.025l-28.428 31.053 30.157 40.529h-22.537l-20.617-29.004-8.387 6.723v22.281h-19.528V7.426h19.528V51.86l-1.025 16.263h.256z"></path><path d="M538.336 85.794c0 7.342-2.55 12.933-7.651 16.775-5.101 3.842-12.73 5.762-22.889 5.762-5.208 0-9.647-.352-13.318-1.056-3.671-.704-7.107-1.739-10.308-3.105V88.035c3.628 1.707 7.715 3.137 12.261 4.29 4.546 1.152 8.548 1.728 12.005 1.728 7.086 0 10.628-2.048 10.628-6.146 0-1.537-.469-2.785-1.408-3.746-.939-.96-2.561-2.048-4.866-3.265-2.305-1.216-5.378-2.636-9.22-4.258-5.506-2.305-9.551-4.439-12.133-6.402-2.582-1.964-4.46-4.215-5.634-6.755-1.174-2.54-1.761-5.666-1.761-9.38 0-6.36 2.465-11.279 7.395-14.758 4.93-3.479 11.92-5.218 20.969-5.218 8.622 0 17.009 1.878 25.162 5.634l-5.89 14.086c-3.586-1.537-6.937-2.796-10.053-3.778a31.589 31.589 0 0 0-9.54-1.472c-5.762 0-8.643 1.558-8.643 4.674 0 1.75.928 3.265 2.785 4.546 1.857 1.28 5.923 3.18 12.197 5.698 5.592 2.262 9.689 4.375 12.293 6.339 2.604 1.963 4.525 4.225 5.763 6.786 1.237 2.561 1.856 5.613 1.856 9.156zM613.093 107.051h-19.528V65.242c0-10.33-3.841-15.495-11.524-15.495-5.464 0-9.412 1.857-11.845 5.571-2.433 3.713-3.65 9.732-3.65 18.055v33.678h-19.528V7.426h19.528v20.296c0 1.58-.149 5.293-.448 11.141l-.448 5.762h1.024c4.354-7 11.269-10.5 20.745-10.5 8.409 0 14.79 2.262 19.144 6.787 4.353 4.524 6.53 11.012 6.53 19.464v46.675zM672.1 107.051l-3.778-9.732h-.512c-3.286 4.14-6.669 7.011-10.148 8.611-3.479 1.601-8.014 2.401-13.606 2.401-6.872 0-12.282-1.963-16.23-5.89-3.948-3.927-5.923-9.519-5.923-16.775 0-7.598 2.657-13.2 7.972-16.807 5.314-3.607 13.328-5.602 24.042-5.986l12.421-.384v-3.138c0-7.256-3.714-10.884-11.141-10.884-5.72 0-12.442 1.728-20.168 5.186l-6.467-13.19c8.238-4.311 17.373-6.466 27.403-6.466 9.604 0 16.967 2.091 22.089 6.274 5.123 4.183 7.684 10.543 7.684 19.08v47.7H672.1zm-5.762-33.166l-7.555.256c-5.677.171-9.903 1.195-12.678 3.074-2.774 1.878-4.161 4.738-4.161 8.579 0 5.506 3.158 8.259 9.475 8.259 4.525 0 8.142-1.301 10.853-3.905 2.71-2.604 4.066-6.061 4.066-10.372v-5.891zM739.238 34.125c2.646 0 4.845.192 6.595.576l-1.473 18.312c-1.579-.427-3.5-.641-5.762-.641-6.232 0-11.088 1.601-14.566 4.802-3.479 3.202-5.218 7.684-5.218 13.446v36.431h-19.528V35.469h14.79l2.881 12.037h.96c2.22-4.012 5.218-7.245 8.996-9.7 3.777-2.454 7.886-3.681 12.325-3.681zM779.293 48.019c-4.141 0-7.385 1.312-9.732 3.937-2.348 2.625-3.692 6.349-4.034 11.173h27.403c-.085-4.824-1.344-8.548-3.777-11.173s-5.72-3.937-9.86-3.937zm2.753 60.312c-11.525 0-20.531-3.18-27.019-9.54-6.488-6.36-9.732-15.366-9.732-27.019 0-11.994 2.998-21.267 8.996-27.819 5.997-6.552 14.288-9.828 24.874-9.828 10.116 0 17.991 2.881 23.625 8.643 5.635 5.763 8.452 13.723 8.452 23.882v9.476h-46.163c.213 5.549 1.857 9.882 4.93 12.997 3.073 3.116 7.384 4.674 12.933 4.674 4.311 0 8.388-.448 12.229-1.344 3.842-.897 7.854-2.326 12.037-4.29v15.11c-3.414 1.708-7.064 2.978-10.948 3.81-3.885.832-8.622 1.248-14.214 1.248z"></path></g><g fill="#008ff9"><path d="M101.98 83c-3.9 0-7.157 2.792-7.886 6.482-.212 1.564 0 3.123 0 3.123.73 3.687 3.986 6.477 7.885 6.477 4.434 0 8.042-3.605 8.042-8.04 0-4.434-3.608-8.042-8.042-8.042M32.041 54C27.607 54 24 57.606 24 62.041c0 4.433 3.607 8.041 8.041 8.041 4.435 0 8.042-3.608 8.042-8.041 0-4.435-3.607-8.041-8.042-8.041m69.924-12.918c4.435 0 8.042-3.608 8.042-8.041 0-4.435-3.607-8.041-8.042-8.041-3.898 0-7.155 2.791-7.885 6.48v.049s-.18 1.654 0 3.073c.73 3.689 3.987 6.48 7.885 6.48"></path><path d="M101.965 105.961c-6.965 0-12.841-4.655-14.692-11.022H73.376l-.076.043-16.575-28.517H46.592c-1.852 6.367-7.727 11.023-14.694 11.023-8.451 0-15.303-6.852-15.303-15.303 0-8.452 6.852-15.305 15.303-15.305 6.967 0 12.842 4.656 14.694 11.025h9.905l.128-.217L73.3 28.999l.141.083h13.768c1.852-6.369 7.727-11.025 14.692-11.025 8.453 0 15.305 6.853 15.305 15.305 0 8.451-6.852 15.304-15.305 15.304-6.965 0-12.84-4.656-14.692-11.025h-9.03l-14.14 24.326-.006.023.005.022L78.2 86.378h9.073c1.851-6.369 7.727-11.026 14.692-11.026 8.453 0 15.305 6.853 15.305 15.305s-6.852 15.304-15.305 15.304zM124.996 0H8.004C3.584 0 0 3.561 0 7.953v108.094C0 120.44 3.584 124 8.004 124h116.992c4.421 0 8.004-3.56 8.004-7.953V7.953C133 3.561 129.417 0 124.996 0z"></path></g></svg></a><div class="css-de1dx1"><a href="/terms">Terms</a><span>·</span><a href="/privacy">Privacy</a></div><div class="css-1h53588"><h3 class="css-12k57td">SOC 2 Type 2 Certified</h3><a href="http://www.aicpa.org/soc4so" rel="nofollow noreferrer noopener" target="_blank" title="SOC2 badge"><img src="https://img.stackshare.io/fe/SOC2.png" class="css-j1o656"/></a></div><div class="css-zr18wh"><div>Copyright © <!-- -->2022<!-- --> StackShare, Inc. </div><div>All rights reserved.</div></div><div class="css-de1dx1"><a href="/html-sitemaps/stackups/main.html">Sitemap</a></div></div></div></div></div></footer></div> <script> renderComponent('Footer','Footer-react-component-b887cc69-1029-4251-be72-f428c4a31686','Footer-apollo-state-b887cc69-1029-4251-be72-f428c4a31686','Footer-glamor-b887cc69-1029-4251-be72-f428c4a31686', 'apollo','{"isAdmin":null}'); </script>