<!DOCTYPE html>
<html lang="en">
<head>

<link rel="preconnect" href="https://www.googletagmanager.com">
<script >(function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start':
  new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0],
  j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src=
  'https://www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f);
  })(window,document,'script','dataLayer','GTM-W8MVQXG');</script>

<meta charset="utf-8">
<meta name="description" content="Go is an open source programming language that makes it easy to build simple, reliable, and efficient software.">
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta name="theme-color" content="#00add8">
<link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Google+Sans:400,500,600|Work+Sans:400,500,600|Roboto:400,500,700|Open+Sans:Source+Code+Pro|Material+Icons">
<link rel="stylesheet" href="/css/styles.css">

  <script>(function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start':
  new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0],
  j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src=
  'https://www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f);
  })(window,document,'script','dataLayer','GTM-W8MVQXG');</script>

<script src="/js/site.js"></script>
<title>MercadoLibre Grows with Go - go.dev</title>
</head>
<body class="Site">

<noscript><iframe src="https://www.googletagmanager.com/ns.html?id=GTM-W8MVQXG"
  height="0" width="0" style="display:none;visibility:hidden"></iframe></noscript>

<header class="Site-header js-siteHeader">
  <div class="Banner">
    <div class="Banner-inner">
      <div class="Banner-message">Black Lives Matter</div>
      <a class="Banner-action"
         href="https://support.eji.org/give/153413/#!/donation/checkout"
         target="_blank"
         rel="noopener">
         Support the Equal Justice Initiative
      </a>
    </div>
  </div>
  <div class="Header Header--dark">
    <nav class="Header-nav">
      <a href="https://go.dev/">
        <img
          class="js-headerLogo Header-logo"
          src="/images/go-logo-white.svg"
          alt="Go">
      </a>
      <div class="Header-rightContent">
        <ul class="Header-menu">
          <li class="Header-menuItem ">
            <a href="/solutions/">Why Go</a>
          </li>
          <li class="Header-menuItem ">
            <a href="/learn/">Getting Started</a>
          </li>
          <li class="Header-menuItem ">
            <a href="https://pkg.go.dev">Discover Packages</a>
          </li>
          <li class="Header-menuItem ">
            <a href="/about">About</a>
          </li>
        </ul>
        <button class="Header-navOpen js-headerMenuButton Header-navOpen--white" aria-label="Open navigation.">
        </button>
      </div>
    </nav>

  </div>
</header>
<aside class="NavigationDrawer js-header">
  <nav class="NavigationDrawer-nav">
    <div class="NavigationDrawer-header">
      <a href="https://go.dev/">
        <img class="NavigationDrawer-logo" src="/images/go-logo-blue.svg" alt="Go.">
      </a>
    </div>
    <ul class="NavigationDrawer-list">
        <li class="NavigationDrawer-listItem  NavigationDrawer-listItem--active">
          <a href="/solutions/">Why Go</a>
        </li>
        <li class="NavigationDrawer-listItem ">
          <a href="/learn/">Getting Started</a>
        </li>
        <li class="NavigationDrawer-listItem ">
          <a href="https://pkg.go.dev">Discover Packages</a>
        </li>
        <li class="NavigationDrawer-listItem ">
          <a href="/about">About</a>
        </li>
    </ul>
  </nav>
</aside>
<div class="NavigationDrawer-scrim js-scrim" role="presentation"></div>
<main class="SiteContent SiteContent--default">
<div>
  <div class="WhoUsesSubPage-hero--caseStudy">
    <div class="WhoUsesSubPage-heroInner--caseStudy">
      <div class="WhoUsesSubPage-heroContent--caseStudy">
        <div class="WhoUsesSubPage-heroText--caseStudy">

  <div class="BreadcrumbNav">
    <ol class="BreadcrumbNav-inner">












      <li class="BreadcrumbNav-li ">
        <a class="BreadcrumbNav-link" href="/solutions/">

            Why Go

        </a>
      </li>





      <li class="BreadcrumbNav-li active">
        <a class="BreadcrumbNav-link" href="/solutions/mercadolibre">

            MercadoLibre

        </a>
      </li>


    </ol>

  </div>
          <h1>MercadoLibre Grows with Go</h1>


            <div class="Article-date">10 November 2019</div>

        </div>

            <div class="WhoUsesSubPage-heroImg">
              <img src="/images/go_mercadolibre_case_study_logo.png" alt="MercadoLibre">
            </div>

        </div>
      </div>

  </div>
  <article class="Article Article--solutions">

      <div class="CaseStudy-content">
        <div class="CaseStudy-contentBody">


