Archive

Archive for the ‘Technology’ Category

The Phoenix Project: A Novel about IT, DevOps, and Helping Your Business Win

October 24th, 2016

phoenixproject The Phoenix Project is a tech novel. Yes, a fictional novel about an IT manager in a technology company, fixing the way IT works and saving the day.

Bill is an IT manager at Parts Unlimited. It’s Tuesday morning and on his drive into the office, Bill gets a call from the CEO.

The company’s new IT initiative, code named Phoenix Project, is critical to the future of Parts Unlimited, but the project is massively over budget and very late. The CEO wants Bill to report directly to him and fix the mess in ninety days or else Bill’s entire department will be outsourced.

With the help of a prospective board member and his mysterious philosophy of The Three Ways, Bill starts to see that IT work has more in common with manufacturing plant work than he ever imagined. With the clock ticking, Bill must organize work flow streamline interdepartmental communications, and effectively serve the other business functions at Parts Unlimited.

In a fast-paced and entertaining style, three luminaries of the DevOps movement deliver a story that anyone who works in IT will recognize.

I never had imagine there would be any fictional novel about IT. When I was recommended to this book, what I had in mind was some technical books like The Project Management Tool Kit – Tom Kendrick.
When I eventually got told that this is a novel, it intrigued me even more, and let me assure you that it is as interesting as watching a hacker movie.

While it doesn’t goes into details about technologies, gave the typical bad impression about developers and the glory of its Operations/Support manager (the protagonist – Bill), it had a good storyline of a wrecked company because of its mismanagement of IT department and how it went through a major revamp with emphasis on DevOps.

In a nutshell, I had higher expectations of this book especially about DevOps being the buzzword in recent years. However, I think in general it is good for managers or senior management who would like to learn how IT can be run better in an agile/Kanban/Toyota Way to deliver results. It highlights concepts for you to delve deeper if it makes sense for your organization and would definitely give traditional waterfall way of software development another fresh start.

Books, Technology

Developer Programs

April 3rd, 2015

There are many developer programs available for software/applications/mobile developers nowadays to support and enable developers to integrate or even build applications using their APIs .
Here’s a list, sourced from DZone, in alphabetical order:

  1. ActiveState Code – http://code.activestate.com/
  2. Amazon Developer – http://developer.amazon.com/public/community/blog
  3. Android Developer – http://developer.android.com/
  4. Apple iOS Developer – http://developer.apple.com/
  5. AT&T Developer Program – http://developer.att.com/
  6. AutoDesk Developer Network – http://usa.autodesk.com/adsk/servlet/index%3FsiteID%3D123112%26id%3D19118898
  7. Avaya DevConnect – http://avaya.com/devconnect
  8. BestBuy APIs – http://developer.bestbuy.com/
  9. Bluetooth SIG Developer Showcase – http://developer.bluetooth.org/
  10. Braintree Developer Program – http://developers.braintreepayments.com/
  11. Carriots – http://carriots.com/
  12. Cisco DevNet – http://developer.cisco.com/
  13. DocuSign Developer Program – http://docusign.com/devcenter
  14. Dolby Developer Program – http://developer.dolby.com/
  15. Embarcadero Developer Program – http://embarcadero.com/services/partners
  16. EMC CODE – http://emccode.github.io/
  17. EVRYTHNG Developers – http://dashboard.evrythng.com/developers/quickstart
  18. Facebook Developers – http://developers.facebook.com/blog
  19. Ford Developer Program – http://developer.ford.com/
  20. GitHub Developer Program – http://developer.github.com/changes/
  21. Google Developers – http://developers.google.com/
  22. IBM developerWorks – http://ibm.com/developerworks
  23. Intel DeveloperZone – http://software.intel.com/
  24. Intuit Developer – http://developer.intuit.com/
  25. Magnolia Community – http://community.magnolia-cms.com/
  26. MapR Developer Central – http://mapr.com/developercentral
  27. Microsoft BizSpark – http://microsoft.com/bizspark
  28. MongoDB Masters – http://mongodb.org/about/community/masters
  29. Mozilla Developer Network – http://developer.mozilla.org/
  30. MuleSoft //Dev – http://mulesoft.org/
  31. Oracle Technology Network – http://community.oracle.com/
  32. OutSystems Developer Community – http://outsystems.com/forums
  33. Philips Hue Developer Program – http://developers.meethue.com/
  34. Qualcomm Developer Network – http://developer.qualcomm.com/
  35. Rackspace Developer+ – http://developer.rackspace.com/
  36. Red Hat Enterprise Linux Developer Program – http://developer.redhat.com/rhel
  37. Red Hat JBoss Developer Program – http://planet.jboss.org/
  38. SalesForce Developers – http://developer.salesforce.com/
  39. Samsung Developer Program – http://samsungdevus.com/blog
  40. SAP Developer Program – http://developers.sap.com/
  41. Shopify Partner Program – http://shopify.com/partners
  42. Twitter Developers – http://dev.twitter.com/
  43. Verizon M2M Developer Program – http://m2mdeveloper.verizon.com/

 

