Posts Tagged 'Custom'

December 4, 2012

Big Data at SoftLayer: MongoDB

In one day, Facebook's databases ingest more than 500 terabytes of data, Twitter processes 500 million Tweets and Tumblr users publish more than 75 million posts. With such an unprecedented volume of information, developers face significant challenges when it comes to building an application's architecture and choosing its infrastructure. As a result, demand has exploded for "big data" solutions — resources that make it possible to process, store, analyze, search and deliver data from large, complex data sets. In light of that demand, SoftLayer has been working in strategic partnership with 10gen — the creators of MongoDB — to develop a high-performance, on-demand, big data solution. Today, we're excited to announce the launch of specialized MongoDB servers at SoftLayer.

If you've configured an infrastructure to accommodate big data, you know how much of a pain it can be: You choose your hardware, you configure it to run NoSQL, you install an open source NoSQL project that you think will meet your needs, and you keep tweaking your environment to optimize its performance. Assuming you have the resources (and patience) to get everything running efficiently, you'll wind up with the horizontally scalable database infrastructure you need to handle the volume of content you and your users create and consume. SoftLayer and 10gen are making that process a whole lot easier.

Our new MongoDB solutions take the time and guesswork out of configuring a big data environment. We give you an easy-to-use system for designing and ordering everything you need. You can start with a single server or roll out multiple servers in a single replica set across multiple data centers, and in under two hours, an optimized MongoDB environment is provisioned and ready to be used. I stress that it's an "optimized" environment because that's been our key focus. We collaborated with 10gen engineers on hardware and software configurations that provide the most robust performance for MongoDB, and we incorporated many of their MongoDB best practices. The resulting "engineered servers" are big data powerhouses:

MongoDB Configs

From each engineered server base configuration, you can customize your MongoDB server to meet your application's needs, and as you choose your upgrades from the base configuration, you'll see the thresholds at which you should consider upgrading other components. As your data set's size and the number of indexes in your database increase, you'll need additional RAM, CPU, and storage resources, but you won't need them in the same proportions — certain components become bottlenecks before others. Sure, you could upgrade all of the components in a given database server at the same rate, but if, say, you update everything when you only need to upgrade RAM, you'd be adding (and paying for) unnecessary CPU and storage capacity.

Using our new Solution Designer, it's very easy to graphically design a complex multi-site replica set. Once you finalize your locations and server configurations, you'll click "Order," and our automated provisioning system will kick into high gear. It deploys your server hardware, installs CentOS (with OS optimizations to provide MongoDB performance enhancements), installs MongoDB, installs MMS (MongoDB Monitoring Service) and configures the network connection on each server to cluster it with the other servers in your environment. A process that may have taken days of work and months of tweaking is completed in less than four hours. And because everything is standardized and automated, you run much less risk of human error.

MongoDB Configs

One of the other massive benefits of working so closely with 10gen is that we've been able to integrate 10gen's MongoDB Cloud Subscriptions into our offering. Customers who opt for a MongoDB Cloud Subscription get additional MongoDB features (like SSL and SNMP support) and support direct from the MongoDB authority. As an added bonus, since the 10gen team has an intimate understanding of the SoftLayer environment, they'll be able to provide even better support to SoftLayer customers!

You shouldn't have to sacrifice agility for performance, and you shouldn't have to sacrifice performance for agility. Most of the "big data" offerings in the market today are built on virtual servers that can be provisioned quickly but offer meager performance levels relative to running the same database on bare metal infrastructure. To get the performance benefits of dedicated hardware, many users have chosen to build, roll out and tweak their own configurations. With our MongoDB offering, you get the on-demand availability and flexibility of a cloud infrastructure with the raw power and full control of dedicated hardware.

If you've been toying with the idea of rolling out your own big data infrastructure, life just got a lot better for you.

-Duke

January 17, 2012

Web Development - HTML5 - Web Fonts

All but gone are the days of plain, static webpages flowered with horrible repeating neon backgrounds and covered with nauseating animated GIFs created by amateur designers that would make your mother cry and induce seizures in your grandpa. Needless to say, we have come a long way since Al Gore first "created the intarwebs" in the early '90's. For those of you born in this century, that's the 1990's ... Yes, the World Wide Web is still very new. Luckily for the seven billion people on this lovely planet, many advancements have been introduced into our web browsers that make our lives as designers and developers just a little bit more tolerable.

Welcome to the third installment in Web Development series. If you're just joining us, the first posts in the series covered JavaScript Optimization and HTML5 Custom Data Attributes ... If you haven't read those yet, take a few minutes to catch up and head back to this blog where we'll be looking at how custom web fonts can add a little spice to your already-fantastic website.

