Welcome!

DevOps Journal Authors: Yeshim Deniz, Elizabeth White, Pat Romanski, Mike Kavis, Roger Strukhoff

Related Topics: DevOps Journal, Java, .NET, Linux, Virtualization, Cloud Expo

DevOps Journal: Article

DevOps Lessons for Small Businesses

Bootstrapping your developer resources

As Eric Reis, pioneer of the lean startup movement notes, a software startup's ability to succeed depends solely on how quickly and inexpensively they can try new features. The challenge is if you are a typical startup, you are your ops team and development resources are the biggest determinant of time-to-market, and developers are your most expensive and highest ROI resources.

If you could save each member of a four-person developer team 10% of his/her time, you could reduce time-to-market, reduce cost, try more experiments that increase your chances of success, delay hiring, and keep your burn rate under control. A DevOps approach can hold this promise.

For this reason, improving your DevOps workflow to eliminate inefficiencies should be a top priority for every technology-driven startup, no matter how small. And doing it sooner is more beneficial than later because more can be accomplished in less time with the right workflow in place.

Yet, according to the InformationWeek 2014 DevOps Survey, only 68% of startups are familiar with the DevOps concept. While this survey is small, it appears to be a representative figure based on firsthand experience. The numbers may be even lower among attention-stretched owners of technology-driven small businesses. In fact, when asked, most startup owners are indeed aware of DevOps and know they need to implement a DevOps approach but don't feel they have the time or knowledge.

The top barriers to implementing DevOps, according to the PuppetLabs 2013 State of DevOps survey, are cultural and hierarchical; these challenges are much less likely to exist in a small business where teams are smaller and more agile. But the pain of onboarding skilled labor with technical expertise and DevOps perspective may be greater. Many businesses are just getting on with business, and with recent price reductions in AWS costs, this number will likely increase.

While implementing a DevOps framework retroactively has challenges, it is still worth the effort. At Flux7, we recently recognized this lesson first hand during a complex "Internet of Things" project. Although we had proposed a DevOps model early on, we'd been unable to convince the client of the value in taking the time and resources up front to establish a DevOps framework that would support and streamline development workflow. As such, nearly a year into the project, with more than 100,000 lines of code produced, we were beginning to fall behind schedule and resources would need to be added to meet objectives. It was in the tenth month of the project that we convinced our client that investing in a developer productivity solution would achieve cost and resource savings. The result just may have saved thousands of dollars in development and delayed delivery.

Our engineers built an entire multi-tenancy without code change, creating a transparent DevOps solution that extended beyond a typical framework. The system is designed to auto-deploy and auto-scale using a NoSQL Cassandra database that collects time series data. Because DevOps processes were applied, developer productivity during the project was greatly increased.

The framework supports a continuous delivery model that will ease future development process and ease infrastructure management.

Why Your Devs Can't Fix These Issues?
While one of the missions of your devs is to help build your framework and make your processes easier, the question above is intentionally worded incorrectly.

Your devs are smart, and they have confidence that they can fix the issues being posed. You, as the leader, share the same confidence. However, while fixing these operational issues can be their job, you really have to ask two things.

First, is this the best use of their time? Second, will their output be the best and all encompassing? The answer to both questions is likely a "no." The reason is that at the end of the day, the value proposition of a startup is based on the features it provides to its end consumers. Your developers know your code base, and they can add features faster than anyone else. If you take them away from feature development and hand them code cleaning tasks that can be done by an outside entity, it will be a mistake.

Solving some of these tasks is an art, not just a science. It is about implementing best practices that are only learned over time from doing the same thing repeatedly. Your devs have likely not created a dozen AWS setups before now. While they will likely reach a good solution, they may miss details that can come back to haunt you later.

Pre-Canned Solutions Won't Work
Startups are an anti-pattern for pre-canned solutions. If you subscribe to the Lean model, agility is the key. Agility can only be achieved if there is freedom and flexibility. Any pre-canned solution that reduces agility will add negative value to your company. A stable application may be a perfect candidate for a pre-canned solution, but startups are not.

An outside partner with experience in DevOps consulting - one that has its finger on the pulse of configuration management solutions, ops productivity, auto-scaling implementation, and even best practices in AWS - can certainly help startups proceed in the most effective way to move DevOps projects forward within your organization.

Such a consultant is fully focused on helping an organization build, maintain and optimize DevOps processes. They are capable of evaluating your needs and creating a DevOps plan that will identify skills shortage and cope to meet demands with limited resources, while meeting head on the technical requirements, as well as the practical and political challenges.

As a result, they will have a strong understanding about how to make the best use of your experienced developers. They will effectively improve communication between dev and ops. Quickly, redundancies will disappear within the developer environment, and visibility will increase as the process unfolds. Cost savings will mount, starting with minimizing expensive bug fixes that are usually found in pre-production, and too often in production.

