In case you haven’t heard the news, Microsoft recently announced that it is open-sourcing PowerShell and will be bringing it to both Linux and OS X. And not only that, but Microsoft has also open-sourced the .NET framework and PowerShell Editor Services, making them available for Linux and OS X at the PowerShell GitHub repository.
Transformation & Agility
Transformation & Agility concerns the utilization of the technical agility derived from the benefits delivered by virtualization and cloud computing, coupled with Agile Development practices that improve business agility, performance, and results. This includes the agility derived from: (Read More)
- The implementation of Agile and DevOps methodologies
- The application and system architectures
- The implementation of IaaS, PaaS, and SaaS clouds
- Monitoring of the environment, coupled with processes for resolving problems quickly
- Having continuous availability through the use of high-availability and disaster recovery products and procedures
Transformation covers the journey from A to Z and all points between: how you get there and the roads you will travel; how decisions made on day zero or one, or even day three, will affect later decisions; and what technical, operational, and organizational pitfalls can be associated with an implementation. We examine what tool sets are required for Agile Cloud Development, and it delves into other aspects of Agile Development that integrate with cloud computing, SaaS, and PaaS environments, including DevOps, Scrum, XP, and Kanban.
Just in case you have been living under a rock for the last month or so, Pokémon Go has become the latest mobile phone gaming craze. It is based on the Nintendo game Pokémon, in which you travel around a mythical land capturing, training, and then fighting these creatures called “Pokémon” (pocket monsters) with other Pokémon hunters.
What is interesting about this particular game is the interactive nature and the fact that it is based in the real world. For a technical viewpoint, read my fellow analyst’s post on the subject here. The fact that it actually gets the kids out of their darkened rooms and into the wild outdoors, gaining valuable vitamin D for their sun-starved teenage skin, is a bonus.
As I think back over the journey from physical, to virtual, to cloud, to containers, there is one technology that stands out—one that has fundamentally moved our mindset away from static resources and has caused a serious shift in how we license, secure, and even think about technology. For me, that shift started the first time I saw vMotion in action (vMotion moves a virtual machine from one host to another without taking the virtual machine down or stopping the running application, and without disaster striking). This one instance shifted my worldview of computing from one in which resources are static to one where they are truly virtual—where the underlying infrastructure in many ways just did not matter. This one technology paved the way for the future of computing.
Secure Agile Cloud Development takes Agile and DevOps to the next level. It is about code quality, based not just on what the developers test, but also on the application of continuous testing and on dynamic and static code analysis. Most importantly, it is about a repeatable and trackable process by which we can make code quality assessments. We can find out the “who did what, when, where, how, and why” of our code. It is a useful tool in incident response. Imagine a world in which our production environments are run entirely by code.
I recently gave a Bright Talk session on adding security to the Agile Cloud/DevOps Development cycle. Part of this discussion addressed adding security testing as part of the process before, during, and even after continuous deployment. In other words, if we continually deploy, we must continually test. Our testing needs to be in the multi-minded parallel process we use for modern development, not the single-minded pipeline acceptable to most DevOps or agile processes. In the past, a team of people would test, each working independently to improve our software. We need similar capabilities within our automated processes. How do we achieve this? How do we add automated, continual testing? And where can we add this to our process or pipeline?