Привет, dev.to Peeps-давний скрытый, первый плакат.
Freecodecamp.org теперь помогает миллионам людей учиться кодировать каждый месяц, и мы делаем это с помощью одного сервера API.
Остальная часть платформы обрабатывается CDN и другими славными услугами.
Это новая архитектура под названием Jamstack , который означает JavaScript, API, разметка.
Вот скриншот от нашего Nginx, когда я пишу это:
Несмотря на 1368 человек одновременно с использованием Freecodecamp.org, наш сервер node.js/loopback едва ли нарушает пот.
Freecodecamp.org-это крошечная некоммерческая организация с еще более крошечным бюджетом, поэтому мы хотим максимизировать повышение цены нашей инфраструктуры.
Мы в основном обслуживаем статические страницы. Даже наши проблемы с кодированием — для всей их интерактивности — запустите полностью клиентскую сторону и не требуют вызовов сервера. Так что Jamstack имеет большой смысл для нас.
Это может иметь смысл для вашей организации тоже.
Так что позвольте мне провести вас через то, как работает наш стек, шаг за шагом.
архитектура Jamstack Freecodecamp.org
Шаг № 1: Вкладчик с открытым исходным кодом открывает запрос на привлечение, изменяя один из интерактивных задач и справочных статей Freecodecamp.org.
Шаг № 2: Наш инструмент непрерывной интеграции подтверждает, что сборка проходит, и GIT подтверждает, что нет никаких конфликтов слияния.
Шаг № 3: Содействие с открытым исходным кодом QA и объединяет запрос на притяжение на GitHub.
Шаг № 4: Гэтсби — статический строитель сайтов — превращает эти более 6000 файлов разметки в одностраничное приложение React.
Шаг № 5: NetLify подталкивает недавно построенное приложение к своим конечным точкам CDN в центрах обработки данных по всему миру.
Шаг № 6: Человек, который хочет практиковать свои посещения кодирования https://www.freecodecamp.org Анкет
Шаг № 7: Их браузер вытаскивает файлы из ближайшей NetLify CDN Endpoint и видит приложение Gatsby.
Шаг № 8: Auth0 проверяет, зарегистрированы ли они на freecodecamp.org. Если они есть, это дает им доступ к чтению -записи к нашему публичному API — Node.js/Supback Server.
Шаг № 9: Затем сервер API читает и записывает данные из нашего кластера MongoDB, размещенного на MLAB.
Шаг № 10: теперь браузер может получить полный профиль и прогресс пользователя. Когда они выполняют задачу кодирования, их браузер может написать данные обратно в свой профиль.
Так почему же Jamstack?
У Jamstack есть несколько преимуществ, которые заманили нас от более традиционных архитектур, ориентированных на веб-сервер.
Преимущество № 1: Jamstack очень дешево.
Мы крошечная некоммерческая организация. Мы хотим поместить как можно больше наших дефицитных фондов, чтобы помочь людям научиться кодировать, а не на оплату ненужных серверов и пропускной способности.
Наши затраты на инфраструктуру резко упали с тех пор, как мы начали перемещать услуги в Jamstack.
Преимущество № 2: это проще.
Есть что -то, что можно сказать о здравомыслии, которое вы получаете, когда ваш стек прост и имеет так мало движущихся частей. Это меньше вещей, которые могут сломаться посреди ночи.
Преимущество № 3: это более безопасно и более надежно.
Сейчас мы полагаемся на корзину специализированных API, которые делают свое одно правильно. Это означает, что есть меньше вещей, которые мы сами можем испортить.
Команда Auth0 проводит много времени, думая о том, как сделать аутентификацию более безопасной. Алголия проводит много времени, думая о том, как защитить от злонамеренных запросов.
Мы можем сосредоточиться на обеспечении нашего единственного API вместо того, чтобы отражать себя в Все дополнительные соображения безопасности, которые влияют на приложения, ориентированные на веб-сервер Анкет
Но почему джемстак?
Вы серьезно? Я только что сказал вам, что мгновение назад.
Извините — это была ссылка на Zoolander . Я не мог устоять.
Я рассказал о джамстаке несколько недель назад. В разговоре я охватываю различные стеки, которые мы использовали, ведущие к тому, чтобы охватить Jamstack. Я также делюсь нашими амбициями в том, как достичь еще большего масштаба и повышения цен в 2019 году.
Чем больше ты знаешь
Freecodecamp.org-это крошечная некоммерческая организация, которая помогает миллионам людей во всем мире научиться кодировать бесплатно. До сих пор 10 000 человек из нашего сообщества получили свою первую работу разработчика.
Счастливого кодирования.
Оригинал: «https://dev.to/ossia/how-freecodecamporg-uses-the-jamstack—a-single-api-server-to-help-millions-of-people-learn-to-code-every-month-4d5g»