<div class="PullQuote">
  <div class="PullQuote-quoteHeader">
    <img class="PullQuote-image" src="/images/quote.svg" alt="Quotation mark.">
  </div>
  <p class="PullQuote-body">
    I think that <strong>the tour of Go is by far the best introduction to a language that I’ve seen</strong>, It’s really simple and it gives you a fair overview of probably 80 percent of the language. When we want to get developers to learn Go, and to get to production fast, we tell them to start with the tour of Go.
  </p>
  <div class="PullQuote-author">
    <span>
      &mdash; Eric Kohan</span>
    ,&nbsp;
      <span class="PullQuote-title">Software Engineering Manager</span>
    <span class="PullQuote-title">&nbsp;at MercadoLibre</span>
    </div>
  </div>

<h2 id="go-helps-integrated-ecosystem-attract-developers-and-scale-ecommerce">Go helps integrated ecosystem attract developers and scale eCommerce</h2>

<p>MercadoLibre, Inc. hosts the largest online commerce ecosystem in Latin America and is present in 18 countries. Founded
in 1999 and headquartered in Argentina, the company has turned to Go to help it scale and modernize its ecosystem. Go
provides clean, efficient code that readily scales as MercadoLibre’s online commerce grows, and increases developer
productivity by allowing their engineers to serve their ever-increasing audience while writing less code.</p>

<h3 id="mercadolibre-taps-go-for-scale">MercadoLibre taps Go for scale</h3>

<p>Back in 2015, there was a growing sense within MercadoLibre that their existing API framework, on Groovy and Grails, was
reaching its limits and the company needed a different platform to continue scaling. MercadoLibre’s platform was (and
continues) to expand exponentially, which created a lot of extra work for its developers: Both Groovy and Grails require
a lot of decisions from developers and Groovy is a dynamic programming language. This was not a good combination for
quickly scaling growth, as MercadoLibre needed very experienced developers in this very resource intensive environment
to develop and tune to achieve desired performance. Test execution times were slow, and build and deploy times were
slow. Thus, the need for code efficiency and scalability became as important as the need for speed in code development.</p>

<h3 id="go-improves-system-efficiency">Go improves system efficiency</h3>

<p>As one example of Go’s contributions to network efficiency, the core API team builds and maintains the largest APIs at
the center of the company’s microservices solutions. This team creates user APIs, which in turn are used by the
MercadoLibre Marketplace, by the MercadoPago FinTech platform, by MercadoLibre’s shipping and logistics solutions, and
other hosted solutions. With the high service levels demanded by these solutions—the average user API has between eight
and ten million requests per minute—the team employs Go to serve them at less than ten milliseconds per request.</p>

<p>The API team also deploys Docker containers—a software-as-a-service (SaaS) product, also written in Go—to virtualize
their development and readily deploy their microservices via the Docker Engine. This system supports larger,
mission-critical APIs that handle <strong>more than 20 million requests per minute in Go.</strong></p>

<p>One API made important use of Go’s concurrency primitives to efficiently multiplex IDs from several services. The team
was able to accomplish this with just a few lines of Go code, and the success of this API convinced the core API team to
migrate more and more microservices to Go. The end result for MercadoLibre has been improved cost-efficiencies and
system response times.</p>

<h3 id="go-for-scalability">Go for scalability</h3>

<p>Historically, much of the company’s stack was based on Grails and Groovy backed by relational  databases. However this
big framework with multiple layers was soon found encountering scalability issues.</p>

<p>Converting that legacy architecture to Go as a new, very thin framework for building APIs streamlined those intermediate
layers and yielded great performance benefits. For example, one large Go service is now able to <strong>run 70,000 requests
per machine with just 20 MB of RAM.</strong></p>