Finally, all of this can begin to produce a streamlined DevOps team by first eliminating the need for an ops guy. Your dev team will be fully functional and self-sufficient employing best practices in AWS, saving unnecessary headaches and time-wasting Googling. Then there's the anticipated and celebrated reduction in your AWS costs from using advanced techniques you may have been previously too busy to put in place.

Seven ways consultants can help

  1. Make the best use of your existing developers
  2. Minimize the time wasted due to lack of DevOps communication
  3. Minimize cruft in your environment and increase visibility into the process
  4. Minimize expensive bugs that are caught pre-production or, God forbid, in production
  5. Eliminate the need for an ops guy
  6. Employ AWS best practices to save you the headache and googling
  7. Reduce your AWS costs using advanced techniques you may be too busy to implement

Conclusion: DevOps and Small Business Are Like PB&J
Peanut butter and jelly are a match made in flavor heaven. They belong together, just like, yes ... DevOps and startups.

The continuity and seamless technology abound in a development environment ripe with a framework launched from a DevOps plan. Startups benefit from this because of the realization of the better managing and streamlining of their IT and developer resources and getting to market faster. Now, who wouldn't like such a delicious taste as that.

This kind of approach effectively works for a startup because devs become immensely productive by continuing to create using their native machines with all their tools and IDEs. Meanwhile, compute requirements are minimal, therefore existing hardware is utilized. The expected result is no bugs due to mismatches between local production environments. What's more, devs can work offline at any time, won't pollute their machines with packages and different versions, and repeal the tendency to learn new commands, all while running your website locally and accessing logs natively in real-time for immediate feedback.

As for the ops team, requests from the dev team are eliminated that normally hold up development environments. And, thankfully, there will be fewer debates around "this passed on my machine" due to parity in development and production, as well as fewer queries in regard to the production environment.

And, guess what... C-level decision-makers benefit in such a flavorable approach. Consider that new developers can now be productive within an hour by running a single command. There's the leveraging of higher quality software and the excitement of a reduced time-to-market. As for saving dollars, the existing dev team becomes more productive, while erasing the need to deal with talent shortages and adding salaries; there are reductions in overall spending, lowering the need to raise capital; and, best of all, this allows you to focus on other important areas, such as thought leadership, development and brand management, instead of spending so much time on code.

Whats in It for the Devs?

  • Devs are immensely productive because they work on their native machines with all their tools and IDEs
  • Compute requirements are minimal so existing hardware is used
  • No bugs due to mismatch between local production environments
  • Dev can work offline
  • Devs do not pollute their machines with packages and different versions
  • Devs do not have to learn new commands
  • Website is run locally and logs are accessible natively in real-time for fast feedback

Whats in It for the Ops?

  • No requests from devs to standup dev environments
  • Fewer debates around "this passed on my machine" due to parity in dev and production
  • Fewer queries about the production environment

Whats in It for the CXOs?

  • New developers to be productive within an hour by running a single command
  • Higher quality software
  • Reduced time to market
  • Tackles the  talent shortage by making the existing team more productive
  • Reduces spending lowering the need raise capital
  • Less time spent on code allows CXOs to focus on other tasks like thought leadership development and brand management

Be aware that the next rush of business innovation is happening now as it rides the wave of reduced AWS costs. You don't want to be left out because of an ineffective development team. Do the hard yards first. Then get valuable help, so you can definitely ensure your business is set up for success as early as possible.

More Stories By Aater Suleman

Aater Suleman, CEO & Co-Founder at Flux7, is an industry veteran in performance optimization on servers and distributed systems. He earned his PhD at the University of Texas at Austin, where he also currently teaches computer systems design and architecture. His current interests are in optimizing DevOps and reducing cloud costs.

Comments (0)

Share your thoughts on this story.

Add your comment
You must be signed in to add a comment. Sign-in | Register

In accordance with our Comment Policy, we encourage comments that are on topic, relevant and to-the-point. We will remove comments that include profanity, personal attacks, racial slurs, threats of violence, or other inappropriate material that violates our Terms and Conditions, and will block users who make repeated violations. We ask all readers to expect diversity of opinion and to treat one another with dignity and respect.


