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

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&nbsp;</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