Mugo Web main content.
AWS blog post - Using Lambda scripting

Using Lambda scripting to automatically cost-optimize on-demand AWS resource use

Using on-demand compute resources from Amazon Web Services (AWS) is a great way to optimize the infrastructure costs associated with your site or application.

LEARN MORE
AWS blog post - Managing on-demand AWS infrastructure

Managing on-demand AWS infrastructure for maximum cost optimization

On-demand IT infrastructure is a great option for cost-conscious companies that want enterprise-class technology without investing in physical hardware or dedicated space in a datacenter. And Amazon Web Services (AWS) is as a leader in the on-demand infrastructure category with plenty of options for cost optimization.

LEARN MORE
AWS blog post - Picking the right plan

Picking the right pricing plan for AWS storage and compute resources

Amazon Web Services (AWS) can be a great solution for businesses that want to host their data and applications in a flexible, on-demand environment.

LEARN MORE
How to use Optimizely to create your first A/B Testing experiment

How to use Optimizely to create your first A/B Testing experiment

A few months ago we discussed the importance of A/B testing to help your business build a winning digital strategy. In this blog post, I’ll show you how to use Optimizely, a leading A/B testing platform, to create your first experiment to study, analyze and decide what’s the best move for your content and key site pages.

LEARN MORE
Overhead view of people with laptops at a meeting

Does Scrum deliver an Agile website?

My experience working for an enterprise-level website using Scrum methodology for Agile development has been enlightening. Does Scrum work? That depends on many factors!

LEARN MORE
-

Building machine images with Packer

Earlier this year we wrote about adopting Vagrant and Terraform in our steady march toward Infrastructure as Code. We recently added a new tool to this list, HashiCorp’s Packer. Packer automates building machine images, and with a single set of provisioners, creates images for multiple builders (such as VirtualBox, DigitalOcean, and Google Cloud).

LEARN MORE
Editing CSS/JS in Google Chrome

Editing CSS/JS in Google Chrome

How many times have you found yourself editing and tuning up CSS or JavaScript code right in the browser, then refreshing the page only to lose all of your changes? Improving development workflows can help web developers to be more efficient and deliver a higher quality final product.

LEARN MORE
You are the corkscrew!

The most important web project management skill: the ability to unblock others

As a project manager on a web project, you have to be the hub for editors, marketers, developers, designers, IT staff, clients, and a plethora of other stakeholders as the team works together to plan, build, and launch the website or application. While managing the people, scope, timeline, and budget, you need to find the most efficient way for everybody to get things done. The best way to achieve this is to make unblocking others your primary responsibility.

LEARN MORE
-

Improving website performance as a money-saving (and money-making) exercise

I recently did a performance review for a server setup running more than 200 websites. The infrastructure is hosted at Amazon Web Services (AWS). It contains multiple web servers behind multiple Varnish caching servers, uses Relational Database Service (RDS) for database storage, and uses Elastic File System (EFS) for storing assets like content images and documents. There were several areas of performance optimization to be done, which was a good development exercise and resulted in an improved user experience. Most importantly, though, the results also saved bandwidth; reduced the number of servers, number of CPUs, and amount of RAM required; and saved money! A faster site also improves SEO, which will drive more visitors / customers to your site, and will increase conversions.

LEARN MORE
7 benefits of using SASS over conventional CSS

7 benefits of using SASS over conventional CSS

Writing CSS (Cascading Style Sheets) is critical to effectively describe how HTML elements must be displayed on a web page to define styles, design, layout, and everything you need to create a stunning website. But when you start working with large, complex sites, you might start to wonder if CSS could be better. If you are having these thoughts, congratulations! Your SASS time has come.

LEARN MORE
-

5 command line techniques to be more productive

Intended audience: developers

Unix-like operating systems power the majority of the Internet, and if you’re a web developer, chances are you interact with them daily. Whether you’re using the Linux or macOS command line interface, the Windows Subsystem for Linux, a Vagrant box, or connecting to a remote server via SSH, here’s a list of five command line techniques to be more productive.

LEARN MORE
-

Infrastructure as Code: provisioning and configuration management with Vagrant, Terraform, and Ansible

Intended audience: technical managers, senior developers

Agile developers must constantly strike a balance between building solutions for a known existing case and building solutions that can scale to handle unknown future cases. On the one hand, Agile philosophy encourages us to build and iterate as necessary: Move Fast and Break Things. On the other, various programming best practices encourage us to build in an extensible and modular way from the start: Do One Thing and Do It Well. On smaller projects, these two goals can be achieved simultaneously; but on larger projects – especially given time and budget constraints – it is sometimes necessary to prioritize one over the other. 

Project managers and full-stack developers face such choices almost immediately, during the initial development, staging, and deployment phases. For instance, a project may begin with a narrow scope and require only a single developer’s time. In this case, it often makes sense to forgo provisioning a dedicated development virtual machine (VM) or staging server, and instead, to use generic or shared environments. But as the scope of the project grows, for instance with caching or proxy layers, it often makes sense to implement better development, staging, and production parity.

LEARN MORE