Software, Technology

Getting Started with OpenShift – easy reference by Steven Pousty & Katie J. Miller

January 11th, 2015

With the advancement of cloud technologies, the options of PaaS (Platform as a Service) for web applications are aplenty. It also helps that there are many available selections to support Java.
Although Red Hat was placed in Gartner ‘Visionaries’ Magic Quadrant, Red Hat’s OpenShift platform is my preferred choice of PaaS at the moment.

OpenShift is a cloud computing platform as a service product from Red Hat. A version for private cloud is named OpenShift Enterprise.

The speed of developing and getting up and running for a product is absolutely crucial for a quick go-to-market advantage, hence any PaaS with the easiest use will have an upper hand over the rest.

For a newer platform like OpenShift, having a book like ‘Getting Started with OpenShift’ is one of the best way to get impatient beginners for a quick run hands-on experience with it. There are many other ways offered such as following the Getting Started – online version or simply the forums, but those are beside the point of this book review.

About The Authors

Steve Poutsy is a Developer Advocate for OpenShift. He has spoken at over 50 conferences and done over 30 workshops including Monktoberfest, MongoNY, JavaOne, FOSS4G, CTIA, AjaxWorld, GeoWeb, Where2.0, and OSCON. Before OpenShift, Steve was a developer evangelist for LinkedIn, deCarta, and ESRI.

Katie Miller is also a OpenShift Developer Advocate. Katie is a polyglot programmer with a penchant for Haskell. The functional programming enthusiast co-founded the Lambda Ladies online community and co-organizes the Brisbane Functional Programming Group. She is passionate about coding, open source, software quality, languages of all kinds, and encouraging more girls and women to pursue careers in technology.

About The Book

The book is meant as ‘A Guide For Impatient Beginners’ but I am glad to say it is not as brief a ‘Getting Started’ guide as any average technical books.

For anyone who doesn’t need any introduction about PaaS concepts, they can dive right in from Chapter 3 as the first couple of  chapters provide conceptual details about PaaS and the basics about cloud computing.

There are 2 important terms in OpenShift, gears and cartridges.

Gears are secure containers for your code. Each gear is allocated CPU, memory, disk, and network bandwidth. A single gear can be used to create an entire web application complete with a private database instance. Multiple gears can be used to create multiple applications or configure your applications to automatically scale in response to web traffic. There are currently three gear types on OpenShift Online: small, medium, and large. Each size provides 1 GB of disk space by default. The large gear has 2 GB of RAM, the medium gear has 1 GB of RAM, and the small and small.highcpu gears have 512 MB of RAM.

