Digital Transformation is by far the buzz word of 2016. Almost all our customers are engaged in a Digital Transformation process to become more customer centric and request our assistance and guidance in this process.
The Digital Transformation of our customers runs over three main axis: People, Process and Technology. We assist our customers on all of these axis. We help them becoming more agile, by training people and helping with implementation of more agile processes. Implementing a DevOps way of working is a core part of this transition. Key to a DevOps way of working, is a technology stack to support this. The cloud is an important part of this stack. In fact, I dare to say the cloud is quintessential in supporting the Digital Transformation.
The reason for this is as simple as it is complex.
Cloud to accelerate
We come from an IT environment, where not so long ago the lead time on ordering new IT infrastructure and systems was months. Weeks at best. This fact alone made agile processes to implement new software innovations impossible. Over the last few years the progress made in this area has been astonishing. And the cloud has played an important part in this.
The cloud is in essence really not more than an abundant pool of computing and storage resources, ready to be consumed by any one, at any time, for any period of time, at a pay-per-use cost model. On top of this all public cloud vendors, Amazon with AWS, Microsoft with Azure, Google with Google Cloud Platform, have developed a layer of automation to request, implement and manage these resources. And all these actions are made available to operate through extensive API’s.
The difference between filling out a request form for a server and waiting for several weeks or sending out an API call and waiting for a few seconds or worst case a few minutes, is really the difference between being able to support agile development processes or not.
Infrastructure as code
The ability to request and operate compute and storage resources through an API enables us to incorporate the infrastructure and systems required into our software development stack. Infrastructure as Code. This is the main driver for setting up our DevOps teams. Both Dev and Ops guys and gals are developing software. The first to code functionalities for our customers, the latter to code resource implementations to support these functionalities.
This is however only the core, the beginning of the agile and cloud revolution of the last few years. On top of this core, cloud vendors and DevOps teams have started developing really tons of new applications. But not only cloud vendors and DevOps teams, also software vendors like Episerver and Sitecore have adopted the cloud as part of their standard implementation stack. This process has led to an ever growing integration between Dev and Ops.
Just last week I visited two different clients who are building their entire software architecture using cloud applications. S3, the AWS object store, in essence an application built and maintained by AWS to store and server file entirely through API’s. Redshift, the AWS data warehouse, an application built and maintained by AWS around Hadoop, also completely ready to be integrated into your application stack through its API’s. DynamoDB, the AWS NoSQL database. Elastic Container Service, the AWS Docker container orchestration application.
Just a few examples of cloud applications, created by the cloud vendor and offered as a service, which we can now integrate into our applications. Building “Cloud Native Applications”. The latest buzzword on our bingo card.
DTAP on request
These most recent developments in IT are really how we can successfully support the Digital Transformation of our customers. On top of this technology we have i.e. abandoned the whole concept of DTAP. DTAP in the old days was one Development, one Test, one Acceptance and one Production environment, on which to build, test and run the applications we were developing.
Nowadays we’ve fully automated the creation of software environments, from infrastructure to application and even data. Making it possible to create a new environment in a matter of minutes. For which purpose is completely up to you. And this is just one example of DevOps methods we use to assist our customers in an agile way of software development.
From requesting a new test server through paper request form and waiting for weeks, to selecting a new application environment, with a software build you just compiled, in minutes.
We've come a long way and the future is even brighter: no servers at all.