If you're like me, you've probably used the same three or four fonts on most sites you've designed in the past: Arial, Courier New, Trebuchet MS and Verdana. You know that pretty much all browsers will have support for these "core" fonts, so you never ventured beyond them because you wanted the experience to remain the same for everyone, no matter what browser a user was using to surf. If you were adventurous and wanted to throw in a little typographical deviation, you might have created a custom image of the text in whatever font Photoshop would allow, but those days are in the past (or at least they should be).

Why is using an image instead of plain text unfriendly?

  1. Lack of Flexibility - Creating an image is time-consuming. Even if you have really fast fingers and know your way around Photoshop, it will never be as fast as simply typing that text into your favorite editor. Also, you can't change the styles (font-size, color, text-decoration, etc.) of an image using CSS like you can with text.
  2. Lack of Accessibility – Not everyone is alike. Some of your readers or clients may have impairments that require screen readers or a really large font. Using an image – especially one that doesn't contain a good long description – prevents those users from getting the full experience. Also, some people use text-only browsers that don't display any images. Think about your whole audience!
  3. More to Download – Plain text doesn't require the same number of bytes as an image of that same text. By not having another image, you are saving on the amount of time it takes to load your page.

Now that we're on the same page about the downsides of the "old way" of doing things, let's look at some cool HTML5-powered methods for displaying custom fonts. Before we get started, we need to have some custom fonts to use. Google has a nice interface for downloading custom fonts (http://www.google.com/webfonts), and there are plenty of other sites that provide free and non-free fonts that can suit your taste/needs. You can pick and choose which ones you'd like to use (remembering to always follow copyright guidelines), and once you've created and downloaded your collection of fonts, you'll need to setup your CSS to read them.

For simplicity, my file structure will be setup with the HTML and CSS files in the same root directory. I will have a fonts directory where I will keep all my custom fonts.

/fonts.html
/fonts.css
/styles.css
/fonts/MyCustomFont/MyCustomFont-Regular.ttf
/fonts/MyCustomFont/MyCustomFont-Bold.ttf
/fonts/...

My fonts.html file will include the two CSS files in the head section. The order in which you include the CSS files does not matter.

<link rel="stylesheet" type="text/css" href="fonts.css" />
<link rel="stylesheet" type="text/css" href="styles.css" />

The fonts.css file will include the definitions for all of our custom fonts. The styles.css file will be our main CSS file for our website. Defining our custom fonts (in fonts.css) is really simple:

@font-face {
    font-family: 'MyCustomFont';
    src: url('fonts/MyCustomFont/MyCustomFont-Regular.ttf') format('truetype');
}

It's almost too easy thanks to HTML5!

Let's break this down into its components to better understand what's going on here. The @font-face declaration will be ignored by older browsers that don't understand it, so this standards-compliant definition degrades nicely. The font-family descriptor is the name that you'll use to reference this font family in your other CSS file(s). The src descriptor contains the location of where your font is stored and the format of the font.

There are several things to note here. The quotes around MyCustomFont in the font-family descriptor are optional. If it were My Custom Font instead (in fonts.css and styles.css), it would still be successfully read. The quotes around the url portion are also optional. However, the quotes around the format portion are not optional. To keep things consistent, I have a habit of adding quotes around all of these items.

An alternative way to define the same font would be to leave off the format portion of the src descriptor. Browsers don't need the format portion if it's a standard font format (described below).

@font-face {
    font-family: 'MyCustomFont';
    src: url('fonts/MyCustomFont/MyCustomFont-Regular.ttf');
}

Like standard url inclusions in other CSS definitions, the URL item is relative to the location of the definition file (fonts.css). The URL may also be an absolute location or point to a different website altogether. If using the Google web fonts site mentioned earlier (or similar site), you may simply point the URL to the location suggested instead of downloading the actual font.

If you've dealt with web fonts before, you may already be familiar with the multiple formats: WOFF (Web Open Font Format, .woff), TrueType (.ttf), OpenType (.ttf, .otf), Embedded Open Type (.eot) and SVG Font (.svg, .svgz). I won't go into great detail here about these, but if you're interested in learning more, Google and W3C are great resources.

It should be noted that all browsers are not alike (no shock there) and some may not render some font formats correctly or at all. You can get around this by including multiple src descriptors in your @font-face declaration to try and support all the browsers.

@font-face {
    font-family: 'MyCustomFont';
    src: url('fonts/MyCustomFont/MyCustomFont-Regular.eot'); /* Old IE */
    src: url('fonts/MyCustomFont/MyCustomFont-Regular.ttf'); /* Cool browsers */
}

Now that we have our font definition setup, we have to include our new custom font in our styles.css. You've done this plenty of times:

h1, p {
    font-family: MyCustomFont, Arial;
}

There you go! For some reason if MyCustomFont is not understood, the browser will default to Arial. This degrades gracefully and is really simple to use. One thing to note is that even though your fonts.css file may define twenty custom fonts, only the fonts that are included and used in your styles.css file will be downloaded. This is very smart of the browser – it only downloads what it's going to use.

So now you have one more tool to add to your development box. As more users adopt newer, standards-compliant browsers, it's easier to give your site some spice without the headaches of creating unnecessary images. Go forth and impress your friends with your new web font knowledge!

Happy Coding!

-Philip

P.S. As a bonus, you can check out the in-line style declaration in the source of this post to see how "Happy Coding!" is coded to use the Monofett font family.

September 7, 2011

3DCart: Tech Partner Spotlight

This is a guest blog from 3DCart Co-founder and CEO Gonazlo Gil. 3DCart is a technology partner with a robust eCommerce platform hosting thousands of merchants all over the world ... And it's clear they have an enduring drive for innovation and value.

Company Website: http://www.3DCart.com/
Tech Partners Marketplace: http://www.softlayer.com/marketplace/3dcart

5 Must-Have Features in a Hosted Ecommerce Provider

In 1997, the concept that would eventually become 3DCart came into existence. I developed 3DCart with the idea of putting every single ecommerce tool and resource at the fingertips of web entrepreneurs so anyone with a computer could start their own online store. Today, we're still going strong, and we pride ourselves on launching new ecommerce features before the competition has a chance.

The market for shopping carts has exploded over the past decade. If you're considering the ecommerce business, choosing a shopping cart can get overwhelming. Because not all ecommerce software solutions are created equal, we've put together a list of five must-have features for aspiring entrepreneurs to consider when choosing a hosted ecommerce provider.

1. PCI Compliance to Protect Customer Information
You hear about it on the web, on the television, in the magazines: cyber-theft. Recent instances of online fraud (like the hack of Playstation's network) have caused online shoppers to stiffen up when it comes to sharing financial information. For your sake and the sake of your customers, it's important to put the minds of shoppers at ease as soon as they discover your brand.

Born from new rules created by the Payment Card Industry, PCI compliance standards are stringent guidelines for ensuring your online store is up to code in terms of security. The last thing you need as an online storeowner is responsibility for losing sensitive personal data to fraudsters. Beyond general culpability, you run the risk of losing trust in your brand, which could sink your business entirely.

The process for reaching PCI compliance is vigorous and expensive. That's why most ecommerce software providers undergo PCI compliance measures on their own — so online stores can offer security to their customers. It offers a little more peace of mind on both sides of the business relationship and ensures your transactions go through smoothly.

2. 24/7 Phone Support for Peace of Mind
You've worked with software companies before, so the possibility of 24/7 phone support might seem like a laughable service. True: not many software companies are in the business of employing an onshore support staff to have the phones manned all hours of the day. But that doesn't mean they aren't out there.

Not too long ago, 3DCart noticed a chance to further differentiate our company from the competition to offer 24/7/365 phone support for free to all of our customers. The idea behind the value-add was that your direct support lifeline shouldn't end just because business hours are over. It's been an extremely successful service for us, as well as for our customers.

Think about it: an online store doesn't close when the lights go out — especially if you do international business. The ability to connect after hours with a support team in the most extreme cases (downtime, bugs, etc.) is a huge factor and one that many customers cite as a reason for choosing our company.

3. Scalability/Adaptability to Handle Growth
The most successful online stores will inevitably have to scale up their ecommerce offering. Therefore, scalability becomes a huge criterion for finding the right hosted ecommerce provider.

But the ability to scale hosting volume as the business grows organically isn't the only important factor. If your store runs a promotion or gets a mention in a high-profile publication, it'll need to handle heavy traffic spikes. After all, you wouldn't want your store to crash right as it peaks in popularity.

A lot of hosted ecommerce solutions advertise scalability—but how do you know that they're telling the truth? A good way to find proof is to run through the company's case studies, usually hosted somewhere on the site. You're bound to come across one that demonstrates a specific instance of on-demand scaling. If that's not enough, contact the subject of the study directly for confirmation.

Customizability falls under this category as well. The more dynamic the shopping cart, the more control you have over your brand. Simple ways to manage your content are important and should be easy to manipulate with an intuitive CMS.

4. Comprehensive Feature Set for All-In-One Functionality
If you have a good business plan and know what you're going to sell, you probably already have a good idea of what features are going to be most crucial to your business. But that doesn't mean you won't need other features — some of which you might not grasp the importance.

Below are a few features that make the ecommerce experience a much more efficient, connected experience:

  • Autoresponders
    Setting and forgetting autoresponders is a great way to add some automation to your marketing plan. If you sell perishable goods for instance, you can set an automatic email to send to the customer when the lifespan of the product is up. It greatly increases the chances that they'll replace the item through your store.
  • Customer Relationship Manager
    Since you're hosting all of your data in the cloud, a built-in CRM platform is an important part of collecting analytics on customer behavior. You probably won't need all the functionality of Salesforce; a built-in CRM that has a lot of the same functionality automatically collects the data you need through your online store.
  • Great Marketing Tools
    Outside the box marketing tools like "Daily Deals," "Group Deals" and "Name Your Price" features greatly enhance conversion rates and make the selling process even more effective.
  • More Ways to Pay
    If you offer more payment portal integrations than your typical shopping cart, you give customers the option to pay using a comfortable, familiar process that increases the likelihood they'll make a purchase. Popular options include PayPal, Amazon Payments, Google Checkout and Authorize.net.
  • Partner Integrations
    To make a store more efficient, some shopping carts offer integrations with shipping resources (FedEx, UPS), fulfillment services and tax software. A direct data feed reduces manual administration and helps your store stay as efficient as possible, saving you time and money. You might even get discounts for services booked through your ecommerce provider.

5. Low Fees for a Lower Overhead
The pricing for hosted shopping carts usually revolves around bandwidth and feature sets, but there's a pitfall that some online store owners don't notice until it's too late: per-sale fees. There are some hosted shopping cart software platforms on the market that charge a percentage of every sale.

Another cost that new online storeowners run into is a setup fee. It's usually unnecessary and a way for the vendor to collect extra revenue. Pricing should revolve around hosting costs, feature sets and extra services like storefront design, period. Remember to check for hidden fees if you're evaluating an ecommerce software solution.

3DCart's Foundation
The five criteria listed above form the foundation of 3DCart software. Over the years, we've found that our customers have some of the most influential voices in the ecommerce industry. We've built a community on those voices that plays a huge role in defining how we do business.

If you're looking to break into the online retail industry and want a proprietary shopping cart that offers you the insights you need to keep your business growing smoothly, give us a shot for free.

-Gonzalo Gil, 3DCart

This guest blog series highlights companies in SoftLayer's Technology Partners Marketplace.
These Partners have built their businesses on the SoftLayer Platform, and we're excited for them to tell their stories. New Partners will be added to the Marketplace each month, so stay tuned for many more come.
July 30, 2010

One Size Doesn’t Fit All

All of my life I have been awkward in some way or another; afro in middle school, braces in high school, soccer player in a football loving town, not to mention that I have tripped at least once a day for roughly 11 years now. The most frustrating however, is that from middle school through high school, when clothing actually mattered, I was always too tall and too skinny to make any of the trendy threads fit me. Have you ever been able to find 28X33 jeans? I sure couldn’t. So I settled for 30X32’s and everyone enjoyed the visible cinch in my waist from my belt and a nice view of my sweet white tube socks shining from right below the cuff of my jeans.

When I was a kid, I could’ve sworn that we had a magical washing machine, because in the few instances when I actually found a nice small shirt that didn’t make me look like I had a blanket draped over my skinny bones, I went home, washed it like every normal human being does and presto chango, the drying machine would spit out a crop top circa 1980. Unless you are shopping for dress shirts or online, this predicament still haunts young, preteen boys such as my old self.

I’m sure that you can imagine my frustration as I always wished that someone would just offer more customization and options to provide me with a better fit. Instead of satisfying the customer, these companies limited their customer base by expecting the customer to bend and adjust to the options of the provider. But who is the servicer and who is supposed to getting serviced? Fortunately for those out there looking for cloud computing instances equipped with specific and varying RAM, CPU and storage needs, look no further. Softlayer Technologies now offers a revolutionary new service called Build Your Own Cloud (BYOC for short) that allows you to completely customize your cloud service and tailor it to your exact specifications. BYOC is featured in reviews by both Neovise and PCWorld. Neovise praises the new development stating that “This new ability to personalize the size and price of cloud servers can benefit every SoftLayer customer." The impressive part of this development is that we are the first and only ones offering such a service and once again we are on the cutting edge of technology and leading the way for other hosting services to follow. After all, in the words of Nathan Day, Softlayer’s CTO, “One thing we’ve learned along the way is that one size doesn’t fit all. (PCWorld)” So when considering who can meet your needs the best, just remember that at Softlayer, you can have it your way.

-Scott

Categories: 
Subscribe to custom