Access data faster. Lower storage costs. Streamline development faster.
During this tutorial, I will explain some of the basics to start programming with PebbleJS. I will use images to illustrate the concepts we will find step-by-step. Advance documentation can be found on the Pebble site.
Containers. Containers Everywhere. (Photo Courtesy of Flickr)
Here at Load Impact, we're focused on enabling DevOps teams to create more resilient software with massive scalability. We have seen the use of container technology enable DevOps teams to move faster, test more often and create higher quality software in recent years.
Shannon Williams is the co-founder and VP of Sales and Marketing for Rancher Labs, a software platform for deploying a private container service. The company has also developed RancherOS, a minimalist OS built explicitly to run on Docker.
Rancher Labs prides itself on developing the next generation of cloud software, and their innovative technology enables customers to fully realize the benefits of containers in a scalable production environment.
Note: Load Impact contributing writer and consultant Peter Cannell conducted this Q-and-A. He's previously worked with Shannon at other startups.
Q: Where would you say the industry is in terms of adoption of DevOps today?
A: That is a great question and a fun question because it's changing as we speak. Five years ago we were talking to customers about deploying applications in the cloud and we got alot of blank stares. People would literally point to their ITIL volumes on the shelf. Customers had spent the previous 10 years getting to this point where applications ran reliably, but with this came the era of change control.
Fast forward to today and you see banks that have DevOps teams, healthcare organizations that are responding to the backlash of the business to be more agile. These business have to respond to competitors that are able to roll out powerful technology in a fraction of the time, all while giving users amazing experiences.
The pendulum has swung from the change control era to the golden age of DevOps, or DevOps 2.0. The emergence of containers, cloud services and microservices has allowed for rapid-fire upgrades to applications and is a testament to what is happening out there today.
I'm always excited when I talk to teams using Rancher who have been given a mandate by leadership in operations or even the CIO to drive agility. From our perspective it's a brilliant time to be involved in DevOps as the broad majority of customers build, test and deploy software better than before.
Q: I couldn't agree more. It's great to hear your confirmation of the same dynamics we are seeing in the marketplace.
A: What is amazing is the people in these DevOps roles used to be viewed working on the least sexy part of IT. Now all of a sudden these teams are a strategic advantage. There is an enormous increase in salaries and demand for people that understand application lifecycles and operations today.
Q: Is it that we are getting just faster at deploying features today or is the overall quality better as well?
A: Good question. I think it's both, but it's not uniform across the customer base. Moving infrastructure as a service and Continuous Integration doesn't mean that everything becomes easy. There are plenty of pitfalls and growing pains and political resistance. Fundamentally we are seeing better quality as people design applications and infrastructure for failure. Additionally, so many new tools have been developed such as automated load testing like Load Impact is doing, automated inspection of elements and monitoring.
Companies are rethinking logging, monitoring and implement testing to be as dynamic as the rest of what they are doing — the net outcome is a dramatic improvement in both quality and quantity of code. Not only does feature function accelerate, but application stability and resilience improves as well.
I see this with all the customers I work with — it's not as if the infrastructure is better, servers and networks still fail — but the designing for failure, building for resilience has been ingrained in developers now.
Q: I love the concept of resilience. What we see is, and tell me if you agree, is development teams are running more tests and earlier in the development cycle than ever before. Developers are running load and performance tests that used to be the domain of operations & networking. Are you seeing this dynamic as well?
A: We are absolutely seeing this! What is amazing is that with containers now, customers are bringing up a mirror of production in their development environment. They are testing feature functionality, systems tests throughout the development cycle on their own cluster. We enable this with Rancher as a container service for organizations adopting Docker. As Rancher is rolled out one thing we see immediately is better testing because development mirrors production. Upgrades get more reliable, frequency of updates improves dramatically.
Customers want that magic unicorn like experience of faster releases, better stability, more reliability. There is another aspect to this I want to add which is easier incorporation of more developers. The environment is more accessible to new developers and easier to build upon. As micro-services permeate application development the interdependencies become easier to understand and new developers can ramp up faster.
Q: Let's switch gears a little and touch on containers vs VMs in customer environment.
A: What is amazing is containers can't really take off without the infrastructure of virtual machines that is out there today. I don't see a fundamental conflict between containers and VMs. There are cases where a VM is only being used for automation and in those cases containers are a good replacement. Containers and VMs tend to be very compatible and with most Rancher (and likely Docker) customers are running on top of a VM. I don't think that VMs from a host-resource management perspective is going away anytime soon.
Q: Let's talk more about Rancher. Where would you typically see Rancher deployed in an organization? Is it running on laptops like you might see with Docker images?
A: No, Rancher is more of a cluster management component. Moving a container from a developer's laptop to multiple hosts in the datacenter or a cloud environment is where a container service like Rancher becomes really compelling. The value of Rancher comes in when you are moving an application through the DevOps lifecycle. It is an orchestration and automation platform tied together with infrastructure services that are specific to containers.
With containers you have portability of the image making them ubiquitously deployable on linux, on windows (in the near future), you have this new component that can run anywhere. Fundamentally you still have the networking, storage, all the elements surrounding the container are very different from cloud to cloud, host to host, etc.
Rancher implements is constant storage & networking around the containers. By creating "micro-SDNs" between containers and deploying consistent storage services attached to containers (and can be ported between environments) and organization gains a layer of computing that runs identically on any infrastructure.
The same way a container runs identically on your laptop and in the cloud, an entire application blueprint can be created and not only will the containers run properly but the networking & storage will as well. Without having to do integration to the underlying cloud service you get orchestration, management and even load balancing that is consistent. The real value here is complete portability of an entire service.
Q: Who are the typical users of Rancher within a large enterprise today?
A: Today Rancher is open source (and in beta) and we have tens of thousands of downloads. We also have over 1000 companies who have formally joined the beta program. What we find is that DevOps, Cloud architects and development teams (that own applications) are who gets the most excited about Rancher within an organization.
Once Rancher is in place and they have deployed an application it tends to get shared. The platform is very collaborative and is designed to be multi-tenant and quickly it expands. The consumer of Rancher can be anyone from a point-focused project all the way to a priority for an entire IT department looking to deploy containers enterprise-wide.
Q: Let's step back in time a bit and think back to our days at Teros and application security. We haven't talked about security much on this call and in the past security has been viewed as slowing things down, slow to adopt new changes and not really any of the things we have talked about.
Where do you see security being incorporated in these new environments?
A: I think it depends on the organization. Customers want to understand how we isolate environments, how are we handling encryption, network traffic. Key & secret management is an important part of running an application as well.
It think security, like so many other things, is a reflection of the size and maturity of the organization. For organizations that have aggressively adopted DevOps, security has joined the party. Those teams are seeing this as a way to accelerate innovation and instead of resisting change they are deploying new tools to enhance security.
In organizations where DevOps is a newer phenomena security can be an issue. You may run into teams that are more traditional and tend to push back on the pace of change. That is a fight (resisting change) that security will always lose.
It's just a matter of time for security organizations who haven't adopted this pace of change to realize they are a critical part of this process. They need to be coming up with new solutions instead of resisting where the business is going.
Most security teams want to be part of this dynamic, faster changing world. Many organizations we talk to have either started to get security on board or are starting that process now. I don't think we will be talking about this problem in 3 or 4 years.
Q: I think we will see a number of new security innovations as these micro-services evolve. We are starting to see a new term, SecOps, emerge as well. I'm excited to see what this brings.
A: Being able to do things like distributing agents as micro-services to containers, inspecting the network and model behaviors, what containers talk to what containers, security will just get better. We are seeing the application of machine learning and big data to take all of this new data about applications and how things normally communicate and behave - and apply security.
A wink of the Load Impact eye to Shannon for taking the time for this interview and his market insight. This is an exciting time to be in the evolving world of DevOps and it is great to hear directly from one of the most innovative companies in this space.
Drone technology has accelerated in recent years while costs have put very capable drones within reach of consumers as well as enterprises. Many advances in recent years have been around hardware platforms — better batteries, more robust airframes and high-resolution cameras.
More money and resources are currently being spent on hardware innovations as this industry is still in its early stage. It shouldn't be a surprise to anyone in technology that drones are here to stay and in a big way. What may be surprising is the pace at which they become ubiquitous in everyday life.
According to Marketwatch drone sales topped $1.33B in 2014, and according to Fortune that figure was $2.5B, growing at 15-to-20 percent annually. The sky is the limit for commercial use drones and these figures don't even include military spending, which is an entire topic unto itself.
As recently as this year we have seen increases in investment and new innovation on the software that runs the drone, the ground stations and its cloud services. This is the exciting area for us, since we aren't hardware guys (at least not in our day jobs).
I actually think there will be a similar correlation to enterprise computing in the drone space. Hardware will eventually become a commodity and the real innovation will come from software and related services.
Software exists today on the drone itself in the form of a flight controller. The flight controller interfaces the with a wide array of sensors including GPS, accelerometers, GPS, airspeed, barometric pressure, temperature, etc. All of which are inputs which can affect flight.
The flight controller is responsible for taking input from the ground station or pre-set waypoints and making sure the drone is where it's supposed to be, utilizing complex control algorithms such as PID (Proportional Integral Derivative). Even relatively inexpensive "toy" drones can do this today quite well.
The most popular open source flight controller is the ArduPilot Mega or "APM." It was one of the first autopilots for drones — both land and air — and is a great low-cost, ubiquitous controller for drones. (Note that APM is sponsored by 3D Robotics now).
If you are building a drone from the ground up, then selecting a flight controller is a decision point to be visited. Most users, however, will buy a platform with an appropriate controller already integrated into the platform.
Where today's software developers will be most comfortable is the second area of innovation for drone software: Ground/control stations. The most common platform for this software is a mobile device — primarily Android but also IOS. Today there are a number of off-the-shelf, proprietary controllers for drones. In fact, most drones sold today will include their own app to control the drone and pull images & telemetry data from it.
Consumers can enjoy small control stations like tablets or smartphones (photo courtesy of appleinsider)
Development kits have recently emerged allowing custom apps to be built that interface with flight controllers. Companies like 3D Robotics have an entire development platform allowing app developers to custom build applications.
These applications run on Android and can be on a mobile device or even a "companion computer" running on the drone itself. Regardless, this software interfaces with the flight controller and provides intelligence and computing power to accomplish mission's tasks.
The final area of innovation we want to discuss in this post is around cloud services. This is the area most likely to see rapid innovation as the number of drones in use increases exponentially.
Drones are able to capture and send a wide array of data and images while in use. Everything from generating aerial view maps to gathering environmental data or even traffic data. The analysis, processing and correlation of this data is computationally intensive and best suited to cloud processing.
What is also very well suited to the cloud is correlation of data from multiple drones. 3D robotics is one of the first with a beta cloud platform that can be fed data from the ground station via cellular network (or wifi). This is extremely powerful from several different perspectives.
First, if this is done in realtime, then sharing live data — while in flight, for instance — with a large number of users becomes possible. This obviously requires hosted or cloud services because a drone or even the ground station both lack the processing power and bandwidth to serve multiple requests for imaging, telemetry, etc. That simply wouldn't scale.
The other exciting possibility is correlation between data from multiple drones. Fleet management is very relevant for commercial applications, and several vendors, such as Airwave, already offer solutions in this space. In a Fortune article last year, Airwave CEO Jonathan Downey talked about the value of the data being a key driver in their business.
A much bigger picture can be created by looking at the entire dataset and applying big data analytics when a fleet of drones is in use.
A great commercial example of this would be security drones. Let's say you wanted to augment physical security with a fleet of 10 drones that buzz around a campus gathering data and images. All that data could be stored in the cloud and analyzed, looking for patterns that could indicate suspicious activity or security threats.
Because these cloud services can publish data using a REST interface, this information can easily be integrated into other applications such as physical security stations at a guard post, live monitoring apps or GIS mapping.
Drone technology is in its infancy, so the possibilities for use in everyday life are hard to envision. With hardware costs falling rapidly we will see more innovative uses and an explosion in the number of drones in use.
The exciting part for us will be the cloud services built around this industry and how they scale and perform. We expect to see an acceleration on the software related to drones as developers think of new ways to leverage this platform and all the related business opportunities.
Every now and then we take a break from developing the best performance and load testing tool on the planet to read about new trends, best practices and the overall state of website, app and API development.
One of the core benefits of DevOps is sharing code's performance with the entire development team throughout the entire development process.
Last week we saw some very high profile — "glitches," as they were called — with the NYSE, Wall Street Journal's website and United Airline's websites. Public confidence in systems like the NYSE are critically important, so it's no surprise we were immediately informed there was no cyberattack.
This post is about a concept called Second System Syndrome, defined by Fred Brooks, in his book “The Mythical Man Month“:
This blog post by Hans Idink was originally posted on Orgis.com. Orgis is a Netherlands-based company full of masterful developers and designers who create knowledge management systems, design websites, offer project analysis and much more.