Posts Tagged 'Scalability'

December 5, 2012

Breaking Down 'Big Data' - Database Models

Forester defines big data as "techniques and technologies that make capturing value from data at an extreme scale economical." Gartner says, "Big data is the term adopted by the market to describe extreme information management and processing issues which exceed the capability of traditional information technology along one or multiple dimensions to support the use of the information assets." Big data demands extreme horizontal scale that traditional IT management can't handle, and it's not a challenge exclusive to the Facebooks, Twitters and Tumblrs of the world ... Just look at the Google search volume for "big data" over the past eight years:

Big Data Search Interest

Developers are collectively facing information overload. As storage has become more and more affordable, it's easier to justify collecting and saving more data. Users are more comfortable with creating and sharing content, and we're able to track, log and index metrics and activity that previously would have been deleted in consideration of space restraints or cost. As the information age progresses, we are collecting more and more data at an ever-accelerating pace, and we're sharing that data at an incredible rate.

To understand the different facets of this increased usage and demand, Gartner came up with the three V's of big data that vary significantly from traditional data requirements: Volume, Velocity and Variety. Larger, more abundant pieces of data ("Volume") are coming at a much faster speed ("Velocity") in formats like media and walls of text that don't easily fit into a column-and-row database structure ("Variety"). Given those equally important factors, many of the biggest players in the IT world have been hard at work to create solutions that provide the scale and speed developers need when they build social, analytics, gaming, financial or medical apps with large data sets.

When we talk about scaling databases here, we're talking about scaling horizontally across multiple servers rather than scaling vertically by upgrading a single server — adding more RAM, increasing HDD capacity, etc. It's important to make that distinction because it leads to a unique challenge shared by all distributed computer systems: The CAP Theorem. According to the CAP theorem, a distributed storage system must choose to sacrifice either consistency (that everyone sees the same data) or availability (that you can always read/write) while having partition tolerance (where the system continues to operate despite arbitrary message loss or failure of part of the system occurs).

Let's take a look at a few of the most common database models, what their strengths are, and how they handle the CAP theorem compromise of consistency v. availability:

Relational Databases

What They Do: Stores data in rows/columns. Parent-child records can be joined remotely on the server. Provides speed over scale. Some capacity for vertical scaling, poor capacity for horizontal scaling. This type of database is where most people start.
Horizontal Scaling: In a relational database system, horizontal scaling is possible via replication — dharing data between redundant nodes to ensure consistency — and some people have success sharding — horizontal partitioning of data — but those techniques add a lot of complexity.
CAP Balance: Prefer consistency over availability.
When to use: When you have highly structured data, and you know what you'll be storing. Great when production queries will be predictable.
Example Products: Oracle, SQLite, PostgreSQL, MySQL

Document-Oriented Databases

What They Do: Stores data in documents. Parent-child records can be stored in the same document and returned in a single fetch operation with no join. The server is aware of the fields stored within a document, can query on them, and return their properties selectively.
Horizontal Scaling: Horizontal scaling is provided via replication, or replication + sharding. Document-oriented databases also usually support relatively low-performance MapReduce for ad-hoc querying.
CAP Balance: Generally prefer consistency over availability
When to Use: When your concept of a "record" has relatively bounded growth, and can store all of its related properties in a single doc.
Example Products: MongoDB, CouchDB, BigCouch, Cloudant

Key-Value Stores

What They Do: Stores an arbitrary value at a key. Most can perform simple operations on a single value. Typically, each property of a record must be fetched in multiple trips, with Redis being an exception. Very simple, and very fast.
Horizontal Scaling: Horizontal scale is provided via sharding.
CAP Balance: Generally prefer consistency over availability.
When to Use: Very simple schemas, caching of upstream query results, or extreme speed scenarios (like real-time counters)
Example Products: CouchBase, Redis, PostgreSQL HStore, LevelDB

BigTable-Inspired Databases

