www.cockroachlabs.com
Open in
urlscan Pro
2a03:b0c0:3:d0::143f:d001
Public Scan
Submitted URL: https://friends.cockroachlabs.com/MzUwLVFJTi04MjcAAAGFnJdq7s4fB68j_fGwi6lEGNSJa8lEfSu8A1xKz3EUAGU40-KCWeZz0xPzcvmWgzQGuaTw0VWOBJRe...
Effective URL: https://www.cockroachlabs.com/guides/oreilly-cloud-native-go/?utm_campaign=oreilly-cloud-native-go&utm_source=mkto&utm_medium=...
Submission: On July 15 via manual from GB — Scanned from GB
Effective URL: https://www.cockroachlabs.com/guides/oreilly-cloud-native-go/?utm_campaign=oreilly-cloud-native-go&utm_source=mkto&utm_medium=...
Submission: On July 15 via manual from GB — Scanned from GB
Form analysis
2 forms found in the DOM<form id="mktoForm_1124" __bizdiag="196352612" __biza="WJ__" novalidate="novalidate" class="mktoForm mktoHasWidth mktoLayoutLeft" style="font-family: Helvetica, Arial, sans-serif; font-size: 13px; color: rgb(51, 51, 51); width: 434px;">
<style type="text/css">
.mktoForm .mktoButtonWrap.mktoSimple .mktoButton {
color: #fff;
border: 1px solid #75ae4c;
padding: 0.4em 1em;
font-size: 1em;
background-color: #99c47c;
background-image: -webkit-gradient(linear, left top, left bottom, from(#99c47c), to(#75ae4c));
background-image: -webkit-linear-gradient(top, #99c47c, #75ae4c);
background-image: -moz-linear-gradient(top, #99c47c, #75ae4c);
background-image: linear-gradient(to bottom, #99c47c, #75ae4c);
}
.mktoForm .mktoButtonWrap.mktoSimple .mktoButton:hover {
border: 1px solid #447f19;
}
.mktoForm .mktoButtonWrap.mktoSimple .mktoButton:focus {
outline: none;
border: 1px solid #447f19;
}
.mktoForm .mktoButtonWrap.mktoSimple .mktoButton:active {
background-color: #75ae4c;
background-image: -webkit-gradient(linear, left top, left bottom, from(#75ae4c), to(#99c47c));
background-image: -webkit-linear-gradient(top, #75ae4c, #99c47c);
background-image: -moz-linear-gradient(top, #75ae4c, #99c47c);
background-image: linear-gradient(to bottom, #75ae4c, #99c47c);
}
</style>
<div class="mktoFormRow">
<div class="mktoFieldDescriptor mktoFormCol" style="margin-bottom: 10px;">
<div class="mktoOffset" style="width: 10px;"></div>
<div class="mktoFieldWrap mktoRequiredField"><label for="FirstName" id="LblFirstName" class="mktoLabel mktoHasWidth" style="width: 100px;">
<div class="mktoAsterix">*</div>
</label>
<div class="mktoGutter mktoHasWidth" style="width: 10px;"></div><input id="FirstName" name="FirstName" placeholder="First Name*" maxlength="255" aria-labelledby="LblFirstName InstructFirstName" type="text"
class="mktoField mktoTextField mktoHasWidth mktoRequired" aria-required="true" style="width: 150px;"><span id="InstructFirstName" tabindex="-1" class="mktoInstruction"></span>
</div>
</div>
<div class="mktoFieldDescriptor mktoFormCol" style="margin-bottom: 10px;">
<div class="mktoOffset" style="width: 10px;"></div>
<div class="mktoFieldWrap mktoRequiredField"><label for="LastName" id="LblLastName" class="mktoLabel mktoHasWidth" style="width: 100px;">
<div class="mktoAsterix">*</div>
</label>
<div class="mktoGutter mktoHasWidth" style="width: 10px;"></div><input id="LastName" name="LastName" placeholder="Last Name*" maxlength="255" aria-labelledby="LblLastName InstructLastName" type="text"
class="mktoField mktoTextField mktoHasWidth mktoRequired" aria-required="true" style="width: 150px;"><span id="InstructLastName" tabindex="-1" class="mktoInstruction"></span>
</div>
</div>
</div>
<div class="mktoFormRow">
<div class="mktoFieldDescriptor mktoFormCol" style="margin-bottom: 10px;">
<div class="mktoOffset" style="width: 10px;"></div>
<div class="mktoFieldWrap mktoRequiredField"><label for="Company" id="LblCompany" class="mktoLabel mktoHasWidth" style="width: 100px;">
<div class="mktoAsterix">*</div>
</label>
<div class="mktoGutter mktoHasWidth" style="width: 10px;"></div><input id="Company" name="Company" placeholder="Company Name*" maxlength="255" aria-labelledby="LblCompany InstructCompany" type="text"
class="mktoField mktoTextField mktoHasWidth mktoRequired" aria-required="true" style="width: 150px;"><span id="InstructCompany" tabindex="-1" class="mktoInstruction"></span>
</div>
</div>
<div class="mktoFieldDescriptor mktoFormCol" style="margin-bottom: 10px;">
<div class="mktoOffset" style="width: 10px;"></div>
<div class="mktoFieldWrap mktoRequiredField"><label for="Title" id="LblTitle" class="mktoLabel mktoHasWidth" style="width: 100px;">
<div class="mktoAsterix">*</div>
</label>
<div class="mktoGutter mktoHasWidth" style="width: 10px;"></div><input id="Title" name="Title" placeholder="Job Title*" maxlength="255" aria-labelledby="LblTitle InstructTitle" type="text"
class="mktoField mktoTextField mktoHasWidth mktoRequired" aria-required="true" style="width: 150px;"><span id="InstructTitle" tabindex="-1" class="mktoInstruction"></span>
</div>
</div>
</div>
<div class="mktoFormRow">
<div class="mktoFieldDescriptor mktoFormCol" style="margin-bottom: 10px;">
<div class="mktoOffset" style="width: 10px;"></div>
<div class="mktoFieldWrap mktoRequiredField"><label for="Email" id="LblEmail" class="mktoLabel mktoHasWidth" style="width: 100px;">
<div class="mktoAsterix">*</div>
</label>
<div class="mktoGutter mktoHasWidth" style="width: 10px;"></div><input id="Email" name="Email" placeholder="Company Email*" maxlength="255" aria-labelledby="LblEmail InstructEmail" type="email"
class="mktoField mktoEmailField mktoHasWidth mktoRequired" aria-required="true" style="width: 433px;"><span id="InstructEmail" tabindex="-1" class="mktoInstruction"></span>
</div>
</div>
</div>
<div class="mktoFormRow">
<div class="mktoFormCol" style="margin-bottom: 10px;">
<div class="mktoOffset mktoHasWidth" style="width: 10px;"></div>
<div class="mktoFieldWrap">
<div class="mktoHtmlText mktoHasWidth" style="width: 260px; color: rgb(122, 122, 122);"><span>By submitting this form, I agree </span><span>to receive email updates about CockroachDB.</span></div>
</div>
</div>
</div>
<div class="mktoFormRow"><input type="hidden" name="Would_you_like_to_receive_email_updates__c" class="mktoField mktoFieldDescriptor mktoFormCol" value="TRUE" style="margin-bottom: 10px;"></div>
<div class="mktoFormRow"><input type="hidden" name="Most_Recent_Form_Conversion_type__c" class="mktoField mktoFieldDescriptor mktoFormCol" value="Guide" style="margin-bottom: 10px;"></div>
<div class="mktoFormRow"><input type="hidden" name="optin" class="mktoField mktoFieldDescriptor mktoFormCol" value="TRUE" style="margin-bottom: 10px;"></div>
<div class="mktoFormRow"><input type="hidden" name="subscriptionLatestResources" class="mktoField mktoFieldDescriptor mktoFormCol" value="TRUE" style="margin-bottom: 10px;"></div>
<div class="mktoFormRow"><input type="hidden" name="subscriptionNewsletter" class="mktoField mktoFieldDescriptor mktoFormCol" value="TRUE" style="margin-bottom: 10px;"></div>
<div class="mktoFormRow"><input type="hidden" name="utm_adgroup__c" class="mktoField mktoFieldDescriptor mktoFormCol" value="" style="margin-bottom: 10px;"></div>
<div class="mktoFormRow"><input type="hidden" name="utm_campaign__c" class="mktoField mktoFieldDescriptor mktoFormCol" value="oreilly-cloud-native-go" style="margin-bottom: 10px;"></div>
<div class="mktoFormRow"><input type="hidden" name="utm_content__c" class="mktoField mktoFieldDescriptor mktoFormCol" value="excerpt-promo" style="margin-bottom: 10px;"></div>
<div class="mktoFormRow"><input type="hidden" name="utm_medium__c" class="mktoField mktoFieldDescriptor mktoFormCol" value="email" style="margin-bottom: 10px;"></div>
<div class="mktoFormRow"><input type="hidden" name="utm_source__c" class="mktoField mktoFieldDescriptor mktoFormCol" value="mkto" style="margin-bottom: 10px;"></div>
<div class="mktoFormRow"><input type="hidden" name="utm_term__c" class="mktoField mktoFieldDescriptor mktoFormCol" value="download-the-book" style="margin-bottom: 10px;"></div>
<div class="mktoFormRow"><input type="hidden" name="utm_sfcamp" class="mktoField mktoFieldDescriptor mktoFormCol" value="" style="margin-bottom: 10px;"></div>
<div class="mktoFormRow"><input type="hidden" name="gclid_field" class="mktoField mktoFieldDescriptor mktoFormCol" value="" style="margin-bottom: 10px;"></div>
<div class="mktoButtonRow"><span class="mktoButtonWrap mktoSimple" style="margin-left: 120px; text-align: center;"><button type="submit" class="btn btn-primary btn-sm download-btn">Download chapters →</button></span></div><input type="hidden"
name="formid" class="mktoField mktoFieldDescriptor" value="1124"><input type="hidden" name="munchkinId" class="mktoField mktoFieldDescriptor" value="350-QIN-827">
</form>
<form __bizdiag="-177388228" __biza="WJ__" novalidate="novalidate" class="mktoForm mktoHasWidth mktoLayoutLeft"
style="font-family: Helvetica, Arial, sans-serif; font-size: 13px; color: rgb(51, 51, 51); visibility: hidden; position: absolute; top: -500px; left: -1000px; width: 1600px;"></form>
Text Content
PRODUCT A distributed SQL database designed for speed, scale, and survival Learn more Pricing Compare deployment options Capabilities * Elastic Scale * Built-in Survivability * Familiar, Consistent SQL * Global Data SOLUTIONS By Industries * Finance * Gambling * Gaming * Manufacturing & Logistics * Retail & eCommerce * SaaS * Startups By Use Case * Cloud-Native & Kubernetes * Scale & Resilience * Data Privacy & Security * Distributed Apps Customer Stories See how our customers use CockroachDB to handle their critical workloads. Read case studies RESOURCES COCKROACH UNIVERSITY World-class training and tutorials for beginners and advanced use cases. Sign up for free Learn * Guides & Tech Briefs * Blog * Developers * Tech Talks Support * GitHub * Slack * Support Portal DOCS DOCS HUB Access tutorials, guides, example applications, and much more. Explore * Quickstart * FAQ * Example applications * Architecture Overview COMPANY About us * Company News & Culture * Our Story * Partners * Work at Cockroach Labs Customer Stories CockroachDB is trusted by innovators around the world, big and small. Take a look at how they use CockroachDB to build future-proofed applications. Read case studies BLOG CONTACT US SIGN IN * Product A distributed SQL database designed for speed, scale, and survival Learn more Pricing Compare deployment options Capabilities * Elastic Scale * Built-in Survivability * Familiar, Consistent SQL * Global Data * Solutions By Industries * Finance * Gambling * Gaming * Manufacturing & Logistics * Retail & eCommerce * SaaS * Startups By Use Case * Cloud-Native & Kubernetes * Scale & Resilience * Data Privacy & Security * Distributed Apps Customer Stories See how our customers use CockroachDB to handle their critical workloads. Read case studies * Resources COCKROACH UNIVERSITY World-class training and tutorials for beginners and advanced use cases. Sign up for free Learn * Guides & Tech Briefs * Blog * Developers * Tech Talks Support * GitHub * Slack * Support Portal * Docs DOCS HUB Access tutorials, guides, example applications, and much more. Explore * Quickstart * FAQ * Example applications * Architecture Overview * Company About us * Company News & Culture * Our Story * Partners * Work at Cockroach Labs Customer Stories CockroachDB is trusted by innovators around the world, big and small. Take a look at how they use CockroachDB to build future-proofed applications. Read case studies * Contact Us * Sign In * Start Instantly BUILD RESILIENT APPS FROM THE WORD GO /*Learn to build cloud-native, cost-effective applications in this 3-chapter excerpt from O’Reilly’s Cloud Native Go*/ * * * * * By submitting this form, I agree to receive email updates about CockroachDB. Download chapters → Thank you! WHAT YOU'LL LEARN Basic K/V store Learn to build a basic key-value store Service-Oriented Architecture Learn how to compose individual services into an application Go HTTP library Familiarize yourself with the Go standard library 12-factor App Methodology Get comfortable building apps that are portable & scale elastically State vs Statelessness Learn to handle and store state in cloud-native apps Fault Tolerance Learn to build continuous availability into apps and services TAKE A PEEK INSIDE CHAPTER 5: BUILDING A CLOUD NATIVE SERVICE An iterative, practical walkthrough of constructing a basic (but fully featured) key-value store including: building an HTTP server and RESTful services; persisting resource state; implementing transport layer security; and containerizing your key-value stores. CHAPTER 6: IT'S ALL ABOUT DEPENDABILITY Explore essential concepts like fault tolerance and prevention, plus using the 12-factor app methodology for building resilient SaaS applications that are inherently scalable with no significant changes to tooling or architecture CHAPTER 7: SCALABILITY A look at best practices plus troubleshooting typical challenges: Common bottlenecks; state vs statelessness; preventing memory leaks; building in efficiency; and service architectures. Download Free → ABOUT THE AUTHOR Matthew Titmus Engineering Team Lead at Yext | Author of Cloud Native Go (O'Reilly Media) Matthew Titmus was an early adopter and advocate of both cloud-native technologies in general and the Go language in particular. Now he specializes in helping companies migrate monolithic applications into a containerized, cloud native world — transforming the way their services are developed, deployed, and managed. He spends a great deal of time devising strategies for observing and orchestrating distributed systems. COCKROACHDB: BUILT FOR CLOUD NATIVE Enterprises and emerging leaders alike trust Go-based CockroachDB. GET YOUR 3-CHAPTER EXCERPT Download Free → PRODUCT * CockroachDB * CockroachDB Dedicated * Compare * Pricing * Get CockroachDB * Sign In * Download RESOURCES * Guides * Video & Webinars * Architecture Overview * FAQ * Security LEARN MORE * Docs * University * GitHub SUPPORT CHANNELS * Forum * Slack * Support Portal * Contact Us COMPANY * About * Blog * Careers * Customers * Partners * Events * News * Trust * Privacy * Legal Notices COOKIE CONSENT We use cookies to personalise content and ads, to provide social media features and to analyse our traffic. We also share information about your use of our site with our social media, advertising and analytics partners.Privacy Policy Cookies Settings Reject All Accept All Cookies PRIVACY PREFERENCE CENTER When you visit any website, it may store or retrieve information on your browser, mostly in the form of cookies. This information might be about you, your preferences or your device and is mostly used to make the site work as you expect it to. The information does not usually directly identify you, but it can give you a more personalized web experience. Because we respect your right to privacy, you can choose not to allow some types of cookies. Click on the different category headings to find out more and change our default settings. However, blocking some types of cookies may impact your experience of the site and the services we are able to offer. More information Allow All MANAGE CONSENT PREFERENCES STRICTLY NECESSARY COOKIES Always Active These cookies are necessary for the website to function and cannot be switched off in our systems. They are usually only set in response to actions made by you which amount to a request for services, such as setting your privacy preferences, logging in or filling in forms. You can set your browser to block or alert you about these cookies, but some parts of the site will not then work. These cookies do not store any personally identifiable information. TARGETING COOKIES Targeting Cookies These cookies may be set through our site by our advertising partners. They may be used by those companies to build a profile of your interests and show you relevant adverts on other sites. They do not store directly personal information, but are based on uniquely identifying your browser and internet device. If you do not allow these cookies, you will experience less targeted advertising. PERFORMANCE COOKIES Performance Cookies These cookies allow us to count visits and traffic sources so we can measure and improve the performance of our site. They help us to know which pages are the most and least popular and see how visitors move around the site. All information these cookies collect is aggregated and therefore anonymous. If you do not allow these cookies we will not know when you have visited our site, and will not be able to monitor its performance. Back Button PERFORMANCE COOKIES Search Icon Filter Icon Clear checkbox label label Apply Cancel Consent Leg.Interest checkbox label label checkbox label label checkbox label label Confirm My Choices