Latest Stories from DevOps Journal
DevOps Summit at Cloud Expo Silicon Valley announced today a limited time free "Expo Plus" registration option through September. On site registration price of $1,95 will be set to 'free' for delegates who register during special offer. To take advantage of this opportunity, attendees can use the coupon code, and secure their registration to attend all keynotes, DevOps Summit sessions at Cloud Expo, expo floor, and SYS-CON.tv power panels. Registration page is located at the DevOps Summit site. Your DevOps Summit registration will also allow access to @ThingsExpo sessions and exhibits. Register For DevOps Summit "FREE" (limited time) ▸ Here
High performing enterprise Software Quality Assurance (SQA) teams validate systems are ready for use – getting most actively involved as components integrate and form complete systems. These teams catch and report on defects, making sure the customer gets the best software possible. SQA teams have leveraged automation and virtualization to execute more thorough testing in less time – bringing Dev and Ops together, ensuring production readiness. Does the emergence of DevOps mean the end of Enterprise SQA? Does the SQA function become redundant?
Achieve continuous delivery of applications by leveraging ElasticBox and Jenkins. In his session at DevOps Summit, Monish Sharma, VP of Customer Success at ElasticBox, will demonstrate how you can achieve the following using ElasticBox and the ElasticBox Jenkins Plugin: Create consistency across dev, staging, and production environments Continuous delivery across multiple clouds to handle high loads Ensure consistent policy management across environments: tagging, admin boxes, traceability Spin up machines and environments quickly Deploy applications to any cloud Enable real-time collaboration between developers and operations
The old monolithic style of building enterprise applications just isn't cutting it any more. It results in applications and teams both that are complex, inefficient, and inflexible, with considerable communication overhead and long change cycles. Microservices architectures, while they've been around for a while, are now gaining serious traction with software organizations, and for good reasons: they enable small targeted teams, rapid continuous deployment, independent updates, true polyglot languages and persistence layers, and a host of other benefits. But truly adopting a microservices architecture requires dramatic changes across the entire organization, and a DevOps culture is absolutely essential.
Docker offers a new, lightweight approach to application portability. Applications are shipped using a common container format and managed with a high-level API. Their processes run within isolated namespaces that abstract the operating environment independently of the distribution, versions, network setup, and other details of this environment. This "containerization" has often been nicknamed "the new virtualization." But containers are more than lightweight virtual machines. Beyond their smaller footprint, shorter boot times, and higher consolidation factors, they also bring a lot of new features and use cases that were not possible with classical virtual machines.
WaveMaker CEO Samir Ghosh is taking a new pass at aPaas, and leveraging the increasingly popular Docker open-source platform, with the announcement of WaveMaker Enterprise. The new version of the company's eponymous software “enables instant, end-to-end custom web app creation and management by professional and non-professional developers (alike) and development teams,” according to the company. We asked Samir a few questions about this, and here's what he had to say: Cloud Computing Journal: You've mentioned the previous challenge of business-side developers making that jump from design to deployment. What sort of learning curve will they still face with Wavemaker Enterprise? Samir Ghosh: “Business-side developers” can include non-programming business users or professional developers under tight schedules or with limited mobile or front-end programming expertise. Both can use WaveMaker to meet their app development needs, but may have different deployment needs. I think business users just want their app to run as easily as possible. In WaveMaker, they can literally click a button and their application will run, either on our public cloud or on the enterprise’s private...
Leysin American School is an exclusive, private boarding school located in Leysin, Switzerland. Leysin selected an OpenStack-powered, private cloud as a service to manage multiple applications and provide development environments for students across the institution. Seeking to meet rigid data sovereignty and data integrity requirements while offering flexible, on-demand cloud resources to users, Leysin identified OpenStack as the clear choice to round out the school's cloud strategy. Additionally, the school sought a partner to provide OpenStack infrastructure deployment and operations expertise. They ultimately selected Blue Box’s Private Cloud as a Service, powered by OpenStack, leveraging Blue Box's Zurich, Switzerland data center.
In a world of ever-accelerating business cycles and fast-changing client expectations, the cloud increasingly serves as a growth engine and a path to new business models. Dynamic clouds enable businesses to continuously reinvent themselves, adapting their business processes, their service and software delivery and their operations to achieve speed-to-market and quick response to customer feedback. As the cloud evolves, the industry has multiple competing cloud technologies, offering on-premises and off-premises cloud platforms for both Infrastructure as a Service (IaaS) and Platform as a Service (PaaS). In parallel, cloud standards are also evolving, including community standards like OpenStack and CloudFoundry. Most organizations who are adopting the Cloud today are ending up adopting it in complex ‘dynamic-hybrid’ environments. There is physical infrastructure that now co-exists along with the new dynamic-hybrid on-premises and off-premises Cloud hosted environments.
This story came in from Joseph – one of our fellow dynaTrace users and a performance engineer at a large fleet management service company. Their fleet management software runs on .NET, is developed in-house, is load tested with JMeter and monitored in Production with dynaTrace. A usage and configuration change of their dependency injection library turned out to dramatically impact CPU and memory usage while not yet impacting end user experience. Lessons learned: resource usage monitoring is as important as response time and throughput. On Wednesday, July 3, Joseph’s ops team deployed the latest version into their production environment. Load (=throughput) and response time are two key application health measures the application owner team has on their production dashboards.
The recent trends like cloud computing, social, mobile and Internet of Things are forcing enterprises to modernize in order to compete in the competitive globalized markets. However, enterprises are approaching newer technologies with a more silo-ed way, gaining only sub optimal benefits. The Modern Enterprise model is presented as a newer way to think of enterprise IT, which takes a more holistic approach to embracing modern technologies. This model makes use of Composable Enterprise framework put forward by Jonathan Murray of WMG.