What They Do: Data put into column-oriented stores inspired by Google's BigTable paper. It has tunable CAP parameters, and can be adjusted to prefer either consistency or availability. Both are sort of operationally intensive.
Horizontal Scaling: Good speed and very wide horizontal scale capabilities.
CAP Balance: Prefer consistency over availability
When to Use: When you need consistency and write performance that scales past the capabilities of a single machine. Hbase in particular has been used with around 1,000 nodes in production.
Example Products: Hbase, Cassandra (inspired by both BigTable and Dynamo)

Dynamo-Inspired Databases

What They Do: Distributed key/value stores inspired by Amazon's Dynamo paper. A key written to a dynamo ring is persisted in several nodes at once before a successful write is reported. Riak also provides a native MapReduce implementation.
Horizontal Scaling: Dynamo-inspired databases usually provide for the best scale and extremely strong data durability.
CAP Balance: Prefer availability over consistency,
When to Use: When the system must always be available for writes and effectively cannot lose data.
Example Products: Cassandra, Riak, BigCouch

Each of the database models has strengths and weaknesses, and there are huge communities that support each of the open source examples I gave in each model. If your database is a bottleneck or you're not getting the flexibility and scalability you need to handle your application's volume, velocity and variety of data, start looking at some of these "big data" solutions.

Tried any of the above models and have feedback that differs from ours? Leave a comment below and tell us about it!

-@marcalanjones

August 1, 2012

SoftLayer + Open Source + OSCON

While a handful of SoftLayer employees made their way to Boston for HostingCon, another ragtag group of SLayers journeyed to Portland to attend OSCON &mdash: the Open Source CONvention. OSCON attracts 2,500+ passionate members of the open source community, so the conference sessions and expo hall are filled with the most creative and innovative people on the Web. That's where we want to be.

Over the past few years, we've built a great reputation at OSCON as not only a great hosting provider, but also as the operator of one of the best booths on the expo hall floor. As usual, the switchballs were crowd pleasers, and we sponsored the show's Massage Booth, so we had great traffic through our booth all conference. When attendees left our booth, they were considerably more relaxed, they had the coolest swag at the show, and they had a better understanding of where SoftLayer fits in the open source space.

In addition to the conversations on the expo hall floor, we got to share a little expertise in a conference session. Senior Software Architect Harold Hannon presented an engaging educational session about how we implemented elasticsearch, Apache-based code that allows for scalable search for all kinds of documents in near real-time. At the moment, SoftLayer uses elasticsearch internally for hardware and ticketing, and we hope to extend this feature-rich scalable searching to our customers in an upcoming release of the customer portal. Because SoftLayer has built a great reputation for executing scalability well, Harold ended up presenting to a packed house (which you can see in the last few pictures of the slide show above).

SoftLayer's significant investment in open source platforms like OpenStack Swift Object Storage and CloudStack-based Private Clouds wound up being a big topic of discussion throughout the conference. Harold's elasticsearch presentation was a great conversation bridge to talk about the incredible search-and-retrieve functionality we implemented in our Object Storage service, and we were able to share and demonstrate how that functionality helps our customers manage large quantities of static data in cloud environments in an automated way.

The open source community has matured significantly over the past few years, and it's exciting to see that evolution. We aren't just talking about the incredibly popular open source operating systems like CentOS, Debian, Fedora, FreeBSD and Ubuntu that customers can get on a dedicated or cloud server ... We're talking about game-changing, innovative platforms that are redefining how the Internet works.

We want to thank the OSCON team for another phenomenal show, and if you attended the show but didn't get a switchball from us, I'm sure you'll have another chance at OSCON 2013. If you don't think you can wait that long, come find us at one of our other upcoming events!

-Summer

Categories: 
February 16, 2012

Cloudant: Tech Partner Spotlight

This is a guest blog from our featured Technology Partners Marketplace company, Cloudant. Cloudant enables you to build next-generation data-driven applications without having to worry about developing, managing, and scaling your data layer.

Company Website: https://cloudant.com/
Tech Partners Marketplace: http://www.softlayer.com/marketplace/cloudant

Cloudant: Data Layer for the Big Data Era

