Login | Register   
LinkedIn
Google+
Twitter
RSS Feed
Download our iPhone app
TODAY'S HEADLINES  |   ARTICLE ARCHIVE  |   FORUMS  |   TIP BANK
Browse DevX
Sign up for e-mail newsletters from DevX


advertisement
 

Working with Cloud-Based Development Environments

Big data belongs in the cloud and has become much more reasonable to run the applications that manage, sift and display the data in the cloud as well.


advertisement

Today's software is served from the cloud and the world's data is stored in the cloud. The benefits are clear. Let the cloud platform providers deal with the complexities of managing servers and data centers, let the users enjoy continuous experience across multiple devices and let developers focus on their applications. In this article, I'll focus on developer tools that migrated to the cloud. Development shops used to run servers in the office or rented servers from private hosting providers. This is not necessary anymore. All functions can now be served on the cloud.

Cloud Platforms

First and foremost are the cloud platforms themselves: AWS, Google Cloud, Microsoft Azure and a few smaller ones. IBM is the leader when it comes to managing private clouds. There is no argument any more that deploying your software to the cloud is the superior option for most use cases (exceptions are regulated industries and super sensitive projects). When you deploy to the cloud, you enjoy from the benefits of scale, the best technology and the best operations teams looking after your deployments. When you factor in the cost of system administration, it ends up being a pretty good deal for most developers.

Source Control

Source control is dominated by git these days. GitHub is a household name and lets you create as many public repositories as you want for free. You have to pay for private repositories. GitLab is another great option. It is not as established as GitHub, but it offers better deals, including free unlimited private repos and complete CI/CD pipelines. BitBucket is yet another option, but it is not the core business of Attlassian so it gets less attention and the development pace is slower. It obviously has great integration with Jira and Confluence.

CI/CD

Continuous integration and continuous deployment are important aspects of modern development. There are several services that provide those capabilities such as Travis CI, CircleCI, Drone.io and Codeship. Cloud providers often offer integrated solutions as well.

Monitoring and Central Logging

Modern Web-scale distributed systems run on many machines. Monitoring and logging can no longer be done by connecting to each machine and tailing log files. Central logging and monitoring services in the cloud like Loggly, Grafana.net, Greylog, Splunk and DataDog are popular options. Sentry is an amazing service for analyzing exceptions. New Relic is expansive, but gives you great insight into what your system is doing.



Even if you go for a homegrown solution based on the popular ELK (Elasticsearch, LogStash and Kibana) or something like Prometheus + Grafana, you will probably deploy them in the cloud.

Cross-Platform, Mobile and Cross-Browser Testing

Cloud Testing has many benefits. You can scale your test clients easily to perform serious load and stress tests. Configure many test environments and elastically manage your test machine fleet. There are many services for browser and mobile testing. Some of the popular solutions are BrowserStack, SauceLabs and Selenium.

A/B Testing

A/B Testing is about testing different versions of your application to compare user response and allow you to choose the best options with the least amount of risk. Predicting user reactions to changes in design are not very reliable. A/B testing lets you off the hook by using empirical studies. Optimizely is leading the pack there. But, there are others such as VWO and AB Tasty.

Project Management, File Sharing, Knowledge Management and Issue Tracking

This is another important category or categories. I lump them all together because you often see integrated solutions that combine them. Google and Microsoft offer free storage and office suites. Attlasian has a string showing for project management and issue tracking with Jira and knowledge management with Confluence. Dropbox and Box offer solutions for individual developers as well as teams. Dropbox is a common way for developers and artists to share assets.

Conclusion

Big data belongs in the cloud, there is no question about it. At that point it has become much more reasonable to run the applications that manage, sift and display the data in the cloud as well. This approach supports many different clients on many devices, all synchronized and allowing the servers in the cloud to do the heavy lifting.



   
Gigi Sayfan is the chief platform architect of VRVIU, a start-up developing cutting-edge hardware + software technology in the virtual reality space. Gigi has been developing software professionally for 21 years in domains as diverse as instant messaging, morphing, chip fabrication process control, embedded multi-media application for game consoles, brain-inspired machine learning, custom browser development, web services for 3D distributed game platform, IoT/sensors and most recently virtual reality. He has written production code every day in many programming languages such as C, C++, C#, Python, Java, Delphi, Javascript and even Cobol and PowerBuilder for operating systems such as Windows (3.11 through 7), Linux, Mac OSX, Lynx (embedded) and Sony Playstation. His technical expertise includes databases, low-level networking, distributed systems, unorthodox user interfaces and general software development life cycle.
Comment and Contribute

 

 

 

 

 


(Maximum characters: 1200). You have 1200 characters left.

 

 

Sitemap
Thanks for your registration, follow us on our social networks to keep up-to-date