<div class="BackgroundQuote">
    <p class="BackgroundQuote-body">
      “Go was just marvelous for us. It’s very powerful
and very easy to learn, and with backend infrastructure, has been great for us in terms of scalability.”
    </p>
    <div class="BackgroundQuote-author">
      <span>&mdash; Eric Kohan</span>
      ,&nbsp;
      <span class="BackgroundQuote-title">Software Engineering Manager</span>
      <span class="BackgroundQuote-title">&nbsp;at MercadoLibre</span>
      </div>
    </div>


<p>Using <strong>Go allowed MercadoLibre to cut the number of servers</strong> they use for this service to one-eighth the original
number (from 32 servers down to four), plus each server can operate with less power (originally four CPU cores, now down
to two CPU cores). With Go, the company <strong>obviated 88 percent of their servers and cut CPU on the remaining ones in
half</strong>—producing a tremendous cost-savings.</p>

<p>Sitting between developers and the cloud providers, MercadoLibre uses a platform called Fury—a platform-as-a-service
tool for building, deploying, monitoring, and managing services in a cloud-agnostic way. As a result, any team that
wants to create a new service in Go has access to proven templates for a variety of service types, and can quickly spin
up a repository in GitHub with starter code, a Docker image for the service, and a deployment pipeline. The end result
is a system that allows engineers to focus on building innovative services while avoiding the tedious stages of setting
up a new project—all while effectively standardizing the build and deployment pipelines.</p>

<p>Today, <strong>roughly half of Mercadolibre&rsquo;s traffic is handled by Go applications.</strong></p>

<h3 id="mercadolibre-uses-go-for-developers">MercadoLibre uses Go for developers</h3>

<p>The programming <em>lingua francas</em> for MercadoLibre’s infrastructure are currently Go and Java. Every app, every program,
every microservice is hosted on its own GitHub repository, plus the company uses an additional GitHub repository of
toolkits to solve new problems and allow clients to interact with its services.</p>

<p>These extensive and well-curated Go and Java toolkits allow programmers to develop new apps quickly and with great
support. Plus, in a community of more than 2,800 developers, MercadoLibre has multiple internal groups available for
chat and guidance on deploying Go, whether across different development centers or different countries. The company also
fosters internal working groups to provide training sessions for new MercadoLibre Go developers, and hosts Go meetups
for external developers to help build a broader community of Latin American Go developers.</p>

<h3 id="go-as-a-recruiting-tool">Go as a recruiting tool</h3>

<p>MercadoLibre’s Go advocacy has also become a strong recruiting tool for the company. MercadoLibre was among the first
companies using Go in Argentina, and is perhaps the largest in Latin America using the language so widely in production.
Headquartered in Buenos Aires, with many start-ups and emerging technology companies nearby, MercadoLibre&rsquo;s adoption of
Go has shaped the market for developers across the Pampas.</p>

<div class="BackgroundQuote">
    <p class="BackgroundQuote-body">
      “We really see eye-to-eye with the larger philosophy of the language. We love Go&rsquo;s simplicity, and we find that having its very explicit error handling has been a gain for developers because it results in safer, more stable code in production.”
    </p>
    <div class="BackgroundQuote-author">
      <span>&mdash; Eric Kohan</span>
      ,&nbsp;
      <span class="BackgroundQuote-title">Software Engineering Manager</span>
      <span class="BackgroundQuote-title">&nbsp;at MercadoLibre</span>
      </div>
    </div>


<p>Buenos Aires is today a very competitive market for programmers, offering computer programmers many employment options,
and the high demand for technology in the region drives great salaries, great benefits, and the ability to be selective
when choosing an employer. As such, MercadoLibre—like all employers of engineers and programmers in the region—strives
to provide an exciting workplace and strong career path. Go has proven to be a key differentiator for MercadoLibre: the
company organizes Go workshops for external developers so they can come and learn Go, and when they enjoy what they are
doing and the people they talk to, they quickly recognize MercadoLibre as an enticing place to work.</p>