The recipe for big data app success: Start small. Iterate fast. Grow to epic proportions.

Unfortunately, most developers' databases come up short when they try to simultaneously "iterate fast" and "grow to epic proportions" — those two steps are most often at odds. I know ... I've been there. In a recent past life, I attacked petabyte-per-second data problems as a particle physicist at the Large Hadron Collider together with my colleagues and Cloudant co-founders, Alan Hoffman and Adam Kocoloski. Here are some lessons we learned the hard way:

  1. Scaling a database yourself is brutally hard (both application level sharding and the master-slave model). It is harder with SQL than it is with NoSQL databases, but either way, the "scale it yourself" approach is loaded with unknowns, complications and operational expense.
  2. Horizontal scaling on commodity hardware is a must. We got very good at this and ended up embedding Apache CouchDB behind a horizontal scaling framework to scale arbitrarily and stay running 24x7 with a minimal operational load.
  3. The data layer must scale. It should be something that applications grow into, not out of.

That last point inspired Alan, Adam and me to co-found Cloudant.

What is Cloudant?
Cloudant is a scalable data layer (as a service) for Big Data apps. Built on CouchDB, JSON, and MapReduce, it lets developers focus on new features instead of the drudgery of growing or migrating databases. The Cloudant Data Layer is already big: It collects, stores, analyzes and distributes application data across a global network of secure, high-performance data centers, delivering low-latency and non-stop data access to users no matter where they're located. You get to focus on your code; we've got data scalability and availability covered for you.

Scaling Your App on Cloudant
Cloudant is designed to support fast app iteration by developers. It's based on the CouchDB NoSQL database where data is encapsulated and transferred as JSON documents. You don't need to design and redesign SQL data models or migrate databases in order to create new app features. You don't need to write object-relational mapping code either. The database resides behind an HTTP layer and provides a rich permission model, so you can access, secure and share your data via a RESTful API.

