Why env0
Solutions
Infrastructure as Code (IaC) Automation Teams and GovernanceManaged Self-Service env0 for the Enterprise
DocumentationPricing
Resources
Case StudiesIn the NewsVideosWebinars
Blog
Login
Get a Demo
FREE TRIALContact us
Jan 24, 2020

The Cloud Revolution — A Developer’s Timeline

Ohad Maislish
CEO & Co-founder

An overview of the main trends that have pushed the Cloud industry — and the world — forward, in the past decade and a half.

The Rise of the Virtual Machines

I remember the first time I heard about VMware. It was 2002 and we needed a way to run Linux on a Windows OS. I was blown away to see it working for the first time, on what was then a VMware Workstation. Those years were the beginning of VMWare ESX and its competition Xen (later acquired by Citrix). Back then, if you ran a company you needed a dedicated room for the physical servers, switches, air-conditioning, and everything else that surrounded the computers. It wasn’t clear at first just how much virtualization would change the IT market.

Dawn of the Cloud Era

A few years later, in 2007, I was lucky enough to work at a startup named B-Hive networks. Why lucky? Because in 2008 we were acquired by VMWare and we saw first-hand how everybody was starting to talk about “the cloud”. However, VMWare struggled to build its own cloud and focused on working with other companies to build cloud datacenters on top of VMWare’s technology. VMWare, using its products ESX and vCenter (later vSphere), partnered with Terremark and saw how AWS was becoming bigger and bigger (starting with EC2 and S3 services).

IaaS, PaaS, and SaaS

Around 2010 it was amazing to see how many new solutions were being introduced, and at such a rapid pace. Engineers started to think more about the operational side of their software. Where will my code run? On an EC2 instance (IaaS)? Will I manage my own server or maybe it would be better to run it on a Platform-as-a-Service (PaaS)? Heroku, AWS Elastic Beanstalk and later Azure PaaS were great choices. Or, even better, I could choose not to write any code at all and use Software-as-a-Service (SaaS) that solved my own problem. NewRelic, and then SendGrid, Stripe and Auth0 were (and still are) great choices.

Configuration management

At the same time, teams wrote code (mainly scripts in languages like Bash, Perl, and Python) in order to manage different environments. It was becoming impossible to manage these larger and more complex environments without automation. Chef, Puppet, and later Ansible became the standard way to manage different environments, each environment with its different configuration. Environment creation was still a largely infrequent and manual exercise, with configuration management scripts that used to bring life to the otherwise empty infrastructure.

Docker and Kubernetes

Around 2014, Docker made containers easy to use, and developers everywhere enthusiastically embraced the power of containers, seemingly overnight. Developers could write their own Dockerfile and have exactly what they needed (and nothing more) running in the container. A quick deployment of software into production multiple times a day became common practice at leading companies. The challenge of orchestrating thousands of containers, and managing things like networking, service discovery, etc., led to Google releasing Kubernetes and the era of cloud-native computing.

Serverless

In 2014, AWS launched its Lambda service as an alternative to having any infrastructure whatsoever. From now on, there would be no need to pay for compute resources until they were being used. Pay only for what you consume. Your entire system would run purely on demand. Lambda was initially used for isolated, specific tasks. Nowadays, we see more and more systems that are built using serverless for the system as a whole, not merely using it for small parts of the system.

Infrastructure as Code

The transition from a few monolithic systems to hundreds or thousands of microservices composed into cloud-native applications has made production environments much more complicated. Clicking different buttons in the AWS/GCP/Azure web interface is not scalable if you wish to manage those clicks, run them again in a similar, but slightly different environment, and align your ops organization with the developers. Several tools were created to help tackle this problem, including HashiCorp Terraform, AWS CloudFormation, and Pulumi. They all strive to enable automated, reproducible, testable and self-documented infrastructure. More and more companies of all sizes and types are using Infrastructure as Code to manage their cloud resources.

What’s Next? Managed Infrastructure as Code!

If I were to predict, I’d claim that the use of Infrastructure as Code will continue to grow. Companies will increase their Infrastructure as Code usage, and use it in a more dynamic way, as well as for additional scenarios.

The challenge will shift. The main question will be how to work well in an organization that embraces Infrastructure as Code. A new set of questions will arise: How to synchronize the work between different Infrastructure as Code developers as well as the runs? How do you enable self-service throughout the organization for people who are not Infrastructure as Code experts? How do you manage different users and permissions? How do you ensure that nobody abuses the access and triggers huge cloud provider costs? How do you proactively reduce these costs, delegating the responsibility for different R&D teams? How do you provide the management, governance and visibility your organization needs?

We believe that solutions like env0 will become vital in order to manage the Infrastructure as Code work within organizations. The complexity and scale of modern software environments are simply too big for human operators to manage alone with no extensive automated help in place. In the same way virtual machines became an industry standard a few years ago, we’re expecting platforms like env0 to become the new standard very soon.

Interested in learning more about env0?
Request a Demo
SHARE
You may also like
Day 0 Environment Creation
Share outputs between IaC stacks
Chris' Corner - March 2023
Go back to blog
CNCF Member Badge
Company
About UsIn the NewsPress ReleasesCase StudiesAdditional ResourcesCareers
Developer and DevOps
APITerraform ProviderTerratag Open Source
Terraform Cloud AlternativeDIY AlternativeAtlantis Alternative
FREE TRIAL
Follow Us
Terms of ServicePrivacy PolicySecuritySystem Status
© Copyright env0 2023
This website uses cookies. We use cookies to ensure that we give you the best experience on our website. Learn More
PreferencesDenyAccept
Privacy Preference Center
When you visit websites, they may store or retrieve data in your browser. This storage is often necessary for the basic functionality of the website. The storage may be used for marketing, analytics, and personalization of the site, such as storing your preferences. Privacy is important to us, so you have the option of disabling certain types of storage that may not be necessary for the basic functioning of the website. Blocking categories may impact your experience on the website.
Reject all cookiesAllow all cookies
Manage Consent Preferences by Category
Essential
Always Active
These items are required to enable basic website functionality.
Marketing
These items are used to deliver advertising that is more relevant to you and your interests. They may also be used to limit the number of times you see an advertisement and measure the effectiveness of advertising campaigns. Advertising networks usually place them with the website operator’s permission.
Personalization
These items allow the website to remember choices you make (such as your user name, language, or the region you are in) and provide enhanced, more personal features. For example, a website may provide you with local weather reports or traffic news by storing data about your current location.
Analytics
These items help the website operator understand how its website performs, how visitors interact with the site, and whether there may be technical issues. This storage type usually doesn’t collect information that identifies a visitor.
Confirm my preferences and close