<h3 id="go-enabling-developers">Go enabling developers</h3>

<p>MercadoLibre employs Go for its simplicity with systems at scale, but that simplicity is also why the company&rsquo;s
developers love Go.</p>

<p>The company also uses web pages like<a href="https://gobyexample.com/" rel="noreferrer" target="_blank"> Go by Example</a> and<a href="https://golang.org/doc/effective_go.html" rel="noreferrer" target="_blank"> Effective
Go</a> to educate new programmers, and shares representative internal APIs
written in Go to speed understanding and proficiency. MercadoLibre developers get the resources they need to embrace the
language, then leverage their own skills and enthusiasm to start programming.</p>

<div class="BackgroundQuote">
    <p class="BackgroundQuote-body">
      “Go has been great for writing business logic, and we are the team that writes those APIs.”
    </p>
    <div class="BackgroundQuote-author">
      <span>&mdash; Federico Martin Roasio</span>
      ,&nbsp;
      <span class="BackgroundQuote-title">Technical Project Lead</span>
      <span class="BackgroundQuote-title">&nbsp;at MercadoLibre</span>
      </div>
    </div>


<p>MercadoLibre leverages Go’s expressive and clean syntax to make it easier for developers to write programs that run
efficiently on modern cloud platforms. And while speed in development yields cost efficiency for the company, developers
individually benefit from the swift learning curve Go delivers. Not only are MercadoLibre&rsquo;s experienced engineers able
to build highly critical applications very quickly with Go, but even entry-level engineers have been able to write
services that, in other languages, MercadoLibre would only trust to more senior developers. For example, a key set of
user APIs—handling almost ten million requests per minute—were developed by entry-level software engineers, many of whom
only knew about programming from recent courses at university. Similarly, MercadoLibre has seen developers already
proficient with other programming languages (such as Java or .NET or Ruby) learn Go fast enough start writing production
services in just a few weeks.</p>

<p>With Go, MercadoLibre’s <strong>build times are three times (3x) faster</strong> and their <strong>test suite runs an amazing 24 times
faster</strong>. This means the company’s developers can make a change, then build and test that change much faster than they
could before.</p>

<p>And dropping MercadoLibre’s test suite runtimes from 90-seconds to <strong>just 3-seconds with Go</strong> was a huge boon for its
developers—allowing them to keep focus (and context) while the much faster tests complete.</p>

<p>Leveraging this success, MercadoLibre is committed not only to ongoing education for its programmers, but ongoing Go
education. The company sends key engineering leaders to GopherCon and other Go events each year, MercadoLibre’s
infrastructure and security teams encourage all the development teams to keep Go versions up to date, and the company
has a team developing a <em>Go-meli-toolkit</em>: A complete Go library to interface all the services provided by Fury.</p>

<h3 id="getting-your-enterprise-started-with-go">Getting your enterprise started with Go</h3>

<p>Just as MercadoLibre started with a proof-of-concept project to implement Go, dozens of other large enterprises are
adopting Go as well.</p>

<p>There are over one million developers using Go worldwide—spanning banking and commerce, gaming and media, technology, and other industries, at enterprises as diverse as <a href="https://go.dev/solutions/americanexpress" rel="noreferrer" target="_blank">American Express</a>, <a href="https://go.dev/solutions/paypal" rel="noreferrer" target="_blank">PayPal</a>, Capital One, Dropbox, IBM, Monzo, New York Times, Salesforce, Square, Target, Twitch, Uber, and of course Google.</p>

<p>To learn more about how Go can help your enterprise build reliable, scalable software as it does at MercadoLibre, visit <a href="https://go.dev" rel="noreferrer" target="_blank">go.dev</a> today.</p>

        </div>
        <div class="CaseStudy-contentAside">
          <div class="CaseStudy-aboutBlock">

            <img src="/images/logos/mercado-libre.png" class="CaseStudy-aboutBlockImg" alt="MercadoLibre">
            <h3 class="CaseStudy-aboutBlockTitle">
              About MercadoLibre
            </h3>

              <p class="CaseStudy-aboutBlockBody">Go provides clean, efficient code that readily scales as MercadoLibre’s online commerce grows, and increases developer productivity by allowing their engineers to serve their ever-increasing audience while writing less code.</p>

          </div>
        </div>
      </div>

  </article>