Your app is a tenant within a multi-tenant data layer that is already big and scalable. You get a URL end point for your data layer, get data in and out of it via HTTP, and we scale and secure it around the globe. Global data distribution and intelligent routing minimizes latency between your users and the data, which can add 100s of milliseconds per request (we've measured!). Additionally, Cloudant has an advanced system for prioritizing requests so that apps aren't affected by 'noisy neighbors' in a multi-tenant system. We also offer a single-tenant data layer to companies who want it — your very own white-labeled data cloud. As your data volume and IO requests rise (or fall), Cloudant scales automatically, and because your data is replicated to multiple locations, it's always available. Start small and grow to epic proportions? Check.

Other Data Management Gymnastics
The Cloudant Data Layer also makes it easy to add advanced functionality to your apps:

  • Replicate data (all of it or sub-sets) to data centers, computers or even mobile devices for local processing (great for analytics) or off-line access (great for mobile users). Re-synching is automatic.
  • Perform advanced analytics with built-in MapReduce and full-text indexing and search.
  • Distribute your code with data — Cloudant can distribute and serve any kind of document, even HTML5 and other browser-based code, which makes it easy to scale your app and move processing from your back-end to the browser.

Why We Run on SoftLayer
Given the nature of our service, people always ask us where we have our infrastructure, and we're quick to tell them we chose SoftLayer because we're fanatical about performance. We measured latencies for different data centers run by other cloud providers, and it's no contest: SoftLayer provides the lowest and most predictable latencies. Data centers that are thousands of miles apart perform almost as if they are on the same local area network. SoftLayer's rapidly expanding global presence allows Cloudant to replicate data globally throughout North America, Europe and Asia (with plans to continue that expansion as quickly as SoftLayer can build new facilities).

The other major draw to SoftLayer was the transparency they provide about our infrastructure. If you run a data layer, IO matters! SoftLayer provisions dedicated hardware for us (rather than just virtual machines), and they actually tell us exactly what hardware we are running on, so we can tweak our systems to get the most bang for our buck.

Get Started with Cloudant for Free
If you're interested to see what the Cloudant Data Layer could do for your app, sign up at cloudant.com to get your FREE global data presence created in an instant.

-Michael Miller, Cloudant

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.
February 14, 2012

Open Source, OpenStack and SoftLayer

The open-source model has significantly revolutionized not only the IT industry but the business world as well. In fact, it was one of the key "flatteners" Thomas Friedman covered in his tour de force on globalization — The World is Flat. The trend toward collaborating on online projects — including open-source software, blogs, and Wikipedia — remains one of "the most disruptive forces of all."

The success of open-source projects like Linux, Ruby on Rails, and Android reveals the strength and diversity of having developers around the world contributing and providing feedback on code. The community becomes more than the sum of its parts, driving innovation and constant improvement. The case has been made for open source in and of itself, but a debate still rages over the developing case for businesses contributing to open source. Why would a business dedicate resources to the development of something it can't sell?

The answer is simple and straightforward: Contributing to open source fosters a community that can inspire, create and fuel the innovation a business needs to keep providing its customers with even better products. It makes sense ... Having hundreds of developers with different skills and perspectives working on a project can push that project further faster. The end result is a product that benefits the open-source community and the business world. The destiny of the community or the product cannot be defined by a single vendor or business; it's the democratization of technology.

Open-Source Cloud Platforms
Today, there are several open-source cloud platforms vying for industry dominance. SoftLayer has always been a big proponent and supporter of open source, and we've been involved with the OpenStack project from the beginning. In fact, we just announced SoftLayer Object Storage, an offering based on OpenStack Object Storage (code-named Swift). We'll provide code and support for Swift in hopes that it continues to grow and improve. The basic idea behind Swift Object Storage is to create redundant, scalable object storage using clusters of standardized servers to store petabytes of accessible data. I could go on and on about object storage, but I know Marc Jones has a blog specifically about SoftLayer Object Storage being published tomorrow, and I don't want to steal too much of his thunder.

We have to acknowledge and embrace the heterogeneous nature of IT industry. Just as you might use multiple operating systems and hypervisors, we're plan on working with a variety of open-source cloud platforms. Right now, we're looking into supporting initiatives like Eucalyptus, and we have our ear to the street to listen to what our customers are asking for. Our overarching goal is to provide our customers with much-needed technologies that are advancing the hosting industry, and one of the best ways to get to that end is to serve the needs of the open-source community.

As I write this blog post, I can't help but think of it in terms of a the Lord of Rings reference: "One ring to rule them all." The idea that "one ring" is all we need to focus on as a hosting provider just doesn't work when it comes to the open-source community ... It all comes down to enabling choice and flexibility. We'll keep investing in innovation wherever we can, and we'll let the market decide which ring will rule where.

What open-source projects are you working on now? How can SoftLayer get involved?

-Matt

October 18, 2011

Adding 'Moore' Storage Solutions

In 1965, Intel co-founder Gordon Moore observed an interesting trend:"The complexity for minimum component costs has increased at a rate of roughly a factor of two per year ... Certainly over the short term this rate can be expected to continue, if not to increase."

Moore was initially noting the number of transistors that can be placed on an integrated circuit at a relatively constant minimal cost. Because that measure has proven so representative of the progress of our technological manufacturing abilities, "Moore's Law" has become a cornerstone in discussions of pricing, capacity and speed of almost anything in the computer realm. You've probably heard the law used generically to refer to the constant improvements in technology: In two years, you can purchase twice as much capacity, speed, bandwidth or any other easily-measureable and relevant technology metric for the price you would pay today and for the current levels of production.

Think back to your first computer. How much storage capacity did it have? You were excited to be counting in bytes and kilobytes ... "Look at all this space!" A few years later, you heard about people at NASA using "gigabytes" of space, and you were dumbfounded. Fastforward a few more years, and you wonder how long your 32GB flash drive will last before you need to upgrade the capacity.

32GB Thumb Drive

As manufacturers have found ways to build bigger and faster drives, users have found ways to fill them up. As a result of this behavior, we generally go from "being able to use" a certain capacity to "needing to use" that capacity. From a hosting provider perspective, we've seen the same trend from our customers ... We'll introduce new high-capacity hard drives, and within weeks, we're getting calls about when we can double it. That's why we're always on the lookout for opportunities to incorporate product offerings that meet and (at least temporarily) exceed our customers' needs.

Today, we announced Quantastor Storage Servers, dedicated mass storage appliances with exceptional cost-effectiveness, control and scalability. Built on SoftLayer Mass Storage dedicated servers with the OS NEXUS QuantaStor Storage Appliance OS, the solution supports up to 48TB of data with the perfect combination of performance economics, scalability and manageability. To give you a frame of reference, this is 48TB worth of hard drives:

48TB

If you've been looking for a fantastic, high-capacity storage solution, you should give our QuantaStor offering a spin. The SAN (iSCSI) + NAS (NFS) storage system delivers advanced storage features including, thin-provisioning, and remote-replication. These capabilities make it ideally suited for a broad set of applications including VM application deployments, virtual desktops, as well as web and application servers. From what I've seen, it's at the top of the game right now, and it looks like it's a perfect option for long-term reliability and scalability.

-@nday91

October 11, 2011

Building a True Real-Time Multiplayer Gaming Platform

Some of the most innovative developments on the Internet are coming from online game developers looking to push the boundaries of realism and interactivity. Developing an online gaming platform that can support a wide range of applications, including private chat, avatar chats, turn-based multiplayer games, first-person shooters, and MMORPGs, is no small feat.

Our high speed, global network significantly minimizes reliability, access, latency, lag and bandwidth issues that commonly challenge online gaming. Once users begin to experience issues of latency, reliability, they are gone and likely never to return. Our cloud, dedicated, and managed hosting solutions enable game developers to rapidly test, deploy and manage rich interactive media on a secure platform.

Consider the success of one of our partners — Electrotank Inc. They’ve been able to support as many as 6,500 concurrent users on just ONE server in a realistic simulation of a first-person shooter game, and up to 330,000 concurrent users for a turn-based multiplayer game. Talk about server density.

This is just scratching the surface because we're continuing to build our global footprint to reduce latency for users around the world. This means no awkward pauses, jumping around, but rather a smooth, seamless, interactive online gaming experience. The combined efforts of SoftLayer’s infrastructure and Electrotank’s performant software have produced a high-performance networking platform that delivers a highly scalable, low latency user experience to both gamers and game developers.

Electrotank

You can read more about how Electrotank is leveraging SoftLayer’s unique network platform in today's press release or in the fantastic white paper they published with details about their load testing methodology and results.

We always like to hear our customers opinions so let us know what you think.

-@nday91

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.
September 5, 2011

How Scalable Are You?

The Northeastern part of the United States saw two natural disasters within the span of five days of each other. The first was in the Washington, D.C. area: A 5.8 earthquake on August 23, 2011. On August 28, Hurricane Irene made her way up the east coast, leaving nearly 5.5 million people without power. We do everything we can to prepare our facilities for natural disasters (generator power backup, staffing, redundant bandwidth links and providers, etc.), and given the recent events, now might be a good time to start thinking about how your servers respond when something out of the ordinary happens ... Let's look at two relatively easy ways you can set your business up to scale and recover.

The first option you may consider would be to set up a multi-tiered environment by deploying multiple servers in various geographical locations. Your servers in each location could be accessed via load balancing or round robin DNS. In this kind of high-availability environment, your servers could handle the incoming requests more quickly with the load being split amongst the multiple data centers. The failover would be just a few seconds should you lose connectivity to one of the locations.

The second option to consider would be the private image repository for our CloudLayer Computing. This options allows you to save a private image template in different data centers, each ready for quick deployment without having to install and configure the same operating system and applications. Should you need additional resources or lose connectivity to your instance in one facility, you can deploy the saved image in another facility. The failover time would be only in the provisioning process of the Computer Instance ... which doesn't take too long.

Scalability makes sense no matter what situation you may be facing – from natural disaster to hitting the front page of Reddit. If you have any questions about these scalability options, "Click to Chat" on our site or give us a call and a sales rep can help you get prepared. Your infrastructure may have come through these recent events unscathed, but don't let that lull you into a false sense of security. The "It's better to be safe than sorry" cliche is a cliche for a reason: It's worth saying often.

-Greg

October 19, 2010

Sunshine on a Cloudy Afternoon

A lot of time has been spent talking about the advantages of the cloud. I thought it might be instructive to explore some of the pros and cons from the point of view of a software company.

There are a couple of things to keep in mind:

  1. It goes without saying that not all software companies (or products for that matter) are the same. There is a significant difference between developing and supporting a complex HR package and a word processor.
  2. The cloud will be viewed differently depending where a company is in its life cycle. Consider traditional software companies life Microsoft and SAP versus companies like Salesforce.com or Workday that have started life as SaaS providers.

Pros
Recurring Revenue / Cost Models - A business model based upon monthly recurring revenue has some significant advantages over the traditional license, implementation and maintain model that many vendors use. The predictability of the model makes it easier forecast revenues and costs, thus making enterprise planning easier.

Expanding the Customer Base - A recurring revenue model is also beneficial for a customer because they do not have to worry about significant upfront costs. In effect the cloud helps to expand the customer audience by potentially making a solution affordable across a broader base.

Scalability - The cloud provides that ability to scale up (or down) dependent on customer demand. This means that a vendor only pays for what it uses. Compare this to a model when Company X is dependent on forecasts to drive server / firewall / storage purchases. The end result is often stranded capital. Certainly these dollars are better put to use trying to find new customers and serve existing ones?

Infrastructure - If your cloud provider is good at what they do (like SoftLayer is!); infrastructure inside the DC (servers, memory, storage) and outside the DC (primarily network) will evolve as the market does. Company X will benefit from innovation without paying for it.

Cons
Pre-existing Business Models - Some software companies will simply be cloud-averse. While the cloud may make sense from a development and testing perspective, it may make less sense from a business model perspective. If the company’s revenue model is based on a traditional license, implementation and maintenance model, a shift to the cloud introduces challenges as pricing models and revenue recognition models (i.e. a move to recurring monthly charges) are likely to change. This is not insignificant and if the market isn’t screaming for a change, then change will not come.

Application Customization - A move to the cloud will mean that significant customization on a customer by customer basis makes less sense. It is more cost effective to service multiple customers on a single platform versus multiple customers on individual platforms, particularly if the traditional license, implementation and maintenance model disappears. At the end of the discussion, many customers may need significant customization. Of course this is dependent upon the solution being sold.

A key consideration with the challenges outlined above is that they are mostly at customer touch points. Use of the cloud still makes sense when the consideration is internalized - development and testing environments will still find a useful home in the clouds.

What do you think?

-Sean

Categories: 
October 24, 2008

Pushing the Microsoft Kool-Aid

Recently on one of our technical forums I contributed to a discussion about the Windows operating system. One of our director’s saw the post and thought it might be of interest to readers of the InnerLayer as well. The post focused on the pros and cons of Windows 2008 from the viewpoint of a systems / driver engineer (aka me). If you have no technical background, or interest in Microsoft operating system offerings, what follows probably will not be of interest to you—just the same, here is my two cents.

Microsoft is no different than any other developer when it comes to writing software--they get better with each iteration. There is not a person out there who would argue that the world of home computers would have been better off if none of us ever progressed beyond MS-DOS 1.0. Not to say there is anything wrong with MS-DOS. I love it. And still use it occasionally doing embedded work. But my point is that while there have certainly been some false starts along the way (can you say BOB), Microsoft's operating systems generally get better with each release.

So why not go out and update everything the day the latest and greatest OS hits the shelves? Because as most of you know, there are bugs that have to get worked out. To add to that, the more complex the OS gets, the more bugs there are and the more time it takes to shake those bugs out. Windows Server 2008 is no different. In my experience there are still a number of troublesome issues with W2K8 that need to be addressed. Just to name a few:

  • UAC (user access control) - these are the security features that give us so much headache. I'm not saying we don't need the added security. I'm just saying this is a new arena for MS and they still have a lot to learn. After clicking YES, I REALLY REALLY REALLY WANT TO INSTALL SAID APPLICATION for the 40th time in a day, most administrators will opt to disable UAC, thereby thwarting the added security benefits entirely. If I were running this team at MS I'd require all my developers to take a good hard look at LINUX.
  • UMD (user mode drivers) - the idea of running a device driver, or a portion of a device driver, in the restricted and therefore safe user memory of the kernel is a great idea in terms of improving OS reliability. I've seen numbers suggesting that as many as 90% of hard OS failures are caused by faulty third-party drivers mucking around in kernel mode. However implementing user mode drivers adds some new complexities if hardware manufacturers don't want to take a performance hit and from my experience not all hardware vendors are up to speed yet.
  • Driver Verification - this to me is the most troublesome and annoying issue right now with the 64-bit only version of W2K8. Only kernel mode software that has been certified in the MS lab is allowed to execute on a production boot of the OS. Period. Since I am writing this on the SoftLayer blog, I am assuming most of you are not selecting hardware and drivers to run on your boxes. We are handling that for you. But let me tell you it’s a pain in the butt to only run third party drivers that have been through the MS quality lab. Besides not being able to run drivers we have developed in house it is impossible for us to apply a patch from even the largest of hardware vendors without waiting on that patch to get submitted to MS and then cleared for the OS. A good example was a problem we ran into with an Intel Enet driver. Here at SoftLayer we found a bug in the driver and after a lot of back and forth with Intel's Engineers we had a fix in hand. But that fix could not be applied to the W2K8 64-bit boxes until weeks later when the fix finally made it from Intel to MS and back to Intel and us again. Very frustrating.

Okay, so now that you see some of the reasons NOT to use MS Windows Server 2008 what are some of the reasons it’s at least worth taking a look at? Well here are just a few that I know of from some of the work I have done keeping up to speed with the latest driver model.

  • Improved Memory Management – W2K8 issues fewer and larger disk I/O's than its 2003 predecessor. This applies to standard disk fetching, but also paging and even read-aheads. On Windows 2003 it is not uncommon for disk writes to happen in blocks
  • Improved Data Reliability - Everyone knows how painful disk corruption can be. And everyone knows taking a server offline on a regular basis to run chkdsk and repair disk corruption is slow. One of the ideal improvements in terms of administering a websever is that W2K8 employs a technology called NTFS self-healing. This new feature built into the file system detects disk corruption on the fly and quarantines that sector, allowing system worker-threads to execute chkdsk like repairs on the corrupted area without taking the rest of the volume offline.
  • Scalability - The W2K8 kernel introduces a number of streamlining factors that greatly enhance system wide performance. A minor but significant change to the operating system's low level timer code, combined with new I/O completion handling, and more efficient thread pool, offer marked improvement on load-heavy server applications. I have read documentation supporting claims that the minimization in CPU synchronization alone results directly in a 30% gain on the number of concurrent Windows 2008 users over 2003. That's not to say once you throw in all the added security and take the user mode driver hit you won't be looking at 2003 speeds. I'm just pointing out hard kernel-level improvements that can be directly quantified by multiplying your resources against the number of saved CPU cycles.

Alright, no need to beat a dead horse. My hope was if nothing else to muddy the waters a bit. The majority of posts I read on our internal forums seemed to recommend avoiding W2K8 like the plague. I'm only suggesting while it is certainly not perfect, there are some benefits to at least taking it for a test drive. Besides, with SoftLayer's handy dandy portal driven OS deployment, in the amount of time it took you to read all my rambling you might have already installed Windows Server 2008 and tried it out for yourself. Okay, maybe that's a bit of an exaggeration. But still...you get the idea!

-William

Categories: 
Subscribe to scalability