Bookmarks tagged with #devops.
Show all
Show all
Infrastructure overview
Handling millions of daily users efficiently and securely does not happen by chance, here's some what goes into it.
Saved
on: 2021-09-07
Google SRE book- Comprehensive guide to site reliability
Explore the world of site reliability engineering with top-rated sre books. Find resources on SRE principles, best practices and the role of a reliability engineer
Tags:
#devops
Saved
on: 2020-04-09
Deploys at Slack
Deploys require a careful balance of speed and reliability. At Slack, we value quick iteration, fast feedback loops, and responsiveness to customer feedback. We also have hundreds of engineers who are trying to be as productive as possible. Keeping to these values while growing as a company means continual refinement of our deployment system. We…
Saved
on: 2020-04-09
What tools do you use to push your code changes live? : r/PHP
Saved
on: 2020-02-20
How to Use Ansible to Install and Set Up LAMP on Ubuntu 18.04 | DigitalOcea
Server automation now plays an essential role in systems administration, due to the disposable nature of modern application environments. Configuration management tools such…
Saved
on: 2019-12-18
The boring technology behind a one-person Internet company
The tech stack of Listen Notes, the best podcast search engine and database.
Saved
on: 2019-09-17
Cloud native, container-ready PHP | With Blue Ink
Building PHP apps and microservices for containers and high availability
Saved
on: 2019-07-25
Do-nothing scripting: the key to gradual automation
Every ops team has some manual procedures that they haven’t gotten around to automating yet. Toil can never be totally eliminated. Very often, the biggest toil center for a team at a growing …
Tags:
#devops
Saved
on: 2019-07-22
How we built a serverless architecture with AWS
Our customers go serverless for live locations with HyperTrack. We go serverless for our platform with AWS. In this blog, we give you a peek under the hood and share our learnings.
Saved
on: 2019-07-11
Continuous Integration (CI) Explained
Continuous integration enables iterative software development, reduces risks from defects and makes developers highly productive. Summary Continuous Integration (CI) is a development practice where developers regularly merge their code into a central repository. Each merge automatically triggers a build and tests, helping detect and fix issues early. In other words, CI involves committing changes frequently […]
Saved
on: 2019-07-05
Do you have a PHP-based site or product? And is the code open sourced somew
Saved
on: 2019-05-29
Infrastructure as Code, Part One
IaC uses code to provision, configure, and manage infrastructure. In part one of this IaC miniseries, I will introduce you to the basic concepts and explain some of the benefits.
Saved
on: 2019-04-13
What is Microservice? What is Kubernetes for?
What is a microservice? What is Kubernetes for? In this post, we try to explain microservices, containers and Kubernetes in 10 minutes
Saved
on: 2019-03-07
A Beginner's Guide to Scaling to 11 Million+ Users on Amazon's AWS - High Scalability -
How do you scale a system from one user to more than 11 million users? Joel Williams, Amazon Web Services Solutions Architect, gives an excellent talk on just that subject: AWS re:Invent 2015 Scaling Up to Your First 10 Million Users.
If you are an advanced AWS user this talk is not for you, but it’s a great way to get started if you are new to AWS, new to the cloud, or if you haven’t kept up with with constant stream of new features Amazon keeps pumping out.
As you might expect since this is
Saved
on: 2018-12-26
5 Lessons Learned From Writing Over 300,000 Lines of Infrastructure Code
A concise masterclass on how to write infrastructure code
Tags:
#devops
Saved
on: 2018-11-27
Video Recordings from HashiConf 2018: Keynotes and Breakout Sessions
The strength of HashiConf has always been its community and its speakers, and this year's lineup did not disappoint. Today, we're excited to finally share all of our keynote and breakout session video recordings with you.
Saved
on: 2018-11-21
Configuring PHP-FPM For High Network Traffic - DEV Community ????
Maintaining a constant response time on a server with high network traffic while using PHP is proba...
Saved
on: 2018-09-11
Forced Evolution: Shopify's Journey to Kubernetes
Niko Kurtti talks about the challenges Shopify saw in moving from a traditional host-based infrastructure to a cloud native one, moving not only their core app to Kubernetes but also other apps.
Saved
on: 2018-08-24
https://blog.gojekengineering.com/limiting-software-infant-mortality-rate-decoding-gojek-deployment-checklist-1c6cc3e28df
Tags:
#devops
Saved
on: 2018-05-07
What's your tech stack?
Photo courtesy of Flickr user kreturn I came across this post from @ben today while I was doing some...
Saved
on: 2018-04-27
Build a serverless multi-region, active-active backend solution in an hour
This solution is built using DynamoDB Global Tables, AWS Lambda, regional API Gateway, and Route53 routing policies. Learn more!
Saved
on: 2018-04-27
How Atlassian moved Jira and Confluence users to Amazon Web Services, and w
If your business is built around servicing software developers who know exactly what state-of-the-art tools should be capable of doing, at a certain point
Saved
on: 2018-03-12
Monitor server with CollectD, InfluxDB and Grafana - Nguyen Sy Thanh Son
QQ88 là một trong những thương hiệu nổi tiếng với các tựa game như casino, thể thao, bắn cá, đá gà.... Đăng ký tham gia ngay link capitalsolutions.us.com.
Saved
on: 2017-12-06
New- Introducing AWS CodeStar – Quickly Develop, Build, and Deploy Applications on AWS | Amazon Web Services
It wasn’t too long ago that I was on a development team working toward completing a software project by a release deadline and facing the challenges most software teams face today in developing applications. Challenges such as new project environment setup, team member collaboration, and the day-to-day task of keeping track of the moving pieces […]
Saved
on: 2017-04-19
How to set up your Laravel application for zero-downtime (Envoyer/Capistran
If you've ever worked with Capistrano or Envoyer, you've probably seen a directory structure in your webroot that looks something like this:
root root 4096 Mar 29 18:44 .
root root 4096 Mar 28 14:15 ..
root root 47 Mar 29 14:54 current -> ./releases/1490824249
root root 4096 Mar 29 14:50 releases
Where you're expecting to see your webroot containing your Git repository, instead it's this weird structure. What gives?
A brief introduction to Capistrano-style zero-downtime deploys
The reason you're getting zero-downtime deploy from these tools is because the entire deploy process—clone, composer install, etc.—doesn't happen in the directory that is currently serving your site. Instead, each new release gets its own separate "release" directory, all while your site is still being served from its current "release" directory.
- current -> ./releases/1490802721 * apache/nginx serves from this directory
- releases
- 1490802133 (the new release you're building right now)
- 1490802721 (latest complete release)
- 1490803081 (a little bit older release)
- 1490824249 (an even older release)
All of these release directories are just subdirectories of releases. Each directory here represents one of your deploys, and each directory individually has everything needed to serve your site. Your web server points to yourproject/current/public and therefore the "currently served" release is just that which has a symlink pointed at it from yourproject/current.
So, once the build process is complete for each new release, your deploy tool will delete the current symlink and create a new current symlink that points to your latest release. Boom. Now that release is live.
Caveats
In general, Laravel is no different from any other project in that this style of deployment works great. In fact, a tool provided by Taylor Otwell, Envoyer, is predicated around this release style.
However, every tool has a different set of caveats around how to handle them well in zero-downtime settings. Here's why:
There are always some things that you want to persist between releases. Most of it lives in databases and caches, which is fine—nothing's wiping your database on every deploy. But some isn't. Take the storage folder; do you want to wipe that every time you push a new release? Naw. What about the .env file? Definitely naw. So there are a few quick tricks.
How to set up your deploy for Laravel
Remember: If you use Envoyer, this is all handled for you. But if you don't, here's what to do.
Clone your release into a new release folder. This should be handled by your deploy tool.
composer install -o --no-interaction
php artisan migrate --no-interaction --force
(optional, if you don't commit your built scripts) npm install (or yarn) and either gulp --production (Elixir) or npm run production (Mix)
rm -rf storage && ln -s ../../storage ./
(Delete the storage directory and symlink it to a storage folder in the parent)
ln -s ../../.e
Saved
on: 2017-03-31
explainshell.com - match command-line arguments to their help text
match command-line arguments to their help text
Saved
on: 2017-03-30
donnemartin/system-design-primer: Learn how to design large-scale systems. Prep for the system design interview. Includes Anki flashcards.
Learn how to design large-scale systems. Prep for the system design interview. Includes Anki flashcards. - donnemartin/system-design-primer
Saved
on: 2017-03-09