Our research, knowledge, thoughts, and recommendations about building and leading businesses on the Internet.
This summer I was fortunate enough to be able to join Anant. Coming from primarily a research background, I had little experience of how companies run. This was a great experience for me in learning about the development cycle, how companies streamline workflow, and much, much more about day-to-day operations. And of course, meeting the team at Anant was incredible and I met some fantastic people who taught me a lot, from getting ready to go to college to general life advice.
While here, I specifically worked on the Mindy project. Mindy aims to aggregate different types of listings, such as jobs, skills, or companies, and categorize them to automatically generate connections. This summer, we focused on stage 1, which involves scraping job listings from as many sites as possible and then extracting information. This extracted information, such as social media tags and the type of the listing can be used for the pairing portion when combined with algorithms that do similar tasks for other types of data.
While I had done data science and machine learning before, I had never created a front-end display or a pipeline for the whole process like I had to do for Mindy. As a result, I got to explore some very cool technologies like elasticsearch and React to create a complete product. I also was able to go much more into depth in natural language processing, as I wrote about in a previous blog post.
At the end, I was able to help create a system that can automatically scrape information from multiple websites, process it, extract additional information from descriptions, and categorize it. This was all placed into a slick front-end, allowing for easy searching of jobs. And then came docker. Perhaps one of the more daunting and involved things I’ve done, learning to dockerize and deploy was quite a challenge. However, at the end, we were able to do it all successfully, giving easy pushing to servers and letting anyone, anywhere, use our platform in a handful of minutes.
Beyond Mindy, I learned a lot about how a business operates. Seeing how agile works, with sprints and trello integration, was a really new process to me and I was amazed at how effectively it was able to aid communication. It was also very interesting to work in a professional environment and the Anant weekly co-works were very cool.
This last summer was an experience I will never forget. From freezing with a broken AC to eating lunch by the canal to getting eaten alive from mosquitos, I wouldn’t miss a single moment of it. Anant taught me how to run a business, and how to run it well.
Docker is a technology that has the potential to transform the business of delivering software applications across a variety of industries. Not only that, but it will also greatly change the way that businesses view their enterprise architecture as it relates to their business strategy. With a fully dockerized application deployment environment, companies will be able to iterate, deliver, test, and QA their software products at a speed like never before.
Without the use of Docker, software development can quickly become a quagmire of different software and hardware specifications that need to be followed to the T. Adhering to these specifications itself becomes a huge strain on your organization’s software developer’s time as they try to navigate all the different version of frameworks they’re using, what OS needs to be run for what, where the database is located – in a nutshell, as your software team grows, the complexity of the underlying technology stack they use will also grow and sooner or later they will face “The Matrix of Hell”:
Ideally, with a proper Docker deployment, your software team will no longer run into the “but in runs on my machine” problem and thus able to free up valuable resources to work on more pressing development issues. During our latest workshop we covered some of the first steps to get you or your organization started with using Docker, you can find a recording of part of the session below:
If you have any questions or feedback please don’t hesitate to reach out to me at email@example.com. If you’d like to learn more about how technology can help you and your business you sign up for one of a free Roadmap conversation here!
A: To make it easy to package and ship code.
Docker can be your assembly line for software production. If you’re building software with complex architecture, using software like Docker can significantly reduce the time for software development, testing, and deployment through the use of “containers”. For the client, this approach can significantly reduce software development costs, accelerate delivery cycles and launch times of ideas, and potentially decrease coding errors that hinder your services and hurt the bottom line. Docker is used by thousands of companies as part of their DevOps processes and its adoption is expected to continue to grow. Here are a few examples: Red Hat, Rackspace, Spotify, and more!
One of Docker’s great attributes is its ‘malleability.’ You can rapidly build things and tear them down if needed, enabling you to nimbly adapt when an urgent application deployment arises. Docker’s greatest utility is in situations where a client or project needs to quickly stand up a developing and testing environment, an application, and all the associated dependencies. We plan to show how we are using Docker internally and externally to service both our clients’ and our needs.
To a technologist, the beneficial aspects of Docker are clear; however, there are other benefits that accrue to the end user as well. First, the end user more than likely will not need to modify their hardware and software setup to accommodate Docker assembled applications. Applications will not force the user to restart the whole application or worry about ‘fluff’ filling their servers. Finally, the isolation feature inherent with Docker containers walls off the application while also reducing the draw on computing power providing some additional security advantages and better overall performance of computing platforms.
The workshop on 12/17 will focus on the technical side of using Docker. We will present Docker basics for both Linux and Windows, as well as doing a review of Docker Compose and other Docker tools. While we want everyone to know and share about how to use these features, we hope you can explain why Docker is being adopted and how end users also benefit.