DevOps practices are becoming a staple of companies worldwide and include industry giants such as Netflix, Etsy, and Google. However, even though these companies are a shining beacon of the power and effectiveness of DevOps practices, the scale of their operations can be intimidating. People always say that these are “special” companies and what works for them will not work in any other business. There are certain phrases DevOps consultants hate to hear: “This can’t work here” and “We’ve always done it this way.” In today’s IT landscape adaptation is crucial and companies that fail to adopt DevOps practices are sure to go extinct in the near future.
If we think about modern-day industry giants such as Google, Amazon, Twitter, LinkedIn and many others, they did not achieve such drastic growth overnight. They began as regular run-of-the-mill companies just like everybody else, with monolithic code bases and unreliable deploys. Over time, they were able to grow their operations and become industry leaders. However, they still face the same problems as everyone else and even though the scale of their solutions is much greater, what all companies can learn from their case studies is that they are constantly working to improve what they do.
The most common question from business leaders is “How do we get started with DevOps?” In essence, you have two directions in which you can go: you try to cut deployment time in half, or you can say “Deployment time takes too much time. We will do half as many.” The latter is the wrong direction.
Setting a goal, such as cutting deployment time in half will get your organization streamlining and eliminate any unnecessary processes. It will also promote teams to extract those processes from the minds of a few people and put them into something like a batch script or a simple document so these processes can easily be repeated across the team and tasks can get accomplished simultaneously.
Also, keep in mind that you don’t have to do a hard-left enterprise-wide shift to DevOps. You can start with small projects or small, minor automations that which will free up a lot of time. Begin with an incremental project-by-project basis or automation tool-by-automation tool basis. Regardless of the way you begin using DevOps, be sure to have a management environment that promotes taking chances and learning from mistakes.
Most industry giants and small businesses alike have decided to use Amazon Web Services (AWS) to implement their DevOps operations, but you need to choose the one that best works for you. Some alternatives are Google Cloud Platform, Microsoft Azure, IBM Blumix among others. Conduct some research on the various platforms out there and choose the easiest one to work with and the one that best suits your overall needs.
When we talk about moving to the cloud, we talk about saving time and money, but we rarely mention saving on opportunity costs. These costs are difficult to calculate, but spending a lot of time and intellectual capital on the various heavy lifting of IT infrastructure provisioning at scale usually means sacrificing the quality of your product to some extent. DevOps with AWS as the underlying platform can be the spark you need to deploy nonstop innovation to reduce opportunity costs for your business. Imagine reaching new clients or going further with your current ones and having full confidence that you are constantly rolling out innovative products. DevOps with AWS allows your business to continuously come out with frequent and incremental features and services and do so securely, as opposed to waiting weeks, months, or sometimes even years in a traditional IT software model.
With the help of DevOps, you can reduce the time and costs associated with managing and securing your environment, providing information on your environment’s performance or monitoring network traffic. You can use AWS Code Deploy to patch through your instances and enjoy complete governance over your cloud infrastructure by knowing the state of your environment with AWS Config.
With all the automation going on in the cloud, why not automate your documentation as well? Imagine being audited every day, yet still having the ability to provide the necessary documentation as quickly as doing a web search. This is possible with AWS Lambda. Not only can you use AWS Lambda to automate your document workflow, but you can also build things like compliance wikis and a continuously updated dashboard.
Testing new ideas can be even faster with AWS Cloud Formation by spinning up parallel environments in the cloud programmatically. You can say “goodbye” to the “Well it works on my computer” excuse for good because this tool provides your testers and developers a through, production-esque environment to genuinely test the scalability and performance of their app. You can also conduct scale-out testing and without impacting production, while still being able to test for compatibility. Thanks to the cloud, dev/test environments can be short-lived and dismantled or rebuilt to start all over again day-after-day.
In order to keep up with customer demands and the ever-evolving IT environment, implementing DevOps is a matter of life and death for your business. In the current IT business, there is no such thing as standing still. You are either getting an advantage, or you are falling behind. Without DevOps, your business will fall so far behind that it will risk going the way of the dinosaurs.
There are much more ways DevOps can reenergize your company. However, one thing is certain: implementing DevOps practices is a proven method to save your company both time and money while focusing on innovation. This ensures the overall success of your business in the long run.
Stanislav Ivaschenko is a certified AWS solutions architect at Squadex with more than ten years of professional experience in building, delivering, supporting and optimizing a broad range of software applications. From bare metal to the cloud, from monolith architecture to microservices his expertise and experience help to meet business needs for startups, mid-sized companies and large enterprises. He has experienced a large number of DevOps and infrastructure related tools, services and management practices.