</div>
</main>
<footer class="Site-footer">
  <div class="Footer">
    <div class="Container">
      <div class="Footer-links">
          <div class="Footer-linkColumn">

<a href="/solutions/" class="Footer-link Footer-link--primary">
  Why Go
</a>


<a href="/solutions/#use-cases" class="Footer-link">
  Use Cases
</a>



<a href="/solutions/#case-studies" class="Footer-link">
  Case Studies
</a>


          </div>
          <div class="Footer-linkColumn">

<a href="/learn/" class="Footer-link Footer-link--primary">
  Getting Started
</a>


<a href="https://play.golang.org" class="Footer-link">
  Playground
</a>



<a href="https://tour.golang.org" class="Footer-link">
  Tour
</a>



<a href="https://stackoverflow.com/questions/tagged/go?tab=Newest" class="Footer-link">
  Stack Overflow
</a>


          </div>
          <div class="Footer-linkColumn">

<a href="https://pkg.go.dev" class="Footer-link Footer-link--primary">
  Discover Packages
</a>

          </div>
          <div class="Footer-linkColumn">

<a href="/about" class="Footer-link Footer-link--primary">
  About
</a>


<a href="https://golang.org/dl/" class="Footer-link">
  Download
</a>



<a href="https://blog.golang.org" class="Footer-link">
  Blog
</a>



<a href="https://github.com/golang/go/issues" class="Footer-link">
  Issue Tracker
</a>



<a href="https://golang.org/doc/devel/release.html" class="Footer-link">
  Release Notes
</a>



<a href="https://blog.golang.org/go-brand" class="Footer-link">
  Brand Guidelines
</a>



<a href="https://golang.org/conduct" class="Footer-link">
  Code of Conduct
</a>


          </div>
          <div class="Footer-linkColumn">

<a href="https://www.twitter.com/golang" class="Footer-link Footer-link--primary">
  Connect
</a>


<a href="https://www.twitter.com/golang" class="Footer-link">
  Twitter
</a>



<a href="https://github.com/golang" class="Footer-link">
  GitHub
</a>



<a href="https://invite.slack.golangbridge.org/" class="Footer-link">
  Slack
</a>



<a href="https://reddit.com/r/golang" class="Footer-link">
  r/golang
</a>



<a href="https://www.meetup.com/pro/go" class="Footer-link">
  Meetup
</a>



<a href="https://golangweekly.com/" class="Footer-link">
  Golang Weekly
</a>


          </div>
      </div>
    </div>
  </div>
  <div class="Footer">
    <div class="Container Container--fullBleed">
      <div class="Footer-bottom">
        <img class="Footer-gopher" src="/images/gophers/pilot-bust.svg" alt="The Go Gopher">
        <ul class="Footer-listRow">
          <li class="Footer-listItem">
            <a href="/copyright">Copyright</a>
          </li>
          <li class="Footer-listItem">
            <a href="/tos">Terms of Service</a>
          </li>
          <li class="Footer-listItem">
            <a href="http://www.google.com/intl/en/policies/privacy/"
              target="_blank"
              rel="noopener">
              Privacy Policy
            </a>
            </li>
          <li class="Footer-listItem">
            <a
              href="https://golang.org/s/discovery-feedback"
              target="_blank"
              rel="noopener"
              >
              Report an Issue
            </a>
          </li>
          <li class="Footer-listItem">
            <a
              href="https://golang.org"
              target="_blank"
              rel="noopener"
              >golang.org
            </a>
          </li>
        </ul>
        <a class="Footer-googleLogo" target="_blank" href="https://google.com" rel="noopener">
          <img class="Footer-googleLogoImg" src="/images/google-white.png" alt="Google logo">
        </a>
      </div>
    </div>
  </div>
  <script src="/js/carousels.js"></script>
  <script src="/js/searchBox.js"></script>
  <script src="/js/misc.js"></script>
  <script src="/js/hats.js"></script>
</footer>
</body>
</html>