Cartridges are plug-ins added to a gear. Cartridges are the plug-ins that house the framework or components that can be used to create and run an application. One or more cartridges run on each gear, and the same cartridge can run on many gears for clustering or scaling. There is quite a list of supported cartridges and OpenShift also supports D-I-Y cartridges, which means most of the popular technologies that you need are already supported by default. Example cartridges are the application servers (Jboss, Tomcat, PHP, Ruby, Node.js, Perl), databases (MongoDB, MySQL, PostgreSQL), and integration tools (Jenkins, cron).

Due to the nature of cloud computing, secure access is important for the application to be accessed or managed. A sub-chapter is dedicated for this and there are sufficient resource in the online guide to get the setup done.

Advanced concepts are also covered in the later chapters of the book, such as storage (it’s shared hosting), websockets, backup options and team collaboration.

 

 

Table of Contents

1. Introduction
    What Is the Difference Between IaaS, PaaS, and SaaS?
    The Three Versions of OpenShift
    Choosing the Right Solution for You
    Things to Understand
        Words You Need to Understand
        Technology You Need to Understand
2. Creating Applications
    Preliminary Steps
    Setting Up the Command-Line Tools
    Creating Your First Application
    Autoscaling and Why You Should Use It by Default
    Reasons to Move to the Paid Tier
3. Making Code Modifications
    Cloning Code to Your Local Machine
    Modifying Application Code
    Building and Deploying Your Code
    Action Hook Scripts
    Hot-Deploying Code
4. Adding Application Components
    Database-Related Cartridges
    Nondatabase Cartridges
        Cron
        Continuous Integration
        Metrics and Monitoring
    Finding Cartridges and QuickStarts
        Adding Third-Party Cartridges
5. Environment and Application Management
    SSH Access
        Using SSH to Interact with a Database
        Importing SQL in an SSH Session
    Environment Variables
        Preconfigured Environment Variables
        Custom Environment Variables
        Overriding Preconfigured Environment Variables
    Log Access
    Changing Application Server or Database Settings
        Application Server Configuration Changes
        Database Configuration Changes
    Using Marker Files
6. Library Dependencies
    Where to Declare Dependencies
    Incorporating Your Own Binary Dependencies
    Modifying Your Application to Use the Database
        Code to Connect to the Database
        Code to Close the Database Connection
        Code to Query the Terms for the Insult
        What We Have Gained by Adding a Database
7. Networking
    WebSockets
    SSH Port Forwarding
    Custom URLs
    SSL Certificates
    Talking to Other Services
    Addressable Ports
8. Disk Usage
    Where You Can Write “to Disk”
    Determining How Much Disk Space Is Used
    Copying Files to or from Your Local Machine
    Other Storage Options
9. Backup
    Managing Deployments and Rollbacks
        Manual Deployments
        Keeping and Utilizing Deployment History
    Application Snapshots with RHC
    Backing Up Your Database
        Writing a Cron Script
        Moving Data off the Gear
10. Team Collaboration
    Managing Multiple SSH Keys
    Domain Access for Teams
    Possible Workflows
11. Summary
    What We Covered
    Other Areas to Explore
    Final Words
Appendix A. Basic Linux for Non-Linux Users

Conclusion

I’m going to make known that I do prefer OpenShift over many PaaS providers.

My preference of OpenShift over other PaaS competitors:
– Low barrier of entry, free tier with no credit card required
– A free tier provides 3 gears – that is 3 web applications hosting for free!
– Minimal technical restrictions, non-proprietary platform API or database
– Easy upgrade from free tier to paid tier, affordability
– Backed by a reputable technology corporation

My preferred key benefits from those listed on OpenShift website:
– Application portability
– Extensible cartridge system for adding services
– Automatic application stack provisioning and application scaling
– Choice of cloud infrastructure – preventing lock-in
– Minimized vendor lock-in – built on open source technologies

You can now download this book in ebook format for FREE or optionally you can purchase it from Amazon.com

Books, Java, Software, Technology , , , , ,